]> git.proxmox.com Git - grub2.git/blob - ChangeLog
grub-core/loader/i386/xen_fileXX.c: memory leak in grub_xen_get_infoXX
[grub2.git] / ChangeLog
1 2014-12-01 Andrei Borzenkov <arvidjaar@gmail.com>
2
3 * grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
4 memory leak (CID 73645, 73782).
5 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix memory leak
6 (CID 73635).
7
8 2014-11-30 Andrei Borzenkov <arvidjaar@gmail.com>
9
10 * grub-core/lib/syslinux_parse.c (free_menu): Do not free
11 inline array (CID 73610).
12
13 2014-11-28 Andrei Borzenkov <arvidjaar@gmail.com>
14
15 * grub-core/io/lzopio.c (test_header): Fix double free (CID 73665)
16 * grub-core/disk/geli.c (configure_ciphers): Fix memory leaks
17 (Coverity CID 73813, 73710)
18 * grub-core/disk/luks.c (configure_ciphers): Fix memory leaks
19 and use after free (Coverity CID 73813, 73710, 73730)
20 * grub-core/disk/luks.c (luks_recover_key): Fix memory leak (Coverity
21 CID 73854)
22 * util/grub-install-common.c (grub_install_get_target): Check return
23 value of grub_util_fd_read (Coverity CID 73819).
24 * util/grub-mkstandalone.c (add_tar_file): Fix out of bound access
25 to hd.magic (Coverity CID 73587, 73888, bug 43690).
26
27 2014-11-20 Andrei Borzenkov <arvidjaar@gmail.com>
28
29 * tests/util/grub-fs-tester.in: Consistently print output
30 of grub ls if test fails.
31
32 2014-11-07 Leif Lindholm <leif.lindholm@linaro.org>
33
34 * grub-core/kern/efi/init.c: check value of *path before
35 dereferencing.
36
37 2014-11-03 Michael Chang <mchang@suse.com>
38
39 * grub-core/net/icmp6.c (grub_net_recv_icmp6_packet): Fix size
40 of neighbor solicitation packet in grub_netbuff_pull.
41
42 2014-10-14 Andrei Borzenkov <arvidjaar@gmail.com>
43
44 * grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to
45 avoid fatal warnings with older gcc (probably before 4.7).
46 * grub-core/loader/arm64/linux.c: Likewise.
47 * grub-core/loader/i386/linux.c: Likewise.
48 * grub-core/loader/i386/pc/linux.c: Likewise.
49 * grub-core/loader/ia64/efi/linux.c: Likewise.
50 * grub-core/loader/mips/linux.c: Likewise.
51 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
52 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
53
54 2014-09-25 Colin Watson <cjwatson@ubuntu.com>
55
56 Fix in-tree --platform=none
57
58 * configure.ac: Only remove include/grub/cpu and
59 include/grub/machine in the --platform=none case, not all of
60 include/grub.
61
62 2014-09-23 Colin Watson <cjwatson@ubuntu.com>
63
64 Add a new "none" platform that only builds utilities
65
66 * configure.ac: Add "none" platform. Default to it for unsupported
67 CPUs rather than stopping with a fatal error. Don't downgrade
68 x86_64-none to i386. Define COND_real_platform Automake conditional
69 if the platform is anything other than "none". Don't do any include
70 directory linking for "none".
71 * Makefile.am: Skip building grub-core and all bootcheck targets if
72 !COND_real_platform.
73 * include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
74 is defined.
75
76 2014-09-22 Andrei Borzenkov <arvidjaar@gmail.com>
77
78 Use grub_cpu_to_XXX_compile_time for constants.
79
80 2014-09-21 Valentin Dornauer <valentin@unimplemented.org>
81
82 The AML parser implements only a small subset of possible AML
83 opcodes. On the Fujitsu Lifebook E744 this and another bug in
84 the parser (incorrect handling of TermArg data types) would lead
85 to the laptop not turning off (_S5 not found).
86
87 * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
88 in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
89 aren't always simply strings!); Add function to skip TermArgs
90 * include/grub/acpi.h: Add new opcodes
91
92 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/normal/main.c: Don't drop to rescue console in
95 case of password-protected prompt and no menu entries.
96
97 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/commands/keylayouts.c: Ignore unknown keys.
100
101 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/gmodule.pl.in: Accept newer binutils which output
104 empty column rather than 0x0.
105
106 2014-09-21 Michael Chang <mchang@suse.com>
107
108 * grub-core/osdep/unix/config.c: Remove extraneous comma.
109
110 2014-09-21 Peter Jones <pjones@redhat.com>
111
112 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
113 we don't free a random pointer from the stack.
114 * grub-core/loader/arm64/linux.c: Likewise.
115 * grub-core/loader/i386/linux.c: Likewise.
116 * grub-core/loader/i386/pc/linux.c: Likewise.
117 * grub-core/loader/ia64/efi/linux.c: Likewise.
118 * grub-core/loader/mips/linux.c: Likewise.
119 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
120 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
121
122 2014-09-15 Khem Raj <raj.khem@gmail.com>
123
124 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
125 _BSD_SOURCE to avoid warnings under glibc 2.20+.
126
127 2014-09-08 Michael Chang <mchang@suse.com>
128
129 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
130 check; comparing &data->extent against addresses in the region it
131 points to is unpredictable.
132
133 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
134
135 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
136
137 * configure.ac: Remove -m64 from checks for -mcmodel=large and
138 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
139 already in TARGET_CFLAGS at this point, and they produce incorrect
140 results when building for x32.
141 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
142 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
143 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
144 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
145
146 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
147
148 * configure.ac: Remove several unnecessary semicolons.
149
150 2014-08-25 Colin Watson <cjwatson@ubuntu.com>
151
152 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
153 Initialise pend to pacify GCC.
154
155 2014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
156
157 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
158 gettext_printf).
159
160 2014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/term/at_keyboard.c: Retry probing keyboard if
163 scancode setup failed.
164
165 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
168
169 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
172 safety to avoid triggerring VirtualBox bug.
173
174 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
177
178 Fixes hang on virtualbox.
179
180 2014-07-08 Colin Watson <cjwatson@ubuntu.com>
181
182 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
183 kernels whose paths contain regex metacharacters.
184 * util/grub.d/10_kfreebsd.in: Likewise.
185 * util/grub.d/10_linux.in: Likewise.
186 * util/grub.d/20_linux_xen.in: Likewise.
187
188 Reported by: Heimo Stranner.
189
190 2014-06-26 Colin Watson <cjwatson@ubuntu.com>
191
192 * docs/grub-dev.texi (Finding your way around): The build system no
193 longer uses AutoGen directly.
194
195 2014-06-21 Роман Пехов <roman_pekhov>
196
197 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
198
199 2014-06-21 Glenn Washburn <development@efficientek.com>
200
201 * util/grub-install.c: Fix handling of --disk-module.
202
203 2014-06-21 Stephane Rochoy <sheda>
204
205 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
206 EFI system table.
207
208 2014-06-21 Stephane Rochoy <sheda>
209
210 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
211 EFI system table physical address.
212
213 2014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
214
215 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
216
217 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
220
221 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
224 check.
225
226 2014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
229
230 Reported by: Yves Blusseau <blusseau@zetam.org>.
231
232 2014-04-20 Piotr Krysiuk <piotras@gmail.com>
233
234 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
235 GDT in conventional memory.
236
237 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
238
239 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
240 UUID. Other parts of grub-mkconfig tolerate these, they were
241 previously allowed here up to commit
242 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
243 practice when the system has active LVM snapshots.
244 Fixes Ubuntu bug #1287436.
245
246 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
247
248 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
249 "logical_volumes" block a little more accurately.
250
251 2014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
254
255 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
258 pulled from libgcc.
259
260 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
261
262 Replace few instances of memcmp/memcpy in the code that should be
263 grub_memcmp/grub_memcpy.
264
265 2014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
268 device names.
269
270 2014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
271
272 btrfs: fix get_root key comparison failures due to endianness
273
274 * grub-core/fs/btrfs.c (get_root): Convert
275 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
276
277 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
278
279 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
280
281 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
282 no longer to be forgiving of trailing spaces on grub-probe output
283 lines, which among other things means that util/grub.d/10_linux.in
284 no longer detects LVM. To fix this, make grub-probe's output
285 delimiting more consistent. As a bonus, this improves the coverage
286 of the -0 option.
287
288 Fixes Debian bug #735935.
289
290 * grub-core/disk/cryptodisk.c
291 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
292 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
293 Likewise.
294 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
295 Update prototype.
296 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
297 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
298 probe_mods): Adjust for extra user-data arguments.
299 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
300 probe_abstraction): Use configured delimiter. Update callers.
301
302 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
303
304 * util/grub-probe,c (options): Make -0 work again (broken by
305 conversion to argp).
306 (main): Simplify logic.
307
308 2014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
311
312 2014-03-26 Fu Wei <fu.wei@linaro.org>
313
314 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
315
316 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
319 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
320
321 Suggested by: Markus Müller.
322
323 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
326 if E820 failed to return any regions.
327
328 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
331 tables for low memory calculations.
332
333 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
336 location to 640K.
337
338 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
341 region.
342
343 2014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
346 exclusively.
347
348 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
349
350 Add bootpath parser for open firmware.
351
352 It enables net boot even when there is no bootp/dhcp server.
353
354 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
355 and call it at grub_ieee1275_net_config_real.
356 * grub-core/kern/ieee1275/init.c: Add bootpath to
357 grub_ieee1275_net_config.
358 * include/grub/ieee1275/ieee1275.h: Likewise.
359
360
361 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
362
363 Add grub_env_set_net_property function.
364
365 * grub-core/net/bootp.c: Remove set_env_limn_ro.
366 * grub-core/net/net.c: Add grub_env_set_net_property.
367 * include/grub/net.h: Likewise.
368
369 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
372
373 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
376
377 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
380 7 seconds to recover if last poweroff was bad.
381
382 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/disk/ahci.c: Properly handle transactions with no
385 transferred data.
386
387 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/disk/ahci.c: Add safety cleanups.
390
391 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
394 slots to avoid pointing to uninited area.
395
396 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
399 enabling busmaster for the end.
400
401 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * util/grub-mkfont.c: Downgrade warnings about unhandled features
404 to debug.
405
406 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
409
410 2014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
411
412 * .gitignore: add missing files and .exe variants.
413
414 2014-01-26 Mike Gilbert <floppym@gentoo.org>
415
416 grub-install: support for partitioned partx loop devices.
417
418 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
419 /dev/loopX as being the parent of /dev/loopXpY.
420
421 2014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
424 Ensure that pointers are inited to NULL and that pointers are not
425 accessed after free.
426
427 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
428
429 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
430 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
431 * include/grub/emu/misc.h: ... and here.
432 * include/grub/err.h: ... and here.
433 * util/import_gcry.py: ... and here (in files g10lib.h).
434
435 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
436
437 * util/grub-mkimage.c: Make prefix argument mandatory.
438
439 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
440
441 Fix several translatable strings.
442
443 Suggested by: D. Prévot.
444
445 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * util/grub-install.c: List available targets.
448
449 2014-01-23 Colin Watson <cjwatson@ubuntu.com>
450
451 * util/grub-install.c (write_to_disk): Add an info message.
452
453 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
454
455 * Makefile.am: Allow adding extra files to generated Windows ZIP
456 archive by setting GRUB_WINDOWS_EXTRA_DIST.
457
458 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
459
460 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
461 Show detected font path in summary.
462
463 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
464
465 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
466 interval gradually.
467 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
468 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
469 * grub-core/net/tftp.c (tftp_open): Likewise.
470 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
471
472 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
473
474 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
475 infinite loops.
476
477 In net/net.c there is a while (1) that only exits if there is a stop
478 condition and more then 10 packages or if there is no package received.
479
480 If GRUB is idle and enter in this loop, the only condition to leave is
481 if it doesn't have incoming packages. In a network with heavy traffic
482 this never happens.
483
484 2014-01-19 Colin Watson <cjwatson@ubuntu.com>
485
486 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
487 EPERM when modifying kern.geom.debugflags. It is only a problem for
488 such things as installing GRUB to the MBR, in which case there'll be
489 an error later anyway, not for opening files during tests.
490
491 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
492
493 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
494 instead of MOD_FILES.
495 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
496 both with and without .exe.
497 * grub-core/genemuinitheader.sh: Same.
498
499 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * util/grub-install.c: Fix a typo.
502
503 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/normal/main.c (read_config_file): Buffer config file.
506 Reduces boot time.
507
508 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
509
510 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
511 symbolic link to directory. It fails in Msys shell on Windows 2003.
512
513 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * Makefile.am (default_payload.elf): Add modules
516 multiboot cbmemc linux16 gzio echo help.
517
518 2014-01-18 Mike Gilbert <floppym@gentoo.org>
519
520 * Makefile.util.def: Link grub-ofpathname with zfs libs.
521
522 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
525 conflicts.
526
527 Reported by: Andrey Borzenkov.
528
529 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
530
531 * include/grub/misc.h: Move macros for compiler features to ...
532 * include/grub/compiler.h: ... new file.
533 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
534 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
535 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
536 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
537 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
538 * grub-core/video/capture.c: Include <grub/misc.h>.
539 * include/grub/command.h: Include <grub/misc.h>.
540 * include/grub/dl.h: Include <grub/misc.h>.
541 * include/grub/procfs.h: Include <grub/misc.h>.
542
543 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
544
545 * configure.ac: Add support for BUILD_EXEEXT and use it ...
546 * Makefile.am: ... here.
547 * Makefile.util.def: ... and here.
548 * grub-core/Makefile.am: ... and here.
549
550 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
551
552 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
553 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
554
555 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/term/terminfo.c: Recognize keys F1-F12.
558
559 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
560
561 * configure.ac: Add support for BUILD_LDFLAGS.
562 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
563 * grub-core/Makefile.am: ... and here.
564 * INSTALL: Mention BUILD_LDFLAGS.
565
566 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
569
570 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
573 and has no //.
574
575 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * NEWS: Add few missing entries.
578
579 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
580
581 * util/grub.d/00_header.in (make_timeout): Use && rather than test
582 -a.
583 * util/grub.d/10_windows.in: Likewise.
584 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
585 than test -o.
586 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
587 rather than test -o.
588
589 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
590
591 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
592 redundant preprocessor conditional.
593
594 2014-01-08 Colin Watson <cjwatson@ubuntu.com>
595
596 * Makefile.util.def (grub-macbless): Change mansection to 8.
597
598 2014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
599
600 * grub-core/loader/arm64/linux.c: correctly set device path end length.
601
602 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
603
604 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
605 arm64 to comply with EFI specification. Also use grubaa64.efi for
606 consistency.
607 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
608
609 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
610
611 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
612 on MinGW-64 when compiling for 32 bits.
613
614 2013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
615
616 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
617
618 2013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * NEWS: Add few missing entries. Correct existing ones.
621
622 2013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
623
624 Don't abort() on unavailable coreboot tables if not running on coreboot.
625
626 2013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
627
628 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
629 on mingw.
630
631 2013-12-28 Colin Watson <cjwatson@ubuntu.com>
632
633 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
634 mention of it from 2.02.
635
636 2013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
639
640 As these functions are used on pre-ARMv6 CPUs as well we don't want
641 to make assembler assume that architecture is higher than default one.
642
643 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
644
645 * NEWS: First draft of 2.02 entry.
646
647 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
648
649 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
650 * docs/grub.texi (Getting the source code): Likewise.
651
652 2013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
653
654 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
655 detection.
656
657 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * configure.ac: Set version to 2.02~beta2.
660
661 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
664
665 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
666
667 * util/grub-probe.c: Improve help message and simplify list handling.
668
669 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Fix buffer overflow in grub_efi_print_device_path.
672
673 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Show SATA device path.
676
677 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
678
679 Revert grub-file usage in grub-mkconfig.
680
681 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
682
683 Make newly-created files other than grub.cfg world-readable.
684
685 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
686
687 * util/grub.d/00_header.in: Improve compatibility with old config.
688
689 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
690
691 Make rijndael.c respect aliasing rules.
692
693 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
694
695 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
696
697 Make grub_util_device_is_mapped_stat available in grub-emu core.
698
699 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
700
701 Add -Qn to TARGET_CFLAGS if it's supported.
702 Fixes compilation on cygwin.
703
704 Reported by: Andrey Borzenkov.
705 Suggested by: Andrey Borzenkov.
706
707 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
708
709 Save TARGET_CC version in modinfo.sh.
710
711 Suggested by: Andrey Borzenkov.
712
713 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
714
715 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
716 follow the same algorithm to avoid method mismatch. Don't assume
717 DMRAID- UUID to mean full disk but instead check that mapping is linear.
718
719 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
720
721 Declare GRUB_EFI_VENDOR_APPLE_GUID.
722
723 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
724
725 Dump type and vendor specific data when printing device path.
726
727 2013-12-23 Colin Watson <cjwatson@debian.org>
728
729 Update some documentation to refer to Git rather than Bazaar.
730
731 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
732 than Bazaar.
733 * po/README: Likewise. Fix spelling mistake.
734
735 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
736
737 Don't distribute config.h.
738
739 * Makefile.am (platform_HEADERS): Move to ...
740 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
741 failure when building from a distributed tarball.
742
743 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
744
745 * configure.ac: Fix spelling.
746 * grub-core/commands/parttool.c: Fix grammar.
747 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
748 Embedding Partition".
749
750 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
751
752 ARM64 support for grub-mkrescue.
753
754 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
755
756 Install modinfo.sh to keep build information around.
757
758 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/modinfo.sh.in: Add build config information.
761
762 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
763
764 ARM64 grub-file and grub-mkconfig support.
765
766 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
767
768 Remove leftover options defines.
769
770 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
773
774 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/loader/arm64/linux.c: Add missing bracket.
777
778 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
779
780 Add arm64-efi recognition to grub-file.
781
782 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
783
784 Fix ia64-efi recognition in grub-file.
785
786 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
787
788 Recognize raspberry pi kernel in grub-file.
789
790 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
791
792 Enable cache on ARM U-Boot port.
793
794 Without it the port is reidiculously slow.
795
796 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
797
798 Fix ARM cache maintainance.
799
800 More code was converted from ASM to C for easier handling.
801
802 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
805 algorithm on v5.
806
807 Suggested by: Leif Lindholm.
808
809 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
810
811 * util/grub-mkconfig.in: Fix Xen platform conditions.
812
813 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
814
815 * util/grub-mkrescue.c: Split single help message string in several
816 strings used in previous shell version.
817
818 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
819
820 Add arm64 Linux loader.
821
822 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
823
824 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
825
826 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
827
828 Add module loading and parsing boot time checkpoints.
829
830 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
833 platforms.
834
835 2013-12-22 Lars Wendler <polynomial-c@gentoo.org>
836
837 * util/grub-mkconfig.in: Skip non-executable files.
838
839 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Workaround buggy timer in raspberry pie by using our own timer
842 implementation.
843
844 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
847 Increase to 16 MiB to allow loading the whole memdisk.
848
849 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Fix ARM Linux Loader on non-FDT platforms.
852
853 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * configure.ac: Choose link format based on host_os on emu.
856
857 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
860
861 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/kern/emu/main.c: Build fix for emu.
864
865 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
866
867 Build fixes for argp.h with older gcc.
868
869 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
872 in strings.
873
874 Suggested by: David Prévot.
875
876 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
879
880 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
881
882 Enable -Wformat=2 if it's supported.
883
884 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
887 -Wmissing-declarations if supported.
888
889 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
892 u32 as both HFS and HFS+ have 32-bit inodes.
893
894 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * include/grub/misc.h (grub_strtol): Fix overflow.
897
898 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
901 as return type in both conditionals.
902
903 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
906 to use uint8_t for color.
907
908 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * util/misc.c (grub_util_get_image_size): Check for overflow.
911
912 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
915 for size.
916
917 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
920 for pointer difference.
921
922 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * util/import_gcry.py: Skip sample keys.
925
926 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
929
930 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * configure.ac: Remove duplicate warning arguments.
933
934 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
935
936 Add missing static qualifiers.
937
938 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Add missing includes.
941
942 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
943
944 Inline printf templates when possible to enable format checking.
945
946 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * include/grub/crypto.h: Don't discard const attribute.
949
950 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
953 was intended.
954
955 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/lib/crypto.c: Don't discard const attribute.
958
959 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/lib/disk.c: Fix potential overflow.
962
963 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/lib/arg.c: Don't discard const attribute.
966
967 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/kern/dl.c: Don't discard const attribute.
970
971 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/kern/disk.c: Fix potential overflow.
974
975 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * conf/Makefile.common: Don't include non-existing directory
978 grub-core/lib/libgcrypt-grub/include.
979
980 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Clarify several translatable messages.
983
984 2013-12-21 David Prévot <david@tilapin.org>
985
986 Correct some translatable strings.
987
988 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
989
990 * util/grub-mkrescue.c: Rephrase mkrescue description.
991
992 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
993 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
994
995 Clarify several translatable messages.
996
997 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
998
999 Be more verbose about some configure failures.
1000
1001 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
1002
1003 Fix various build problems on GNU/Hurd.
1004
1005 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
1006 !defined (__GNU__).
1007 (xgetcwd): Likewise.
1008 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
1009 [__GNU__]: Add prototype.
1010 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
1011 long int using %ld rather than %d.
1012
1013 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * util/grub-install.c: Inform user about install platform.
1016
1017 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * configure.ac: Set version to 2.02~beta1.
1020
1021 2013-12-18 Allen Pais <allen.pais@oracle.com>
1022 2013-12-18 Bob Picco <bob.picco@oracle.com>
1023
1024 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
1025
1026 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 Make grub_zlib_decompress handle incomplete chunks.
1029
1030 Fixes squash4.
1031
1032 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
1035 on i386-multiboot.
1036
1037 2013-12-18 Aleš Nesrsta <starous@volny.cz>
1038
1039 * grub-core/disk/usbms.c: Retry on unknown errors.
1040 Reuse the same tag on retries.
1041
1042 2013-12-18 Aleš Nesrsta <starous@volny.cz>
1043
1044 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
1045
1046 Avoid confusing them with already completed transfers.
1047
1048 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 Remove xen VFB.
1051
1052 Due to XEN bug it prevents Linux boot. Remove it at least, until
1053 workaround is found.
1054
1055 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * po/exclude.pot: Add 2 missing excludes.
1058
1059 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 Add missing license section in macbless.mod and macho.mod.
1062
1063 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 Allow compilation without thumb-interwork as long as no thumb is
1066 involved or only thumb2 is used.
1067
1068 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * INSTALL: Update comment as to why sparc64 clang isn't usable.
1071
1072 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 Add __attribute__ ((sysv_abi)) only if it's really needed.
1075
1076 Some compilers don't support it.
1077
1078 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
1081
1082 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 Remove -Wold-style-definition.
1085
1086 Not very useful and interaction of it with regexp depends on GCC
1087 version.
1088
1089 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 Make grub_util_get_windows_path_real static.
1092
1093 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/commands/fileXX.c: Silence cast-align.
1096 * grub-core/loader/i386/xen_fileXX.c: Likewise.
1097
1098 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
1101 rather than LL suffix.
1102
1103 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1106
1107 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/loader/arm/linux.c: Use common initrd functions.
1110
1111 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 Decrease number of strings to translate.
1114
1115 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1118
1119 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 Mark strings for translation and add remaining ones to exclude list.
1122
1123 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * util/grub-file.c (main): Fix sizeof usage.
1126
1127 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 Silence spurious warning.
1130
1131 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 Remove check_nt_hiberfil as it's been superseeded by file command.
1134
1135 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1138
1139 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 Implement syslinux parser.
1142
1143 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1146
1147 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Support cpuid --pae.
1150
1151 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 Use AT keyboard on Yeeloong 3A.
1154
1155 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 Add Yeeloong 3A reboot and halt.
1158
1159 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 Add Radeon Yeeloong 3A support.
1162
1163 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 Add bonito 3A support.
1166
1167 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1170
1171 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1174
1175 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/loader/macho.c: Fix compilation on non-i386.
1178
1179 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 Add missing format_arg attribute to check that printf with translated
1182 messages has proper arguments.
1183
1184 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 Use grub_xasprintf to format translated error messages containing
1187 64-bit quantity.
1188
1189 2013-12-17 Jon McCune <jonmccune@google.com>
1190
1191 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1192
1193 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 Unify message for unsupported relocation.
1196
1197 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 Mark miscompile error for translation.
1200
1201 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Use %I64 and not %ll when using OS printf if compiling for windows.
1204
1205 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 Update Mac code to match new register_efi prototype.
1208
1209 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 Implement better integration with Mac firmware.
1212
1213 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1216 load_addr.
1217
1218 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 Include serial module in default_payload.elf.
1221
1222 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 Add explicit thumb interwork bx in asm files.
1225
1226 Shouldn't matter for armv >= 5 but let's be safe.
1227
1228 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 Implement Truecrypt ISO loader.
1231
1232 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1235
1236 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 Implement grub_file tool and use it to implement generating of config
1239 in separate root.
1240
1241 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 Change to v1 xen grants.
1244
1245 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1248
1249 GRUB relied on %ebx being preserved across hypercall which isn't true.
1250
1251 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1254
1255 GRUB relied on %rdi being preserved across hypercall which isn't true.
1256
1257 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 Implement XEN VFB support.
1260
1261 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 Remove grub_bios_interrupt on coreboot.
1264
1265 It's not used currently and cannot be used safely currently.
1266
1267 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 Update exclude.pot and mark few strings for translation.
1270
1271 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1274
1275 Reported by: Jon McCune
1276
1277 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1278
1279 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1280 Add verbose information which firmware directories were tried.
1281
1282 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1283
1284 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1285 function to optionally redirect all three standard descriptors.
1286 Redefine grub_util_exec, grub_util_exec_redirect and
1287 grub_util_exec_redirect_null to use it.
1288 * include/grub/emu/exec.h: Define it.
1289 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1290 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1291 Use grub_util_exec_redirect_all to redirect error to NULL.
1292
1293 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/tests/sleep_test.c: Silence spurious warning.
1296
1297 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1300 linker trying to "fixup" the code.
1301
1302 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1305
1306 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 Add support for converting PE+ to Elf64.
1309
1310 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1313
1314 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 Remove practice of assigning random const pointers to device id.
1317
1318 This is not required as cache code already checks driver id as well.
1319
1320 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1323 with mingw.
1324
1325 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1328 mingw or cygwin as API already matches.
1329
1330 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1333
1334 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1337 not on long.
1338
1339 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 Handle X86_64_PC64 relocation.
1342
1343 Those are generated by some cygwin compilers.
1344
1345 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 Determine the need for mingw-related stubs at compile time rather than
1348 using not very significant $target_os.
1349
1350 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1353 may not work with ELF.
1354
1355 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 Use unix functions for temporary files and special files on cygwin.
1358
1359 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 Define functions explicitly rather than using --defsym in tests
1362 whenever possible. Respect locality in remaining cases.
1363
1364 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1367
1368 2013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1369
1370 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1371 unlikely errors when getting EFI variables and make exhaustive search
1372 for all BootNNNN variables to find matching one.
1373
1374 2013-12-15 Ian Campbell <ijc@hellion.org.uk>
1375
1376 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1377
1378 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 New functional test for sleep function.
1381
1382 This test allows to check sleep without qemu. Keep qemu version as
1383 well as functional test won't notice if all clocks are going too fast
1384 or too slow.
1385
1386 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 Add explicit sysv_abi on amd64 asm routines.
1389
1390 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1393 num_table_entries.
1394
1395 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1398 functions.
1399
1400 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1403 appropriate.
1404
1405 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1408
1409 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1412 appropriate.
1413
1414 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1417
1418 In case of quick removal of loopback and adding another one it may
1419 get same ID, confusing the cache system.
1420
1421 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1424 appropriate.
1425
1426 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1429 than converting to long.
1430
1431 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1434
1435 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1438 than almost useless pointer.
1439
1440 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 Add gcc_struct to all packed structures when compiling with mingw.
1443
1444 Just "packed" doesn't always pack the way we expect.
1445
1446 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1449
1450 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * util/grub-pe2elf.c: Fix handling of .bss.
1453
1454 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Implement windows flavour of EFI install routines.
1457
1458 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1461
1462 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 Change grub_install_register_efi interface to pass GRUB device.
1465
1466 This allows grub_install_register_efi to request partition info
1467 directly.
1468
1469 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1472
1473 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 Do not use TCHAR string functions as they are not available on cygwin.
1476
1477 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 Workaround windows bug when querying EFI system partition parameters.
1480
1481 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1484 by using bitfields.
1485
1486 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1489
1490 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 Make i386-* other than i386-pc compileable under cygwin.
1493
1494 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 Fix definition of grub_efi_hard_drive_device_path. Take care that
1497 existing code would work even if by some reason bogus definition is
1498 used by EFI implementations.
1499
1500 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1503
1504 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1507 invocation.
1508
1509 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * util/config.c: Remove trailing newline from distributor in simple
1512 parsing.
1513
1514 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * include/grub/efi/api.h: Rename protocol and interface to avoid
1517 conflict.
1518
1519 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * .gitignore: add .exe variants. add missing files. remove few outdated
1522 entries.
1523
1524 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/osdep/exec.c: Use unix version on cygwin.
1527
1528 2013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 Implement multiboot2 EFI BS specification.
1531
1532 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1535 Crash happened only in some cases like a string starting at the
1536 half of the screen of same length.
1537
1538 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1541 with EFI counterpart.
1542
1543 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 Propagate the EFI commits to x86-efi specific parts.
1546
1547 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1550
1551 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 Introduce grub_efi_packed_guid and use it where alignment is not
1554 guaranteed.
1555
1556 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1559 unaligned u16 rather than u8[2].
1560
1561 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1564 for relocation range.
1565
1566 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1569 non-function pcrel21b relocation. It happens with .text.unlikely
1570 section.
1571
1572 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1573
1574 * make MAX_USABLE_ADDRESS platform-specific
1575 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1576
1577 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1578
1579 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1580
1581 2013-12-09 Jon McCune <jonmccune@google.com>
1582
1583 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1584 in grub-install and grub-bios-setup for x86 BIOS targets.
1585
1586 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 Add missing compile and link options for sparc64-emu.
1589
1590 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 Implement sparc64 trampolines (needed for sparc64-emu).
1593
1594 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1597 range of R_SPARC_HI22.
1598 Implement R_SPARC_LM22.
1599
1600 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1603 Do not explicitly check for symbol table as it's already checked in
1604 platform-independent layer.
1605
1606 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1609 on ia64 as __clear_cache is a dummy on ia64.
1610
1611 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1614 Do not explicitly check for symbol table as it's already checked in
1615 platform-independent layer.
1616
1617 2013-12-09 Colin Watson <cjwatson@ubuntu.com>
1618
1619 * util/grub-mkconfig.in: Add missing newline to output.
1620
1621 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1624 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1625
1626 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1629 compilation with GCC <= 4.2.
1630 * grub-core/kern/emu/argp_common.c: Likewise.
1631
1632 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1635 right platform rather than leaking to sparc64-emu.
1636
1637 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1640 But ensure that the variables in question are indeed unsigned.
1641
1642 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1645
1646 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 Remove grub_memalign on emu.
1649
1650 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1653 truncate incomplete lines but instead flushes them.
1654
1655 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1658 and implement windows variant.
1659
1660 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 Fix mips-emu compilation.
1663
1664 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * configure.ac: Check for freetype library usability.
1667
1668 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 Make arm-emu work.
1671
1672 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1675
1676 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1677
1678 * docs/grub.texi (Environment): Update color_normal and color_highlight
1679 defaults (light-gray instead of white).
1680
1681 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1682
1683 * grub-core/normal/main.c (INIT): Set default color to light-gray
1684 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1685 and apparently BIOS defaults.
1686
1687 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 Transform -C option to grub-mkstandalone to --core-compress available
1690 in all grub-install flavours.
1691
1692 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 Merge GRUBFS and GRUB_FS variables.
1695
1696 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1697
1698 Revert commit 69ca97c820, it caused failures when using OS device name
1699 in grub-install. Instead just strip off parenthesis in grub-install
1700 if (hdX) was passed.
1701
1702 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1703
1704 * util/grub-install.c (push_partmap_module): Add helper to convert
1705 partmap names to module names and use it in probe_mods(). Fixes
1706 failure to find partmap modules in diskfilter case.
1707
1708 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * configure.ac: Make unifont mandatory on coreboot.
1711
1712 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * configure.ac: Skip unifont 6.3 pcf and bdf.
1715
1716 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * Makefile.am: Remove partial font files if generation failed.
1719
1720 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1721
1722 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1723 strings.
1724 * include/grub/util/misc.h: Define it ...
1725 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1726
1727 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1728
1729 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1730 ${grub_probe}.
1731
1732 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 Don't add -mlong-calls when compiling with clang.
1735
1736 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * configure.ac: Fix a typo.
1739
1740 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 Revamp relocation handling.
1743
1744 Move more code to common dl.c. Add missing veneers for arm and arm64.
1745 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1746
1747 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1750
1751 2013-12-05 Mike Gilbert <floppym@gentoo.org>
1752
1753 * INSTALL: Raise minimum python version to 2.6.
1754 * gentpl.py: Use python3-style print function.
1755
1756 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * util/grub-install.c: Mention Boot* variable.
1759
1760 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1761
1762 * grub-core/osdep/linux/hostdisk.c
1763 (grub_util_find_partition_start_os): Initialise start to avoid
1764 spurious compiler warning.
1765
1766 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1767
1768 On Linux, read partition start offsets from sysfs if possible, to
1769 cope with block device drivers that don't implement HDIO_GETGEO.
1770 Fixes Ubuntu bug #1237519.
1771
1772 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1773 function.
1774 (sysfs_partition_start): Likewise.
1775 (grub_util_find_partition_start_os): Try sysfs_partition_start
1776 before HDIO_GETGEO.
1777
1778 2013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1779
1780 * grub-core/kern/fdt.c: Update struct size when adding node.
1781
1782 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 Handle unaligned .bss on sparc64.
1785
1786 Current code improperly assumes that both __bss_start and _end are
1787 aligned to 8-bytes. Eliminating this assumption and explicitly align
1788 modules.
1789
1790 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1793 so it doesn't land in the middle of loaded image.
1794
1795 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * configure.ac: Move all warning options that may be absent in
1798 gcc >= 3.1 to optional.
1799
1800 Note: while this allows to compile with older GCC, official requirements
1801 remain the same and no support for older GCC.
1802
1803 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
1804
1805 Copying the themes directory in grub-shell isn't
1806 parallel-test-friendly and breaks on the second test when the source
1807 directory is read-only (as in "make distcheck"). Instead, add a
1808 hidden --themes-directory option to grub-mkrescue et al, and use it
1809 in grub-shell.
1810
1811 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1814 as it's no longer necessarry.
1815
1816 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * configure.ac: Allow compilation with older GCC for ARM.
1819
1820 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1823 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1824 ppc.
1825
1826 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1829
1830 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 Pass font config to config.h and not by TARGET_CFLAGS as adding
1833 arguments doesn't work if TARGET_CFLAGS is specified on command
1834 line.
1835
1836 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * configure.ac: Add -Wvla if compiler supports it.
1839
1840 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1843 Remove variable length arrays.
1844 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1845
1846 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1849
1850 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * include/grub/types.h: Declare all byteswaps as inline functions
1853 except compile-time ones.
1854
1855 Solves variable shadowing in constructions like
1856 cpu_to_le (le_to_cpu(x) + 1).
1857
1858 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1861
1862 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1865 minutes.
1866
1867 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1870 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1871
1872 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1873
1874 * grub-core/Makefile.core.def (setjmp): Distribute
1875 lib/arm64/setjmp.S.
1876
1877 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1878
1879 Add a new timeout_style environment variable and a corresponding
1880 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1881 controls hidden-timeout handling more simply than the previous
1882 arrangements, and pressing any hotkeys associated with menu entries
1883 during the hidden timeout will now boot the corresponding menu entry
1884 immediately.
1885
1886 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1887 generates a warning, and if it shows the menu it will do so as if
1888 the second timeout were not present. Other combinations are
1889 translated into reasonable equivalents.
1890
1891 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1892
1893 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * util/config.c: Add missing pointer adjustment.
1896 Reported by: qwertial
1897
1898 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1899
1900 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1901 directly, not via `cpu' link, to fix libgrub.pp generation.
1902
1903 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1904
1905 New port arm64-efi.
1906
1907 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1908
1909 * docs/grub.texi (sleep): Document exit codes.
1910
1911 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 Ensure that -mno-unaligned-access or some equivalent option is used.
1914
1915 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1918 -march=armv3.
1919
1920 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1923
1924 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1925
1926 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1927 builds, since we don't have an EPS version of font_char_metrics.png.
1928 Add leading dot to image extension per the Texinfo documentation.
1929
1930 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1931
1932 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1933 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1934 * util/grub-gen-widthspec.c: Likewise.
1935 * util/grub-mkfont.c: Likewise.
1936
1937 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1938
1939 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1940 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1941 failed to install on (hdX).
1942 * util/grub-setup.c (get_device_name): Remove, not needed after
1943 above change.
1944
1945 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1948
1949 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * util/grub-fstest.c: Remove variable length arrays.
1952
1953 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1956
1957 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1960 computing crc32 rather than handling with md fundtions directly.
1961
1962 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1965 checking fwstart.img rather than md fundtions directly.
1966
1967 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * util/grub-mkrescue.c (main): Check that fread succeeded.
1970
1971 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * conf/Makefile.common: Remove -mexplicit-relocs and
1974 -DUSE_ASCII_FALLBACK on yeeloong.
1975
1976 -DUSE_ASCII_FALLBACK is already added by font snippets.
1977 -mexplicit-relocs isn't needed is compiler/assemblera are
1978 configured properly.
1979 If they're not we shouldn't attempt to fix it by ourselves.
1980 Binary compare between before and after shows no difference.
1981
1982 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1985 sources in dependencies directly.
1986
1987 This was the only instance of "library" in core config. A bug was
1988 reported that -fno-stack-protector wasn't passed to it. Instead of
1989 figuring out why it failed just remove this construction used
1990 needlessly.
1991
1992 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1995 fgets succeeded.
1996
1997 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1998
1999 * docs/grub.texi (ls): Fix command description in case of a device name
2000 passed as argument.
2001
2002 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 Eliminate variable length arrays in grub_vsnprintf_real.
2005
2006 A bit tricky because this function has to continue to work without
2007 heap for short strings. Fixing prealloc to 32 arguments is reasonable
2008 but make all stack references use 32-bit offset rather than 8-bit one.
2009 So split va_args preparsing to separate function and put the prealloc
2010 into the caller.
2011
2012 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
2015 Fixes build for windows.
2016
2017 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * gentpl.py: Don't generate platform-dependent conditionals for
2020 platform-independent targets.
2021
2022 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2023
2024 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
2025 references to mdadm from otherwise generic code.
2026 (grub_util_exec_pipe): Likewise.
2027 (grub_util_exec_pipe_stderr): Likewise.
2028 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
2029 This function calls vgs, not mdadm; adjust variable names
2030 accordingly.
2031
2032 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2033
2034 Generate Makefile.*.am directly from gentpl.py, eliminating the use
2035 of Autogen. The Autogen definitions files remain intact as they
2036 offer a useful abstraction.
2037
2038 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
2039
2040 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
2041 into no-ops, and use it in programs that copy files but do not need
2042 to take special care to sync writes (grub-mknetdir, grub-rescue,
2043 grub-mkstandalone).
2044
2045 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
2046
2047 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
2048 than hardcoding /usr/local/bin/xorriso.
2049
2050 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Add PCI command activation to all PCI drivers as required for coreboot
2053 and maybe some other firmwares.
2054
2055 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
2058 and non-Apple variants of efiemu compile.
2059
2060 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
2061
2062 * configure.ac: Add explicit check for linking format of
2063 efiemu64; save it as EFIEMU64_LINK_FORMAT.
2064 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
2065 hardcoding linking format.
2066
2067 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
2070 and not pkgdatadir.
2071
2072 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
2073 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 Add a --locale-directory option to grub-install and related tools.
2076
2077 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
2078 --locale-directory option.
2079 (enum grub_install_options): Add
2080 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2081 * util/grub-install-common.c (grub_install_help_filter): Handle
2082 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2083 (grub_install_parse): Likewise.
2084 (get_localedir): New function to check for a user-provided option
2085 before trying grub_util_get_localedir.
2086 (copy_locales): Use get_localedir rather than
2087 grub_util_get_localedir. Handle differing locale directory layouts.
2088 (grub_install_copy_files): Likewise.
2089
2090 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
2093 Don't rely on PATH_MAX.
2094
2095 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/genmoddep.awk: Use more portable && rather than and.
2098
2099 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
2102 an object after data. While it doesn't seem right solution, it
2103 works well enough and OSX isn't main compilation platform.
2104
2105 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2108 While it doesn't seem right solution, it works well enough and
2109 OSX isn't main compilation platform.
2110
2111 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * configure.ac: Add -static to LDFLAGS when using apple linker to
2114 prevent it from pulling in dynamic linker.
2115
2116 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 Apple assembly doesn't handle symbol arithmetic well. So define an
2119 offset symbol in boot.S and use it.
2120
2121 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 Apple assembly doesn't handle symbol arithmetic well. So instead
2124 of getting addres of kernel_sector + 4 define kernel_sector_high.
2125 It also makes code more readable.
2126
2127 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 With Apple assembly in .macro environvemnt you have to use $$ instead
2130 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2131 to $$x on Apple and to $x on everything else.
2132
2133 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2136 OBJCONV.
2137
2138 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2141 and non-Apple. This instruction is shorter and faster,
2142 so no reason not to use it on both.
2143
2144 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2147 .text when compiling for Apple.
2148
2149 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2152
2153 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2156 %dx restore the probe worked on non-existant drive. Reorganize the
2157 code a little bit to free 2 bytes necessary for push/pop.
2158
2159 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2162 Add missing cast to silence warning.
2163
2164 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2165
2166 * util/grub-install.c (update_nvram): Support --no-nvram flag
2167 for EFI targets.
2168
2169 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2172
2173 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * util/garbage-gen.c: Add missing include of sys/time.h.
2176
2177 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 Don't add -mflush-func if it's not supported by compiler.
2180
2181 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 Move common BIOS/coreboot memory map declarations to
2184 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2185
2186 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2187
2188 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2189
2190 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * INSTALL: Document why older clang versions aren't appropriate.
2193
2194 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * INSTALL: Document about clang for mips.
2197
2198 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2201 clang.
2202
2203 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 Add *-xen to the list of grub-install-common platforms.
2206
2207 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2210 3 last commits.
2211
2212 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2215
2216 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2219 with -mcmodel=large.
2220
2221 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2224 range-checking for 32-bit quantities.
2225
2226 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * configure.ac: Compile with -fPIC when compiling with clang on
2229 mips.
2230
2231 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2234 when compiling with clang.
2235
2236 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 clang emits calls to abort () under some unknown conditions.
2239 Export abort () when compiling with clang.
2240
2241 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * docs/grub-dev.texi: Document stack and heap sizes.
2244
2245 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * include/grub/i386/pc/memory.h: Decrease
2248 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2249 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2250 The binary doesn't change (checked). It's more to better reflect actual
2251 usage.
2252
2253 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2256 at compile time that enough of scratch size is available.
2257
2258 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2261 Previously we misaligned stack by 8 in startup.S and compensated
2262 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2263 right behaviour is to align stack in startup.S and keep it aligned
2264 in callwrap.S. startup.S part was committed few commits before. This
2265 takes care of callwrap.S.
2266 Reported by: Gary Lin.
2267
2268 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2271 .data and .bss. May happen if compiler and assembly use different
2272 alignment.
2273
2274 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2277 way.
2278
2279 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 Add support for a new magic symbol _gp_disp on mips to handle PIC
2282 binaries.
2283
2284 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2287
2288 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2291 when rest of GRUB is compiled for hisher stepping. Instead use
2292 .set mips3/.set mips1 around cache and sync opcodes.
2293
2294 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2297 do essentially the same thing, do it in similar way.
2298
2299 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2300
2301 * util/grub-mkrescue.c (main): If a source directory is not
2302 specified, read platform-specific files from subdirectories of
2303 pkglibdir, not pkgdatadir.
2304
2305 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2306
2307 * grub-core/normal/progress.c: Remove unused file.
2308
2309 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2312 array.
2313
2314 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2317 than grub.cfg.
2318
2319 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * coreboot.cfg: Add missing file.
2322
2323 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2326
2327 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2328
2329 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2330 selectively skipping systems.
2331
2332 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2333
2334 * Makefile.util.def (grub-mkimage): Add
2335 grub-core/osdep/aros/config.c to extra_dist.
2336 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2337 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2338 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2339 grub-core/gnulib-no-gets.diff.
2340
2341 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 Add automated filesystem checking based on scripts I've used now for
2344 quite some time locally. Most of the test require root so they are
2345 skipped when run without necessarry privelegies.
2346
2347 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2348
2349 * util/grub-install.c (main): Adjust info messages to match
2350 installed paths of grub-bios-setup and grub-sparc64-setup.
2351
2352 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2353
2354 * util/grub-install-common.c (copy_locales): Consistently use
2355 grub_util_get_localedir () rather than LOCALEDIR.
2356 (grub_install_copy_files): Likewise.
2357
2358 2013-11-19 Josh Triplett <josh@joshtriplett.org>
2359
2360 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2361 16-byte boundary, as required by the x86-64 ABI, before calling
2362 grub_main. In some cases, GCC emits code that assumes this
2363 alignment, which crashes if not aligned. The EFI firmware is also
2364 entitled to assume that stack alignment without checking.
2365
2366 2013-11-18 Josh Triplett <josh@joshtriplett.org>
2367
2368 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2369 4k page boundaries as expected by firmware rather than 1k
2370 boundaries.
2371 (grub_mmap_malign_and_register): Likewise.
2372
2373 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2376 fragmentation 512M is enough.
2377
2378 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2381 pointer to 32K. This is the size of cache element which is the most
2382 common allocation >1K. This way the pointer is always around blocks
2383 of 32K and so we keep performance while decreasing fragmentation.
2384
2385 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2388 current memory when allocating large chunks. This significantly
2389 decreases memory fragmentation.
2390
2391 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2392
2393 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2394 but for symmetry).
2395 * tests/lzocompress_test.in: Skip if lzop is not installed.
2396 * tests/xzcompress_test.in: Skip if xz is not installed.
2397
2398 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2399
2400 * util/grub-mkrescue.c (main): Fix typo.
2401
2402 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2405 clock frequency to 200 MHz,
2406
2407 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2410
2411 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2414 Load config file from (cbfsdisk)/etc/grub.cfg.
2415
2416 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * util/grub-install-common.c (grub_install_copy_files): Fix module
2419 destination directory.
2420
2421 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2422
2423 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2424 files have not been built.
2425
2426 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2427
2428 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2429 Handle errors from mkstemp.
2430 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2431
2432 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2435 on primary master on pseries.
2436
2437 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2440 already loaded. This saves memory needed for tests,
2441
2442 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2445 work again.
2446
2447 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2450 work again.
2451
2452 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2455 master since with some combinations of qemu and firmware only primary
2456 IDE channel is available.
2457
2458 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2461 low-memory platforms where we don't have enough memory for them.
2462 * grub-core/tests/videotest_checksum.c: Likewise.
2463
2464 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2467 already loaded. This saves memory needed for tests,
2468
2469 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 Fix handling of install lists.
2472
2473 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2476
2477 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2480 the devices before accessing them.
2481
2482 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2485 as file argument.
2486
2487 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2490
2491 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2494 (grub_file_close): Free file->name.
2495
2496 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2499 (grub_load_public_key): Likewise.
2500 (grub_verify_signature_real): Likewise.
2501 (grub_cmd_verify_signature): Likewise.
2502
2503 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2506 memory leak.
2507
2508 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2511 (grub_longjmp): Restore r31.
2512 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2513
2514 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2517 modules to be in line with make_image_abs.
2518
2519 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2522
2523 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2524
2525 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
2526
2527 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2528
2529 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2532 to leave some memory to firmware.
2533
2534 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2537 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2538 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2539 Load gfxmenu.
2540
2541 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2544 now needs full arguments.
2545
2546 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * util/grub-mkrescue.c (main): Add trailing \n in
2549 .disk_label.contentDetails to be in line with previous shell script.
2550
2551 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2554
2555 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * util/grub-install-common.c (grub_install_parse): Recognize
2558 --compress=none like shell script did.
2559
2560 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * include/grub/misc.h: Replace check for __sparc64__ with one for
2563 __sparc__ as __sparc64__ isn't actually defined.
2564
2565 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2568 counterpart of fixing the naming of escc ports.
2569
2570 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * util/grub-install-common.c (platforms): Fix the order of entries and
2573 remove useless field val.
2574
2575 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * util/grub-install.c: Add new option --no-bootsector to skip
2578 installing of bootsector. Accept --grub-setup=/bin/true as
2579 backwards-compatible synonym.
2580
2581 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2582
2583 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2584 order of qsort arguments (number of elements vs. element size).
2585
2586 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2589 the function of these files exceeds what can be sanely handled in shell
2590 in posix-comaptible way. Also writing it in C extends the functionality
2591 to non-UNIX-like OS and minimal environments.
2592
2593 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2596 compiling to thumb2.
2597 * grub-core/kern/arm/cache_armv7.S: Likewise.
2598 * grub-core/lib/arm/setjmp.S: Likewise.
2599
2600 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2601
2602 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2603 in grub_uboot_syscall
2604
2605 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 Decrease stack usage in lexer.
2608
2609 We have only 92K of stack and using over 4K per frame is wasteful
2610
2611 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2612 as macros so that compiler would remove useless structure on stack.
2613 Better solution would be to fix flex not to put this structure on
2614 the stack but flex is external program.
2615
2616 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 Decrease stack usage in signature verification.
2619
2620 We have only 92K of stack and using over 4K per frame is wasteful
2621
2622 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2623 rather than stack.
2624 (grub_verify_signature_real): Likewise.
2625
2626 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 Decrease stack usage in mdraid 0.9x.
2629
2630 We have only 92K of stack and using over 4K per frame is wasteful
2631
2632 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2633 rather than stack.
2634
2635 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 Decrease stack usage in BtrFS.
2638
2639 We have only 92K of stack and using over 4K per frame is wasteful
2640
2641 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2642 rather than stack.
2643
2644 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 Decrease stack usage in JFS.
2647
2648 We have only 92K of stack and using over 4K per frame is wasteful
2649
2650 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2651 stack. Note: this function is recursive.
2652 (grub_jfs_read_inode): Read only part we care about.
2653
2654 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2655
2656 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2657 handling
2658
2659 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2660
2661 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2662
2663 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2664
2665 * docs/grub.texi (Environment): Document cmdpath.
2666
2667 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2668
2669 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2670 Remove "unused" attribute from arguments, they are used.
2671
2672 2013-11-15 Colin Watson <cjwatson@debian.org>
2673
2674 * .gitignore: Only ignore grub-mk* at the top level.
2675
2676 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
2677
2678 * util/grub-reboot.in (usage): Fix a typo.
2679
2680 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 Replace libgcc version of ctz with our own.
2683
2684 On upcoming arm64 port libgcc ctz* are not usable in standalone
2685 environment. Since we need ctz* for this case and implementation is
2686 in C we may as well use it on all concerned platforms.
2687
2688 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * configure.ac: Probe for linking format rather than guessing it based
2691 on target_os.
2692
2693 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2696 "1" prior to handoff.
2697
2698 Reported by: M A Young.
2699
2700 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2703 \0 to all files.
2704
2705 Reported by: M A Young.
2706
2707 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2710 compilation on NetBSD.
2711
2712 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * acinclude.m4: Don't add -P on initial nm test.
2715
2716 Note: even though this patch postdates Andrey's it bears 14 Nov as
2717 date due to timezone difference.
2718
2719 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2720
2721 * grub-core/Makefile.core.def (signature_test): Add missing
2722 tests/signatures.h.
2723
2724 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2725
2726 * util/grub-install_header: Set localedir here, since this file is
2727 where it's used.
2728 * util/grub-install.in: Remove setting of localedir.
2729 * util/grub-mkrescue.in: Likewise.
2730
2731 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2734
2735 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * configure.ac: Move nm checks to the end.
2738 Call grub_PROG_NM_WORKS.
2739 * acinclude.m4: New check grub_PROG_NM_WORKS.
2740 Use $TARGET_CFLAGS -c when compiling test binary.
2741
2742 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2743
2744 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2745 unused variables.
2746
2747 2013-11-14 Matthew Garrett <mjg@redhat.com>
2748
2749 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2750 cmdpath to firmware directory.
2751
2752 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2755 at the start of second iteration.
2756
2757 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2760
2761 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * Makefile.am (default_payload.elf): New target for easier coreboot
2764 build.
2765
2766 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2769 clang (not necessarry with -no-integrated-as).
2770 * include/grub/symbol.h [__arm__]: Likewise.
2771
2772 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * configure.ac: Use -no-integrated-as on arm with clang.
2775 * INSTALL: Mention ARM compilation with clang.
2776
2777 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2780 -mthumb-interwork.
2781
2782 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2783
2784 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2785 code for indirect block handling.
2786
2787 Saves 185 bytes on compressed image.
2788
2789 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2790
2791 Fix make clean.
2792
2793 * Makefile.am: Remove build-grub-* in make clean.
2794
2795 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2796
2797 New files to gitignore.
2798
2799 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2800 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2801
2802 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2803
2804 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2805
2806 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2807
2808 * .gitignore: fix rules for .dep* and add *.a post git migration
2809
2810 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2811
2812 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2813 to match INSTALL.
2814
2815 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2816
2817 * grub-core/kern/misc.c: Don't redirect divisions in the
2818 GRUB_UTIL case.
2819 * include/grub/misc.h: Likewise.
2820
2821 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2822
2823 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2824 systems that require checking the return value of write.
2825
2826 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2827
2828 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2829 efibootmgr quiet when --debug is not used, rather than when it is.
2830
2831 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2832
2833 * gentpl.py (define_macro_for_platform_dependencies): Remove
2834 first (and thus unused) of two definitions for this function.
2835 (platform_dependencies): Likewise.
2836
2837 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2838
2839 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2840 functions, we only need to check this for the target, not the host.
2841 * configure.ac (grub_apple_cc): Likewise.
2842
2843 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2846 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2847 asm to stay in arm even if surrounding is thumb.
2848
2849 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2852 helper functions are needed for thumb.
2853
2854 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2857 level / 3 division explicitly unsigned. Saves few bytes.
2858
2859 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2862
2863 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2866 division.
2867
2868 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2871 grub_uboot_boot_data to asm part.
2872
2873 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2876 literal load.
2877 (grub_uboot_syscall): Save/restore r9 and align stack.
2878
2879 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2882
2883 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2886 occurencies with END.
2887
2888 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2889
2890 * util/grub-editenv.c (help_filter, argp): Document how to delete
2891 the whole environment block.
2892 Reported by Dan Jacobson. Fixes Debian bug #726265.
2893
2894 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2895
2896 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2897 sectioning.
2898
2899 2013-11-13 Josh Triplett <josh@joshtriplett.org>
2900
2901 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2902 increment/decrement.
2903
2904 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2907 compiling with clang.
2908
2909 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2912 ".".
2913
2914 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Redirect all divisions to grub_divmod64.
2917
2918 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2921
2922 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 Add missing includes of loader.h.
2925
2926 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * configure.ac: Allow disabling themes.
2929
2930 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2931
2932 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2933
2934 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2937 until it becomes operational.
2938
2939 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/Makefile.core.def (legacy_password_test): Disable
2942 on platforms where no legacycfg is compiled.
2943 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2944 load legacy_password_test.
2945
2946 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2949
2950 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2953
2954 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2957 strict-aliasing warning.
2958 (fsync): Silence cast warning.
2959
2960 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/commands/verify.c: Remove variable length arrays.
2963 Load gcry_dsa/gcry_rsa automatically.
2964
2965 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/tests/signature_test.c: New test.
2968
2969 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2972 API.
2973
2974 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2977 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2978
2979 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2982
2983 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/fs/proc.c: Allow \0 in proc files.
2986
2987 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2990
2991 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2994
2995 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/fs/ext2.c: Remove variable length arrays.
2998
2999 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
3002 length arrays.
3003
3004 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
3007 * grub-core/disk/cryptodisk.c: Likewise.
3008 * grub-core/disk/geli.c: Likewise.
3009 * grub-core/disk/luks.c: Likewise.
3010
3011 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/tests/legacy_password_test.c: New test.
3014 * grub-core/commands/legacycfg.c: Remove variable length arrays.
3015
3016 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
3019
3020 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/tests/pbkdf2_test.c: New test.
3023
3024 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
3027
3028 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/io/lzopio.c: Remove variable length arrays.
3031
3032 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * include/grub/crypto.h: Add maximums on hash size and cipher block
3035 size.
3036
3037 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
3040
3041 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/tests/xnu_uuid_test.c: New test.
3044
3045 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
3048 covers it).
3049
3050 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * grub-core/commands/hashsum.c: Remove variable length arrays.
3053
3054 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
3057 condition.
3058 * tests/grub_func_test.in: Increase memory allocation.
3059
3060 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
3063 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
3064 sys/mount.h.
3065
3066 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
3069 (grub_util_get_fd_size_os): ...this.
3070 (grub_hostdisk_flush_initial_buffer): New empty function.
3071
3072 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/gensyminfo.sh.in: Handle the case of portable output
3075 without --defined-only.
3076
3077 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
3080 rip-relative addressing in prologue.
3081
3082 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
3085 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
3086
3087 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3090 Add missing semicolon.
3091
3092 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
3095
3096 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * configure.ac: Check for lzma.h for enabling liblzma and allow
3099 manual disabling.
3100
3101 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 Add missing includes of loader.h.
3104
3105 2013-11-11 Fam Zheng <famcool@gmail.com>
3106
3107 * util/grub.d/30_os-prober.in: Add minix entry.
3108
3109 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3112 right buffer for temporary load.
3113
3114 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3117
3118 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3121 payload.
3122
3123 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3126 not Types.h.
3127 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3128 environment.
3129 (LzmaDec_InitDicAndState): Make static.
3130
3131 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3134
3135 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3138
3139 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3140
3141 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * docs/grub-dev.texi: Replace bzr references with git ones.
3144
3145 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3146
3147 * docs/grub.texi (Simple configuration): Remove reference to
3148 grub-reboot from saved default entry description - grub-default
3149 does not use it anymore.
3150
3151 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3154 compiled with.
3155
3156 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3157
3158 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3159
3160 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Fix grub_machine_fini bitrot.
3163
3164 Reported by: Glenn Washburn.
3165
3166 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3169
3170 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3173 -DELF.
3174 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3175 instead of ELF*.
3176
3177 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3180 Add -march=core2 when testing compile of efiemu64.
3181
3182 Thanks Andrey Borzenkov for spotting this.
3183
3184 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3187 XEN PV environment and load kernels.
3188
3189 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3192 * grub-core/loader/multiboot_mbi2.c: Likewise.
3193
3194 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3197 handling.
3198
3199 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3202
3203 Tested by: Denis 'GNUtoo' Carikli.
3204
3205 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3208
3209 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3212 Use to get rounded angle rather than truncated.
3213
3214 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * grub-core/term/serial.c: Add option for enabling/disabling
3217 RTS/CTS flow control.
3218
3219 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3222 divisions.
3223
3224 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3227 Use grub_fatal rather than divide by zero.
3228 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3229
3230 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3233 truncate.
3234 (grub_fixed_fsf_divide): Likewise.
3235
3236 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3239 division by-zero and senseless negative divisions.
3240
3241 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3244 division by-zero and senseless negative divisions.
3245 (circprog_set_property): Don't accept negative num_ticks.
3246
3247 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3250 division by-zero and senseless negative divisions.
3251
3252 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * configure.ac: Use elf_*_fbsd on kfreebsd.
3255
3256 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/tests/div_test.c: New test.
3259
3260 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3261
3262 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3263 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3264 * grub-core/gfxmenu/view.c: Likewise.
3265 * grub-core/video/fb/video_fb.c: Introduce new functions:
3266 grub_video_set_area_status, grub_video_get_area_status,
3267 grub_video_set_region, grub_video_get_region.
3268 * grub-core/video/bochs.c: Likewise.
3269 * grub-core/video/capture.c: Likewise.
3270 * grub-core/video/video.c: Likewise.
3271 * grub-core/video/cirrus.c: Likewise.
3272 * grub-core/video/efi_gop.c: Likewise.
3273 * grub-core/video/efi_uga.c: Likewise.
3274 * grub-core/video/emu/sdl.c: Likewise.
3275 * grub-core/video/radeon_fuloong2e.c: Likewise.
3276 * grub-core/video/sis315pro.c: Likewise.
3277 * grub-core/video/sm712.c: Likewise.
3278 * grub-core/video/i386/pc/vbe.c: Likewise.
3279 * grub-core/video/i386/pc/vga.c: Likewise.
3280 * grub-core/video/ieee1275.c: Likewise.
3281 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3282 * include/grub/video.h: Likewise.
3283 * include/grub/video_fb.h: Likewise.
3284 * include/grub/fbfill.h: Updated render_target structure.
3285 grub_video_rect_t viewport, region, area
3286 int area_offset_x, area_offset_y, area_enabled
3287 * include/grub/gui.h: New helper function
3288 grub_video_bounds_inside_region.
3289 * docs/grub-dev.texi: Added information about new functions.
3290
3291 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3294 for alignment.
3295
3296 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3299 missing attribute.
3300 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3301
3302 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3305 simple division on arm and ia64.
3306
3307 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3310 link with libgcc.
3311
3312 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3315
3316 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3319 prefix symbol, not @.
3320
3321 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * INSTALL: Add note about older gcc and clang.
3324
3325 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3328
3329 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3332 NULL pointer dereference.
3333
3334 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3337 clang.
3338
3339 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3342 warnings.
3343
3344 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3347 function.
3348 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3349 * grub-core/disk/geli.c (ascii2hex): Likewise.
3350
3351 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * configure.ac: Run linker tests without -Werror.
3354 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3355 Change all occurences of -static-libgcc resp -lgcc to
3356 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3357
3358 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3361
3362 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 Allow compiling with clang (not really supported though).
3365
3366 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3367 unconditionally.
3368 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3369 Add -mrtd -mregparm=3 on i386 when not using clang.
3370 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3371
3372 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3375 bindings.
3376 * grub-core/lib/reed_solomon.c: Likewise.
3377 * include/grub/i386/gdb.h: Likewise.
3378 * include/grub/i386/pc/int.h: Likewise.
3379 * include/grub/i386/pc/pxe.h: Likewise.
3380 * include/grub/ieee1275/ieee1275.h: Likewise.
3381
3382 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 Import libgcrypt 1.5.3.
3385
3386 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * configure.ac: Don't add -Wcast-align on x86.
3389
3390 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * configure.ac: Add -freg-struct-return on all platforms that
3393 support it.
3394
3395 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * acinclude.m4: Use -Werror on parameter tests.
3398 * configure.ac: Likewise.
3399
3400 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3403
3404 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * configure.ac: Check that -malign-loops works rather than assuming that
3407 either -falign-loops or -malign-loops work.
3408
3409 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3412
3413 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * configure.ac: Prevent cflags leaking to subsequent tests by always
3416 resetting cflags to target_cflags in target tests.
3417
3418 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3421 function.
3422
3423 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3426
3427 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3430
3431 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/normal/cmdline.c (grub_cmdline_get):
3434 Remove nested functions.
3435
3436 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * tests/test_sha512sum.in: Make it work on emu.
3439
3440 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3443 functions.
3444 (grub_bidi_line_logical_to_visual): Likewise.
3445
3446 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 Remove vestiges of -Wunsafe-loop-optimisations.
3449
3450 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3451 -Wno-unsafe-loop-optimisations.
3452 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3453 pragma.
3454 * grub-core/io/gzio.c: Likewise.
3455 * grub-core/script/parser.y: Likewise.
3456 * grub-core/script/yylex.l: Likewise.
3457 * util/grub-mkfont.c: Likewise.
3458
3459 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * util/grub-mkfont.c (process_cursive): Remove nested function.
3462
3463 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3466 (grub_boot_time): Likewise.
3467
3468 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * include/grub/symbol.h (FUNCTION): Use @function rather than
3471 "function".
3472 (VARIABLE): Likewise.
3473
3474 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3477
3478 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3481 (parse_dhcp_vendor): Likewise.
3482
3483 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3486
3487 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3490 Define after defining type and not before.
3491
3492 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3495 type.
3496 (grub_gcm_decrypt): Likewise.
3497 (algo_decrypt): Likewise.
3498 (grub_zfs_decrypt_real): Transform error type.
3499
3500 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3503
3504 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3507 (grub_usbms_cbi_reset): Likewise.
3508 (grub_usbms_bo_reset): Likewise.
3509 (grub_usbms_reset): Likewise.
3510 (grub_usbms_attach): Likewise.
3511 (grub_usbms_transfer_cbi): Likewise.
3512
3513 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3516 "checksum = checksum;".
3517
3518 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3521 entry_type.
3522
3523 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3526 BIOS disk check.
3527
3528 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3531 type.
3532 (grub_ehci_fini_hw): Likewise.
3533 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3534
3535 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3538 return grub_usb_err_t for cosistency. All users updated.
3539
3540 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3543 assigning to itself.
3544
3545 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
3546 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3547
3548 Issue separate DNS queries for ipv4 and ipv6
3549
3550 Adding multiple questions on a single DNS query is not supportted by
3551 most DNS servers. This patch issues two separate DNS queries
3552 sequentially for ipv4 and then for ipv6.
3553
3554 Fixes: https://savannah.gnu.org/bugs/?39710
3555
3556 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3557 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3558 * (grub_net_dns_lookup): Now using separated dns packages.
3559 * (grub_cmd_nslookup): Add error condition.
3560 * (grub_cmd_list_dns): Print DNS option.
3561 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3562 --prefer-ipv4, and --prefer-ipv6.
3563 * include/grub/net.h (grub_dns_option_t): New enum.
3564 * (grub_net_network_level_address): option added.
3565
3566 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3567
3568 * grub-core/video/fb/video_fb.c: Merge two blit functions
3569 into one.
3570
3571 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/term/terminfo.c: Add sequences for home and end.
3574
3575 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3578 graphics console.
3579
3580 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3583 add mode 0x12.
3584
3585 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3588 e-mail by Per Öberg.
3589
3590 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3593 name.
3594
3595 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3596
3597 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3598 emu platforms.
3599 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3600
3601 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * docs/grub.texi: Document usage of menuentry id.
3604
3605 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3608
3609 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3610
3611 * grub-core/commands/i386/nthibr.c: New command.
3612
3613 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3616
3617 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3620 coordinate.
3621
3622 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 Support GRUB_DISABLE_SUBMENU config.
3625
3626 Inspired by patch from Prarit Bhargava.
3627
3628 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * docs/grub.texi: Mention RSA support.
3631
3632 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/commands/verify.c: Add RSA support.
3635
3636 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3639 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3640 device is known to be ATAPI.
3641
3642 2013-11-03 Mike Frysinger <vapier>
3643
3644 * configure.ac: Don't add target-prefix.
3645
3646 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3649 variables.
3650
3651 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3654 if language is English.
3655
3656 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3659
3660 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * configure.ac: Don't add -m32/-m64 on emu.
3663
3664 2013-11-02 neil
3665
3666 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3667 broken linux headers.
3668
3669 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3672
3673 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3676 Reed-Solomon recovery if more than half of redundancy info is 0.
3677
3678 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * util/grub-mount.c: Handle symlinks to directories.
3681
3682 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3685 find_file recursively for symlink.
3686
3687 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * tests/util/grub-shell.in: Copy themes.
3690
3691 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3694
3695 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * configure.ac: Use 0x8000 for address instead of 8000.
3698
3699 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3702 signature.
3703
3704 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3707 variable.
3708
3709 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3712
3713 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3716 file_progress_read_hook.
3717 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3718
3719 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3722 and double.
3723
3724 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3727
3728 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 Rewrite blocklist functions in order to get progress when
3731 reading large extents and decrease amount of blocklist hook calls.
3732
3733 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3736 of SI suffixes.
3737
3738 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 Support --base-clock for serial command to handle weird cards with
3741 non-standard base clock.
3742
3743 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3746 strncpy.
3747 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3748 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3749 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3750 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3751 + strcpy rather than strncpy.
3752
3753 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3756 (check_pool_label): Likewise. Fixes overflow.
3757 (nvlist_find_value): Fix comparison.
3758
3759 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3762 more appropriate functions.
3763
3764 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3767 realloc.
3768
3769 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3772
3773 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3776 on core size.
3777
3778 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3781
3782 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3785 (initialize_tables): reset tl and td to NULL after freeing.
3786
3787 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3790
3791 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3794 of supported tags.
3795
3796 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3799
3800 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3803 quirks.
3804
3805 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3808 a page in protected space.
3809
3810 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3813 allocate space for zero-sized modules.
3814
3815 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3818
3819 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3820
3821 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3822
3823 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3826 safeguards. Fixes a crash with i386/pc/console.c.
3827
3828 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3831 and grub_hostfs_init.
3832
3833 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3836 windows method on other platforms without good stat as well.
3837
3838 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3841
3842 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 Make / in btrfs refer to real root, not the default volume.
3845 Modify mkrelpath to work even if device is mounted with subvolid option.
3846
3847 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3848
3849 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
3850 extra_dist.
3851 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3852 extra_dist.
3853
3854 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3857 fails.
3858
3859 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3860
3861 * docs/autoiso.cfg: New file.
3862
3863 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3866 COND_GRUB_PE2ELF conditions.
3867
3868 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3871 "vnd", "rd" and "fd" disks.
3872
3873 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Move grub_disk_write out of kernel into disk.mod.
3876
3877 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3880 handling.
3881
3882 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/kern/misc.c (grub_abort): Make static
3885
3886 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3889 transform invalid unicode codepoints.
3890
3891 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3894 \0 checking.
3895
3896 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3899
3900 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Consolidate cpuid code.
3903
3904 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 Move cpuid code to cpuid.h and TSC code to tsc.c.
3907
3908 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3909
3910 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3911
3912 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3913
3914 * util/grub-mkconfig.in: Replace $0 with $self.
3915 * util/grub-reboot.in: Likewise.
3916 * util/grub-set-default.in: Likewise.
3917
3918 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3919
3920 * docs/osdetect.cfg: New file.
3921
3922 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3923
3924 * tests/util/grub-shell.in: Add new --debug option.
3925
3926 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3927
3928 * tests/test_unset.in: New test.
3929
3930 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3931
3932 * tests/test_sha512sum.in: New test.
3933
3934 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3937 * include/grub/misc.h: Remove strncat.
3938 * grub-core/lib/posix_wrap/string.h: Likewise.
3939
3940 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3943 Try to handle more than 0xFFFF packets.
3944 Reported by: Bernhard Übelacker <bernhardu>.
3945 He also spotted few overflows in first version of this patch.
3946
3947 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * tests/date_unit_test.c: New test.
3950
3951 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3954 of first three years after start of validity of unixtime.
3955
3956 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3959 division as the one making more sense.
3960 (update_screen): Likewise.
3961 (complete): Likewise.
3962
3963 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3966
3967 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 Make char and string width grub_size_t rather than grub_ssize_t.
3970
3971 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3974 unsigned.
3975 (grub_history_replace): Likewise.
3976
3977 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3980 appropriate.
3981
3982 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3985 appropriate.
3986
3987 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3990 Use unsigned divisions rather than signed variants.
3991
3992 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3995 unsigned arithmetics.
3996 Add missing break.
3997
3998 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
4001
4002 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
4005 rather than signed one.
4006 (recovery): Likewise.
4007
4008 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
4011
4012 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
4015 than signed.
4016
4017 2013-10-25 Jon McCune <jonmccune@google.com>
4018
4019 * docs/grub.texi: Cleanup security documentation around signatures.
4020
4021 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
4024
4025 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
4028 than int.
4029
4030 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
4033 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
4034 functions when compiling for kernel.
4035
4036 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
4039 unsigned long long when using %llu.
4040
4041 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
4044 terminal after updating progress.
4045
4046 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
4049 argument. We don't disable Gate A20 in this code.
4050
4051 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
4054 Conceptually based on change in branch "vbe-on-coreboot".
4055
4056 2013-10-24 Robert Millan <rmh@gnu.org>
4057
4058 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
4059 numeric constants with their symbolic equivalent.
4060 Taken from branch "vbe-on-coreboot".
4061
4062 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * docs/grub.texi: Fix ordering and use pxref rather than xref.
4065
4066 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
4069 divmod64 for offset division.
4070
4071 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4072
4073 Rename .bzrignore to .gitignore. Add "*.o" rule.
4074
4075 * .bzrignore: Renamed to...
4076 * .gitignore: ...this.
4077
4078 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4079
4080 Add new progress module that displays the load progress of files.
4081
4082 * grub-core/lib/progress.c: New file.
4083 * grub-core/Makefile.core.def (progress): New module.
4084 * grub-core/kern/file.c (grub_file_open): File name added.
4085 * (grub_file_read): Progress hook added.
4086 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
4087 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
4088 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
4089 * include/grub/file.h (struct grub_file): Add progress module members.
4090 * include/grub/term.h (struct grub_term_output): Likewise.
4091 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
4092 Terminal velocity added.
4093 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
4094 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
4095 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
4096 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
4097 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
4098 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
4099 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
4100 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
4101 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
4102 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
4103 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
4104 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4105
4106 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 Verify signatures of signatures unless --skip-sig is specified.
4109
4110 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4113 \0 checking.
4114
4115 Saves 70 bytes on compressed image.
4116
4117 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4120 check.
4121
4122 Saves 10 bytes on compressed image.
4123
4124 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/kern/misc.c (grub_isprint): Move to ...
4127 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4128
4129 Saves 20 bytes on compressed image due to remving exporting.
4130
4131 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4134
4135 Saves 5 bytes on compressed image.
4136
4137 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4140 function get_utf8.
4141
4142 Saves 379 bytes on compressed image.
4143
4144 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4147
4148 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4151
4152 Saves 40 bytes on compressed image.
4153
4154 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4157 mask rather than 64-bit type.
4158
4159 Saves 20 bytes on compressed image.
4160
4161 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4164 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4165
4166 Saves 273 bytes on compressed image.
4167
4168 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4171 variable length arrays.
4172
4173 Saves 50 bytes on compressed image.
4174
4175 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4178
4179 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/fs/ufs.c: Remove variable length arrays.
4182
4183 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4186
4187 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/fs/zfs.c: Remove variable length arrays.
4190 Reduces zfs.mod by 160 bytes (208 compressed).
4191
4192 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4195
4196 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/net/arp.c: Remove variable length arrays.
4199 * grub-core/net/bootp.c: Likewise.
4200 * grub-core/net/dns.c: Likewise.
4201 * grub-core/net/icmp6.c: Likewise.
4202 * grub-core/net/net.c: Likewise.
4203
4204 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * grub-core/fs/ntfs.c: Remove variable length arrays.
4207 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4208 compressed).
4209
4210 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/fs/hfs.c: Remove variable length arrays.
4213 Reduces hfs.mod by 8 bytes (52 compressed).
4214
4215 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/fs/udf.c: Remove variable length arrays.
4218 Increases udf.mod by 128 bytes (but decreases by 13 when
4219 compressed).
4220
4221 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * grub-core/fs/iso9660.c: Remove variable length arrays.
4224 Increases iso9660.mod by 200 bytes (but decreases by 79 when
4225 compressed).
4226
4227 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/fs/nilfs2.c: Remove variable length arrays.
4230 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
4231 compressed).
4232
4233 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * grub-core/fs/xfs.c: Remove variable length arrays.
4236 Reduces xfs.mod by 40 bytes (43 compressed).
4237
4238 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * grub-core/fs/fshelp.c: Remove variable length arrays.
4241 Reduces fshelp.mod by 116 bytes (23 compressed).
4242
4243 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/normal/completion.c: Remove variable length arrays.
4246 * grub-core/normal/menu_entry.c: Likewise.
4247
4248 Reduces normal.mod by 496 bytes.
4249
4250 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4253 by 356 bytes (158 compressed).
4254
4255 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4258 by 364 bytes (169 compressed).
4259
4260 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4263 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4264 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4265
4266 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4269 bitmasks to small structures of size chosen to fit in registers.
4270
4271 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * conf/Makefile.common: Use -freg-struct-return on i386. This
4274 decreases code size and improves performance.
4275
4276 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4279
4280 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4283 "(null)" string.
4284 Simplify expressions to save around 256 bytes in kernel.img.
4285 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4286
4287 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4290 Use GRUB_UTIL_FD_O_* rather than O_*.
4291
4292 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 Add haiku-specific functions.
4295
4296 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4299
4300 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 Move stat () and device mode checking into OS-dependent files as
4303 long as performance doesn't suffer.
4304
4305 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 Split make_system_path_relative_to_its_root into separate file
4308 relpath.c from getroot.c as it's common between unix and haiku
4309 but otherwise haiku doesn't use any functions from unix getroot.c.
4310
4311 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4314 New function.
4315 (grub_util_is_special_file): Likewise.
4316
4317 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4320 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4321
4322 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4325 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4326
4327 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4330 (load_image): Likewise.
4331
4332 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * util/grub-render-label.c: Move backend part to ...
4335 * util/render-label.c: ... here.
4336
4337 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4340 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4341
4342 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4345
4346 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4349 CD-ROM in case when it's declared as having subpartitions.
4350
4351 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 Don't add -lm on haiku.
4354
4355 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4356 and empty on haiku.
4357 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4358 -lm.
4359
4360 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * configure.ac: Use -melf_*_haiku as target on haiku.
4363
4364 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * Makefile.util.def: Add util/setup.c to extra_dist.
4367
4368 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4371 unknown types through.
4372
4373 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4376 (grub_util_check_char_device): Likewise.
4377 * include/grub/emu/getroot.h: Likewise.
4378
4379 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4382 memset rather than inline static function.
4383
4384 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4387 not doing embedded decompressor.
4388
4389 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4392 shadowing.
4393 * grub-core/kern/disk.c: Likewise.
4394 * grub-core/kern/misc.c: Likewise.
4395 * include/grub/parser.h: Likewise.
4396 * include/grub/script_sh.h: Likewise.
4397 * include/grub/zfs/zfs.h: Likewise.
4398
4399 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4402
4403 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4406 defined before trying to use it.
4407
4408 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4411 warning.
4412
4413 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4416 Use __unused__ rather than __used__ on gcc < 3.2.
4417
4418 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4421 gcc < 4.0.
4422 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4423
4424 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4427
4428 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4431 * include/grub/emu/misc.h: Likewise.
4432
4433 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4436 cur_color.
4437
4438 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4439
4440 * grub-core/tests/checksums.h: Regenerated due to progress bar
4441 get_minimal_size changes.
4442
4443 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4444
4445 Added `tr' command support.
4446
4447 * grub-core/commands/tr.c: New file.
4448 * grub-core/Makefile.core.def: Build rules for new module.
4449
4450 * tests/grub_cmd_tr.in: New test.
4451 * Makefile.util.def: Build rules for new test.
4452
4453 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4454
4455 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4456
4457 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4458
4459 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4460 * docs/gurb.texi: Likewise.
4461
4462 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4463
4464 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4465 Pixmap highlighted section with east and west slices was displayed
4466 incorrectly due to negative width of the central slice.
4467
4468 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4469
4470 * docs/grub.texi: Graphical options information update.
4471 Removed outdated. Updated current. Inserted missed.
4472
4473 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * docs/grub.texi: Mention few new platform-specific commands.
4476
4477 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4480 currently used so this doesn't really have any effect.
4481 Reported by: Douglas Ray <dougray>
4482
4483 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4486 compilation but prevents gcc from displaying messages in non-Latin
4487 alphabets.
4488 * conf/Makefile.common: Likewise.
4489
4490 2013-10-16 Hiroyuki YAMAMORI
4491
4492 Handle Japanese special keys.
4493 Reported by: Hiroyuki YAMAMORI.
4494 Codes supplied by: Hiroyuki YAMAMORI.
4495
4496 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4497
4498 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4499
4500 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4501
4502 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4503 * docs/grub.texi: Likewise.
4504
4505 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4508 value in case of incomplete read.
4509 (grub_util_fd_write): Likewise.
4510
4511 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4514
4515 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * util/grub-editenv.c (create_envblk_file): More from here ...
4518 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4519
4520 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4523 canonicalize file name before doing the rest.
4524
4525 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4528 mingw32.
4529
4530 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 Define grub_util_is_directory/regular/special_file and
4533 use OS-dependent versions rather than to rely on stat().
4534
4535 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * util/grub-mkimage.c: Move backend part to ...
4538 * util/mkimage.c: ... here.
4539
4540 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 Allow compilation with mingw64 albeit with warnings due to lack of
4543 %llx/%llu.
4544
4545 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4546 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4547 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4548 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4549 on mingw64.
4550 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4551
4552 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 Remove leftover references to some of the system headers.
4555
4556 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4559 read.
4560
4561 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4564 of strerror.
4565
4566 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Split out blocklist retrieving from setup.c to
4569 grub-core/osdep/blocklist.c and add windows implementation since
4570 generic version doesn't work on NTFS on Windows due to aggressive
4571 unflushable cache.
4572
4573 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4576 files.
4577
4578 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4581 Cut tailing newline. Remove arbitrary limitation. Always use
4582 grub_util_tchar_to_utf8.
4583
4584 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4587 * tests/printf_unit_test.c (printf_test): Add %% tests.
4588 Reported by: Paulo Flabiano Smorigo.
4589
4590 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4593 implement fsync.
4594
4595 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4598 use nvlist_lookup_string and don't use nvlist_print.
4599
4600 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4603 closedir to handle filename charset translation.
4604
4605 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * include/grub/emu/hostdisk.h: Move file operations to
4608 * include/grub/emu/hostfile.h: ... here.
4609
4610 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4613 unicode path.
4614
4615 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4618
4619 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4622 and remove export.h.
4623
4624 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/kern/emu/error.c: Removed.
4627 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4628 explicitly as it's already in libgnu.a.
4629
4630 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4633 config-util.h include.
4634
4635 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 Split emunet into platform-dependent and GRUB-binding parts. Keep
4638 platform-dependent part in kernel for easy access to OS functions.
4639
4640 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4643 open/read/write.
4644
4645 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * grub-core/osdep/windows/emuconsole.c: New file.
4648
4649 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4650
4651 * conf/Makefile.extra-dist: Add osdep/*/init.c
4652
4653 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4656
4657 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * util/grub-probe.c (probe): Separate different drives in hint-str
4660 by spaces and not newlines.
4661 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4662
4663 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4664
4665 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4666 Handle CD-ROMs.
4667
4668 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Pass-through unknown E820 types. It required reorganisation of mmap
4671 module.
4672
4673 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4674
4675 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4676
4677 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4680 fseeko.
4681
4682 2013-10-14 qwertial <qwertial>
4683
4684 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4685
4686 2013-10-14 Jon McCune <jonmccune@google.com>
4687
4688 * docs/grub.texi: Document new signatures possibility.
4689
4690 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4693
4694 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4697 missing prototype.
4698 (grub_util_tchar_to_utf8): Likewise.
4699
4700 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4703 * grub-core/kern/emu/main.c: Add missing include.
4704 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4705 Don't call grub_util_init_nls.
4706 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4707 Likewise.
4708
4709 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4712 stat.
4713
4714 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4717
4718 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4721
4722 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 Add a wrapper for fopen. On unix-like systems just pass-through. On
4725 windows use unicode version.
4726
4727 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 Move set_program_name and init_nls to host_init. On windows
4730 fix in this fuction console and argument charset as well.
4731
4732 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4733
4734 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4735 GRUB_ENABLE_CRYPTODISK.
4736
4737 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4738 GRUB_ENABLE_CRYPTODISK.
4739 * util/grub-mkconfig_lib.in: Likewise.
4740
4741 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4742
4743 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4744
4745 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4746
4747 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4748 error when enabling debug.
4749
4750 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4751
4752 * configure.ac: Use -melf_*_obsd on openbsd.
4753
4754 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4757
4758 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * include/grub/misc.h: Use gnu_printf rather than printf as format
4761 template since our functions are independent of libc.
4762
4763 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * util/grub-setup.c (setup): Move copying of partition table as
4766 futher up as possible to avoid possible overwrite by floppy routines.
4767
4768 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4771
4772 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4773
4774 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4775 * docs/grub.texi: Likewise.
4776
4777 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4780 it's mostly unused. Move vestiges to the callers.
4781
4782 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4785 version of salt and hash. Use grub_snprintf rather than snprintf.
4786
4787 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * docs/grub.texi: Fix problem with braces.
4790
4791 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * conf/Makefile.extra-dist: Fix extra-dist list.
4794 * grub-core/Makefile.core.def: Likewise.
4795
4796 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * docs/grub.texi: Document disk names used on Windows and AROS.
4799
4800 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4803 with AROS devs.
4804 * grub-core/osdep/aros/hostdisk.c: Likewise.
4805
4806 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 Avoid including hostfile.h when not necessarry as it pulls
4809 in OS-specific headers which may redefine generic names
4810 like "far".
4811
4812 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4813
4814 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4815 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4816 scrollbar_bottom_pad
4817 * docs/grub.texi: Likewise.
4818
4819 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4820
4821 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4822
4823 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4826
4827 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4830 Removed.
4831 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4832 Made static.
4833
4834 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4837 leftover.
4838
4839 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 Move OS-specific driver configuration to grub_util_fd_open. This
4842 moves OS-dependent parts from kern/emu/hostdisk.c to
4843 grub-core/osdep/*/hostdisk.c.
4844
4845 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * util/grub-mkimage.c (generate_image): Use size_t instead of
4848 grub_size_t.
4849 * util/grub-mkimagexx.c (locate_sections): Likewise.
4850 (load_image): Likewise.
4851
4852 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4855 size_t.
4856 (grub_util_write_image): Likewise.
4857
4858 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4861 get random when no RNG is available.
4862 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4863
4864 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * include/grub/util/lvm.h: Removed.
4867
4868 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4871 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4872
4873 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4876
4877 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4880
4881 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/net/drivers/emu/emunet.c: Move to ..
4884 * grub-core/osdep/linux/emunet.c: ..here.
4885
4886 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * util/ieee1275/ofpath.c: Move to ...
4889 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4890 * grub-core/osdep/basic/ofpath.c: ..here.
4891
4892 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 Move password-querying (util-version) routines to grub-core/osdep.
4895
4896 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 Move sleep routines to grub-core/osdep.
4899
4900 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Move OS-dependent files to grub-core/osdep and document it.
4903
4904 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4907 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4908
4909 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4912
4913 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * util/misc.c: Remove leftover inclusion of malloc.h.
4916
4917 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * include/grub/setjmp.h: Remove leftover GRUBOF.
4920
4921 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * util/raid.c: Fold into ...
4924 * util/getroot_linux.c: ... here. Make all functions static.
4925
4926 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4929 macros to GRUB ones.
4930
4931 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4932
4933 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4934 occasional bug. If there are too many boot entries or too low
4935 scrollbar height then we need to use another formula to calculate
4936 the position and size of the scrollbar thumb.
4937
4938 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
4941
4942 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4943
4944 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4945 * docs/grub.texi: Likewise.
4946
4947 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4948
4949 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4950 viewport.
4951
4952 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4953
4954 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4955 minimal width calculations.
4956
4957 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * docs/grub.texi: Update note on colors on emu console.
4960
4961 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4964 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4965 it's FS and not GRUB limitation.
4966
4967 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4970
4971 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4974
4975 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4976
4977 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4978 kernels by version order.
4979
4980 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4983
4984 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 Add AROS hostdisk and getroot routines.
4987
4988 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 Make cryptodisk and diskfilter probe data retrievable programmatically
4991 and not just printable.
4992
4993 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 Split random retrieving code into separate files.
4996
4997 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
5000 R_ARM_V4BX.
5001
5002 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
5005 condition.
5006 * grub-core/tests/fake_input.c: Likewise.
5007 * grub-core/tests/cmdline_cat_test.c: Likewise.
5008
5009 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/video/capture.c: Do not do finalization when .fini
5012 is called as there is explicit capture_end.
5013
5014 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
5017 changing windows to avoid crash.
5018
5019 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
5022
5023 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * po/exclude.pot: Add several strings to exclude.
5026
5027 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
5030
5031 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * autogen.sh: Add ./util/grub-gen-widthspec.c and
5034 ./util/grub-gen-asciih.c to exclude list.
5035
5036 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
5039 and don't mark error strings for translation.
5040
5041 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
5044 properly in case of missing block size.
5045
5046 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/lib/arm/setjmp.S: Add missing license section.
5049
5050 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * po/swiss.sed: Add replacement for key names and for term computer.
5053
5054 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
5055
5056 * grub-core/gfxmenu/theme_loader.c: New global options for the
5057 theme background image handling. desktop-image-scale-method,
5058 desktop-image-h-align, desktop-image-v-align.
5059 * grub-core/gfxmenu/view.c: Likewise.
5060 * include/gfxmenu_view.h: Likewise.
5061 * include/bitmap_scale.h: Proportional scale functions introduced.
5062 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
5063 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
5064 cases of unexpected input variables for scale functions.
5065 * docs/grub.texi: Updated documentation for new options.
5066
5067 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
5070
5071 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5072
5073 * grub-core/tests/checksums.h: Corrected due to changes in
5074 bilinear interpolation function.
5075
5076 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
5077
5078 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
5079 to eliminate artefacts in bilinear interpolation.
5080
5081 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/video/readers/tga.c: Support paletted tga.
5084
5085 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
5088 incorrect cbcr setting when in color mode.
5089
5090 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/video/readers/png.c: Support paletted images and clean up
5093 greyscale support.
5094
5095 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
5098 usage of wrong table which resulted in mishandling of 4-byte
5099 sequences.
5100
5101 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/term/terminfo.c: Add Home and End key sequences.
5104
5105 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5108 Fix formula for computing total number of bytes.
5109
5110 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5113 image processing, fix big-endian and support grayscale.
5114
5115 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5118 Correctly will with maximum transparency when using index color.
5119
5120 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/video/readers/png.c: Support grayscale
5123
5124 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/video/readers/jpeg.c: Support grayscale.
5127
5128 2013-09-26 Jon McCune <jonmccune@google.com>
5129
5130 * grub-core/commands/loadenv.c: Support skipping signature check
5131 and variable names filtering.
5132
5133 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5136 * grub-core/kern/emu/hostfs.c: Likewise.
5137 * util/getroot_unix.c: Likewise.
5138
5139 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5142 Migrate all explicit defines to this new one.
5143
5144 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5147 grub_util_fd_strerror when using grub_util_fd_*.
5148 (grub_util_fd_open_device): Likewise.
5149 (grub_util_biosdisk_read): Likewise.
5150 (grub_util_biosdisk_write): Likewise.
5151 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5152 (grub_util_fd_strerror): Likewise.
5153 (grub_util_fd_sync): Likewise.
5154 (grub_util_fd_close): Likewise.
5155 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5156 (grub_util_fd_close): Likewise.
5157 (grub_util_fd_strerror): Likewise.
5158 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5159 function proto rather than macro.
5160 (grub_util_fd_sync): Likewise.
5161 (grub_util_fd_open): Likewise.
5162 (grub_util_fd_strerror): New proto.
5163
5164 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5167 platforms on which it doesn't work.
5168
5169 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5172 stat immediately to where it's used.
5173
5174 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * util/getroot.c (grub_util_check_block_device): Move to ...
5177 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5178 * util/getroot.c (grub_util_check_char_device): Move to ...
5179 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5180
5181 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5184 disk closing logic.
5185
5186 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5187
5188 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5189
5190 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5191
5192 * docs/grub.texi (File name syntax): Document ZFS filenames
5193 (/volume@snapshot/...).
5194
5195 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5198 Always return full path. Fixes a problem with mkrelpath.
5199
5200 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5201
5202 * util/grub-install.in: Add GPT PReP support.
5203 * util/grub-probe.c (probe): Support GPT partition type.
5204 (main): Support -t gpt_parttype.
5205
5206 2013-09-23 Aleš Nesrsta <starous@volny.cz>
5207
5208 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5209
5210 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5211
5212 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5213
5214 2013-09-23 Tim Hardeck <thardeck>
5215
5216 * util/grub.d/10_hurd.in: Filter out character for the class.
5217 * util/grub.d/10_kfreebsd.in: Likewise.
5218 * util/grub.d/10_linux.in: Likewise.
5219 * util/grub.d/20_linux_xen.in: Likewise.
5220
5221 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5222
5223 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5224 "changed".
5225
5226 2013-09-23 Josh Triplett <josh@joshtriplett.org>
5227
5228 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5229 boot partition.
5230
5231 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5234 doesn't use posix_wrap. Keep literal -fno-builtin however.
5235
5236 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5239
5240 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5241 2013-09-23 neil
5242
5243 * configure.ac: Do not enable -Wmissing-noreturn as its
5244 usefulness is limited and creates problems on some OS notably with
5245 code generated by bison.
5246
5247 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5248 2013-09-23 neil
5249
5250 * configure.ac: Do not explicitly enable -Waddress as it's not
5251 supported by all gcc and when it is, it's already enabled by -Wall.
5252
5253 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5256 desactivated use of EDID at all.
5257
5258 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5259 2013-09-23 neil
5260
5261 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5262 video if no text is available.
5263
5264 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5265 2013-09-23 neil
5266
5267 * configure.ac: Substitute TARGET_RANLIB.
5268
5269 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5270 2013-09-23 neil
5271
5272 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5273
5274 Based on patches from AROS.
5275
5276 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5277 2013-09-23 neil
5278
5279 * grub-core/Makefile.am: Override STRIP and RANLIB.
5280 * configure.ac: compute TARGET_RANLIB.
5281 * INSTALL: Document TARGET_RANLIB
5282
5283 Based on patches from AROS.
5284
5285 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5288 that floppies are unpartitioned.
5289
5290 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5293 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5294
5295 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5298 less nice but more portable.
5299 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5300
5301 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5304 for cheat_fd.
5305 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5306 functions.
5307 (grub_cryptodisk_cheat_insert): Likewise.
5308 (grub_cryptodisk_close): Likewise.
5309
5310 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5313 Use windows path for DEFAULT_DIRECTORY.
5314
5315 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5318 difference was likely just gcc version, not anything mingw-related.
5319
5320 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 Use Winapi on both cygwin and mingw32 to share more code between both.
5323
5324 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5325
5326 * util/grub-install.in: Add --grub-editenv option.
5327 * util/grub-install_header (grub_compress_file): Explicitly check for
5328 plain file to avoid cp error.
5329
5330 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5331
5332 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5333 names; fix LVM driver name (lvm, not lv).
5334 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5335 names.
5336
5337 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5340 files rather than one file with loads of #if's.
5341 * util/getroot.c: Likewise.
5342
5343 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5346
5347 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5350 GNU/Hurd to the list of checked PRNG.
5351
5352 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5355
5356 2013-09-21 Ales Nesrsta <starous@volny.cz>
5357
5358 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
5359
5360 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5363 * grub-core/disk/lvm.c: Add LVM UUIDs.
5364 * util/getroot.c: Use LVM UUIDs whenever possible.
5365
5366 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5367
5368 * docs/grub.texi (Networking commands): Add documentation for
5369 network related commands.
5370
5371 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5374 to determine if device is handled by devmapper.
5375 (convert_system_partition_to_system_disk): Likewise.
5376 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5377 already done in grub_util_open_dm.
5378
5379 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5380
5381 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5382 Clean up stack manipulation (sync_caches_armv*)
5383
5384 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * util/lvm.c: Remove since unused. Remove remaining references.
5387
5388 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 Handle the case of partitioned LVM properly.
5391
5392 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5393 Stop on meeting LVM, mpath or DMRAID.
5394 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5395 (read_device_map): Likewise.
5396 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5397 device is full disk rather than erroring out on LVM and similar cases.
5398
5399 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5402
5403 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5406 4K before the end.
5407 Reported by: Leif Lindholm
5408
5409 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
5410 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5413 codes.
5414
5415 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
5416
5417 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5418 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5419
5420 2013-09-18 Douglas Ray <dougray@cpan.org>
5421
5422 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5423 as secure.
5424
5425 2013-09-18 Aleš Nesrsta <starous@volny.cz>
5426
5427 * docs/grub.texi: Fix broken link.
5428
5429 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5430
5431 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5432 to break endless loop.
5433
5434 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * util/grub-fstest.c: Fix several printf formats.
5437 * util/grub-mkimage.c: Likewise.
5438 * util/grub-mkimagexx.c: Likewise.
5439 * util/grub-script-check.c: Likewise.
5440
5441 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5444 error.
5445
5446 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5449
5450 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5453 removed in current versions cygwin_conv_*.
5454
5455 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * configure.ac: Disable efiemu runtime on cygwin.
5458
5459 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5462 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5463
5464 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5467 error message.
5468
5469 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5472 windows variant.
5473 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5474 data.
5475
5476 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5479 when on x86 and not cygwin.
5480 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5481 -Wl,-melf_x86_64.
5482
5483 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * configure.ac: Set CPP to build one when checkoing for freetype for
5486 build.
5487
5488 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5491 [!GRUB_BUILD]: Remove has_argument.
5492
5493 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5496 Replace with a dummy.
5497
5498 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * configure.ac: Don't change host_os from mingw to cygwin.
5501
5502 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * configure.ac: Change target_os from windows to cygwin.
5505
5506 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5509
5510 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5511 (build-grub-gen-asciih): Likewise.
5512 (build-grub-gen-widthspec): Likewise.
5513 * Makefile.util.def (grub-pe2elf): Remove.
5514 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5515 * configure.ac: Separate tests for build.
5516 Move ./build-grub-pe2elf to grub-core.
5517 Fix typo.
5518 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5519 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5520 defined.
5521 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5522 constants.
5523 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5524 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5525 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5526
5527 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5530 mingw32 as well based on grub_util_get_disk_size.
5531 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5532 grub_util_get_fd_size.
5533 (sync): Removed.
5534 (fsync): Moved to ...
5535 * grub-core/kern/emu/misc.c (fsync): ... here.
5536
5537 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * include/grub/mm.h (grub_extend_alloc): Remove.
5540 * grub-core/loader/i386/pc/plan9.c: Use own version of
5541 grub_extend_alloc with appropriate types.
5542
5543 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5546
5547 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5550
5551 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 Fix dependencies on cygwin.
5554
5555 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5556 dependencies when used and defined.
5557 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5558
5559 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5562 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5563
5564 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5567 implementation available to cause compile-time rather than runtime
5568 error.
5569
5570 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * util/grub-fstest.c: Don't check for symlinks on windows.
5573
5574 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * INSTALL: Mention unavailability of man pages when cross-compiling.
5577
5578 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5581 and gcry_log_bug.
5582 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5583
5584 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * INSTALL: Document cross-compilation.
5587 * acinclude.m4: Determine whether nm support -P and --defined-only.
5588 * configure.ac: Add TARGET_ to all variables pertaining to target
5589 that don't have it yet.
5590 * gentpl.py: Likewise.
5591 * grub-core/Makefile.am: Likewise.
5592 * grub-core/genmod.sh.in: Likewise.
5593 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5594 as well.
5595
5596 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5597
5598 * configure.ac: Remove -Wempty-body. It's not essential and needs
5599 recent gcc.
5600
5601 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5602
5603 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5604 * util/getroot.c: Likewise.
5605
5606 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * grub-core/disk/ahci.c: Add needed explicit cast.
5609 * grub-core/lib/backtrace.c: Likewise.
5610 * grub-core/net/ip.c: Likewise.
5611 * grub-core/net/tcp.c: Likewise.
5612 * grub-core/net/udp.c: Likewise.
5613
5614 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5617
5618 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * util/import_gcry.py: Add final newline in visibility.h.
5621
5622 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * conf/Makefile.common: Fix typo.
5625
5626 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5629
5630 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * Makefile.am (widthspec.h): Fix typo.
5633 * util/grub-gen-widthspec.c: Likewise.
5634
5635 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 Move ascii.h and widthspec.h generation to a separate build-time-only
5638 tool.
5639
5640 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5641
5642 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5643 Always fill bootdisk info and improve check for NetBSD disklabel.
5644
5645 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * conf/Makefile.extra-dist: Add util/bin2h.c.
5648 Reported by: floppym.
5649
5650 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5653
5654 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * configure.ac: Disable unifont and starfield if no freetype was found.
5657
5658 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5661 on NetBSD and OpenBSD.
5662
5663 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5664
5665 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5666
5667 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5668
5669 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5670 reduced. Inheritant options are processed during the theme loading.
5671
5672 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5673
5674 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5675
5676 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5677
5678 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5679
5680 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5681
5682 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5683 using qemu.
5684
5685 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5686
5687 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5688 remove-potcdate.sed.
5689
5690 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5691
5692 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5693 unused attribute from pull argument.
5694
5695 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5696
5697 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5698 memory leak.
5699
5700 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5701
5702 * util/getroot.c (pull_lvm_by_command): add --separator option
5703 to vgs call to disable padding of output to 10 characters.
5704
5705 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5708 here ...
5709 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5710 here.
5711
5712 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5715 length.
5716
5717 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5720 full Canadian cross. Tested with build=x86_64, host=arm,
5721 target=ppc-ieee1275.
5722
5723 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * configure.ac: Error if no $BUILD_CC could be found.
5726 Reported by: DevHC.
5727
5728 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5731 i386-multiboot.
5732
5733 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5736 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5737
5738 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
5739
5740 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5741 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5742 falling back to the partition device, otherwise a later call to this
5743 function may fail spuriously.
5744 Reported by Axel Beckert. Fixes Debian bug #708614.
5745
5746 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5747
5748 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5749
5750 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5751
5752 Prevent shadowing of stdlib's devname(3) on BSD.
5753
5754 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5755 and devlast to diskname and disklast, respectively.
5756
5757 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
5758
5759 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5760
5761 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5762
5763 * docs/grub.texi: Introduce terminal window position options:
5764 terminal-left: terminal window's left position
5765 terminal-top: terminal window's top position
5766 terminal-width: terminal window's width
5767 terminal-height: terminal window's height
5768 terminal-border: terminal window's border width
5769 * grub-core/gfxmenu/theme-loader.c: Likewise.
5770 * include/grub/gfxmenu_view.h: Likewise.
5771 * po/exlude.pot: Likewise.
5772 * grub-core/gfxmenu/view.c: Likewise.
5773 Also updated minimal window size.
5774 Also terminal_sanity_check function has been introduced.
5775 * grub-core/tests/checksums.h: Update (terminal window height
5776 is adjusted now for low resolution screen)
5777
5778 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5781 position).
5782
5783 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * po/exclude.pot: Add few recent exceptions.
5786
5787 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * tests/grub_func_test.in: Add unicode.pf2.
5790
5791 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5794 standard rather than noral color, in line with other terminals.
5795
5796 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5799 analysis.
5800
5801 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5804
5805 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5808 inappropriate printf.
5809
5810 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5811
5812 * .bzrignore: Remove grub-core/lib/dtc-grub,
5813 grub-core/Makefile.libfdt.def
5814 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5815
5816 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 * include/grub/video.h (grub_video_register): Keep double-linked as
5819 well as single-linked invariants.
5820 Reported by: qwertial.
5821
5822 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/commands/nativedisk.c (get_uuid): Handle
5825 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5826
5827 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5828
5829 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5830 maximum of NW, N, NE heights instead of N's height and maximum of
5831 NW, W, SW widths instead of W's width. (So the box will be always
5832 correctly drawn)
5833
5834 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5835
5836 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5837 Fix misuse of variable count.
5838
5839 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
5840 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
5841 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 New ports to arm-uboot and arm-efi.
5844 Mostly by Leif Lindholm with some additions from
5845 Francesco Lavra and cleanup by Vladimir Serbinenko.
5846
5847 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5850 and not before.
5851 Reported by: Leon Drugi.
5852
5853 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5856 Reported by: Paulo Flabiano Smorigo.
5857
5858 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5859
5860 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5861
5862 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5863
5864 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5865
5866 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5869
5870 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5873
5874 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5875
5876 * grub-core/net/bootp.c: Export net_* variables.
5877 * grub-core/net/net.c: Likewise.
5878
5879 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5882
5883 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5886
5887 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5890
5891 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5894
5895 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5896
5897 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5898 <= 0.
5899
5900 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5901
5902 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5903 functions.
5904
5905 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5906
5907 * grub-core/fs/zfs/zfs_lz4.c: New file.
5908 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5909
5910 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5911
5912 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5913
5914 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5915
5916 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5917 (check_pool_label): Likewise.
5918 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5919
5920 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5921
5922 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5923
5924 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5925
5926 * docs/grub.texi (Commands): Document postition parameters
5927 for menuentry command.
5928
5929 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5930
5931 * util/grub-mknetdir.in: Remove stray line from help output.
5932
5933 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 Remove early sm712 init as there is no reason for it (the "watchdog"
5936 effect was due to wrong GPIO map).
5937
5938 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/commands/pcidump.c: Remove static variables.
5941
5942 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5945
5946 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * configure.ac: Move delimiter after the infos.
5949
5950 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5953
5954 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5957 not filling whole 8x16 space.
5958
5959 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5962
5963 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * configure.ac: Indicate which liblzma is used if any.
5966
5967 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
5968 2013-06-21 Craig Sanders <savannah@taz.net.au>
5969
5970 * util/grub-reboot.in: Document submenu usage.
5971
5972 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5973
5974 * .bzrignore: Update with a number of new test-related files.
5975
5976 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5977
5978 * util/grub-script-check.c: Fail on scripts containing no
5979 commands, to guard against corrupted grub-mkconfig setups that
5980 produce no useful output.
5981 * tests/grub_script_no_commands.in: New test.
5982 * Makefile.util.def (grub_script_no_commands): Add.
5983 Reported by Hans Putter. Fixes Debian bug #713886.
5984
5985 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5986
5987 * grub-core/disk/diskfilter.c: Forgot to remove comment
5988 from previous commit.
5989
5990 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5991
5992 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5993 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5994
5995 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5996
5997 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5998
5999 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
6000
6001 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
6002 rescan diskfilter devices until nothing new is found.
6003
6004 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 Fix casts when compiling coreboot-specific code for 64-bit EFI.
6007
6008 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 Don't try to detect cbfs on *-emu.
6011
6012 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * grub-core/term/gfxterm.c: USe right background color when scrolling.
6015
6016 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 Add support for processed coreboot payload chainloading.
6019
6020 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 Enable coreboot information commands even when not loaded as
6023 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
6024
6025 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Support for cbfs. Also factor out the part which is common
6028 for all archives to a separate module. This splits tar from cpio
6029 as they are very different but keeps cpio, cpio_be, odc and newc
6030 together since they're very similar.
6031
6032 2013-06-15 David Michael <fedora.dm0@gmail.com>
6033
6034 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
6035 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
6036
6037 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * tests/grub_script_eval.in: Really add the eval test.
6040
6041 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 Move flavour-specific parts out of common cpio.c file and
6044 rename remaining to cpio_common.c
6045
6046 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6047
6048 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
6049 off new function grub_script_execute_new_scope. Change callers to use
6050 either of them as appropriate.
6051 * grub-core/commands/eval.c: New command eval.
6052 * docs/grub.texi (Commands): Document it.
6053
6054 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6055
6056 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
6057 to fetch values when listing.
6058
6059 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
6060
6061 Fix make dist on non-pc.
6062
6063 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
6064
6065 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
6066 without a device name.
6067
6068 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 Remove enable_executable_check as it's not needed anymore.
6071 Reported by: dougray.
6072
6073 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
6076 ambigouos RAID before discovering RAIDs on top of it.
6077 Reported by: bodom.
6078
6079 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 Fix typo (failback vs fallback).
6082
6083 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
6084
6085 * util/grub.d/30_os-prober.in: Add support for probing EFI
6086 System Partition (as of os-prober 1.58).
6087
6088 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * configure.ac: Add yet another path to unifont. For parabola.
6091
6092 2013-05-30 Josh Triplett <josh@joshtriplett.org>
6093
6094 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
6095 handling to copy the killed characters to the kill buffer as
6096 UCS4 stored as grub_uint32_t rather than as 8-bit characters
6097 stored as char. Eliminates UCS4 truncation and corruption
6098 observed when killing characters with Ctrl-u and yanking them
6099 back with Ctrl-y.
6100
6101 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 Detach optional parts of gfxterm and integrate in with coreboot init.
6104
6105 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 Move blit and fill dispatcher to appropriate files to decrease export
6108 and relocation overhead.
6109
6110 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6113 functions.
6114
6115 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/Makefile.am: Fix compilation problem with some
6118 automake versions.
6119
6120 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6123
6124 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6127 automake versions.
6128
6129 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6132 SSDT.
6133
6134 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6135
6136 * grub-core/partmap/dfly.c: New partition map.
6137
6138 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6141 checking.
6142 Reported by: Francesco Lavra.
6143
6144 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6145
6146 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6147 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6148 false conditions.
6149 * conf/Makefile.common: define dist_grubconf_DATA
6150
6151 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 Progressively skip menu elements on small terminals rather
6154 than crashing.
6155
6156 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6159 to avoid losing last column.
6160
6161 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * po/exclude.pot: Add missing string "%C".
6164
6165 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6168 after the test.
6169
6170 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * util/grub-install.in: Gettextize "Not found" message.
6173
6174 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 Fix distfiles list.
6177 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6178
6179 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6180
6181 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6182 present.
6183 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6184
6185 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6188
6189 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6192 attribute since structure is not necessarily aligned.
6193
6194 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6195
6196 * docs/grub.texi (Device syntax): Clarify description of network
6197 drives.
6198
6199 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6202 for vasprintf presence.
6203
6204 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * util/grub-install.in: Handle efibootmgr presence check.
6207 Reported by: Leif Lindholm.
6208
6209 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6212 new strings to translate.
6213
6214 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6217 yet another string (pun intended) to translate.
6218
6219 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * po/POTFILES-shell.in: Autogenerate it.
6222
6223 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6226
6227 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6230 misnomer.
6231
6232 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6233
6234 * docs/grub.texi (Network): Add description of net_default_interface,
6235 net_default_ip and net_default_mac. Rewrite variables description
6236 to emphasize that they are per-interface.
6237
6238 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 New test: cmdline and cat.
6241
6242 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * grub-core/commands/cat.c: Show UTF-8 characters.
6245
6246 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * conf/Makefile.common: Poison float and double on non-emu.
6249
6250 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * configure.ac: Don't disable extended registers on emu.
6253
6254 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * configure.ac: Don't use extended registers on x86_64.
6257 Reported by: Peter Jones.
6258
6259 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/term/efi/console.c: Fix compile error.
6262
6263 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Compressed HFS+ support.
6266
6267 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6270 pixel".
6271
6272 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 Menu color test.
6275
6276 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/tests/setjmp_test.c: New test.
6279
6280 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 New variables 'net_default_*' to determine MAC/IP of default interface.
6283
6284 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * tests/gettext_strings_test.in: A test to check for strings not
6287 marked for translation.
6288
6289 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * autogen.sh: Exclude unused libgcrypt files from translation.
6292
6293 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 Simplify few strings.
6296
6297 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Mark few forgotten strings for translation.
6300
6301 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6304 rather than printf.
6305
6306 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6309 rather than printf.
6310 * grub-core/video/readers/tga.c: Likewise.
6311
6312 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * tests/priority_queue_unit_test.cc: New test.
6315
6316 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6319 than printf.
6320
6321 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6322
6323 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6324 variable for one time boot menu entry.
6325
6326 2013-05-05 Bean <bean123ch@gmail.com>
6327
6328 * grub-core/commands/testspeed.c: New command testspeed.
6329
6330 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 Factor-out human-size printing.
6333
6334 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 Agglomerate more mallocs to speed-up gfxterm.
6337
6338 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 Speed-up gfxterm by slightly agglomerating mallocs.
6341
6342 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 More video checks.
6345
6346 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 Speed-up gfxterm by saving intermediate results in index+alpha
6349 format.
6350
6351 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6354 test.
6355
6356 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6359 line of timeout as it may contain the rest of long line.
6360
6361 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/normal/main.c: Fix freed memory dereference.
6364
6365 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 Fix several memory leaks.
6368
6369 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6372
6373 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6376
6377 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 Fix test -a and -o precedence.
6380 Reported by: adrian15.
6381
6382 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6385
6386 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6387
6388 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6389 and add it as source to functional_test module.
6390
6391 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6394
6395 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 New series of tests for gfxterm and gfxmenu.
6398
6399 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6402 the theme path relative to $prefix/themes.
6403
6404 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6407 Fix order bug.
6408 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6409
6410 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6413 descriptor.
6414
6415 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6418 grub_gfxmenu_timeout_notifications.
6419 (grub_gfxmenu_view_destroy): Likewise.
6420
6421 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6424
6425 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 Several fixes to ieee1275 and big-endian video.
6428
6429 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 Add missing exports on mips.
6432
6433 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6436 if no unifont is found.
6437 Restore original keyboard.
6438
6439 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6442 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6443
6444 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 First automated video test (running videotest and comparing results)
6447
6448 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6451 instead of 2 to have full RGB/CMY test pattern.
6452
6453 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 Add few more tests.
6456
6457 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6460 ARCS. All users updated.
6461
6462 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6465
6466 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6469
6470 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6473 Reported by: qwertial.
6474
6475 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6476
6477 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6478 with syntax "XXX deg"/"XXX °".
6479
6480 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 Make PCI init in i386-qemu port more robust.
6483
6484 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6485
6486 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6487 cached view is reused.
6488 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6489 open boot menus.
6490
6491 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 Unify more code in grub-install_header.
6494
6495 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 Add few new tests.
6498
6499 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 Enforce disabling of firmware disk drivers when native drivers kick in.
6502
6503 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/commands/nativedisk.c: Customize the list of modules on
6506 platform. Don't try to search for disks already using native drivers.
6507
6508 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6511 platforms.
6512
6513 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6516 handling of variables containing backslash.
6517
6518 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6521 dereference.
6522 Reported by: qwertial.
6523
6524 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6527
6528 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6531 dereference.
6532 Reported by: qwertial.
6533
6534 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6537
6538 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6541
6542 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 New command `nativedisk'.
6545
6546 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6549 * grub-core/loader/i386/bsd.c: Likewise.
6550
6551 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6554
6555 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6558 grub_get_unaligned16 rather than shifts.
6559
6560 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/kern/file.c: Use const char * rather than casting to
6563 non-const.
6564
6565 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/commands/probe.c: Add missing grub_device_close.
6568
6569 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * INSTALL: Document linguas.sh.
6572
6573 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 Remove POTFILES.in and regenerate it in autogen.sh.
6576
6577 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 Move --directory/--override-directorry to grub-install_header and unify.
6580
6581 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * grub-core/term/morse.c: Macroify dih and dah.
6584
6585 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6586
6587 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6588
6589 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/term/ns8250.c: Systematically probe ports by writing
6592 to SR before using them.
6593
6594 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6595
6596 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6597 disks.
6598 (check_sas): Get sas_adress info.
6599
6600 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6603 ports.
6604
6605 2013-04-27 Leon Drugi <eyak>
6606
6607 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6608 BSS clearing.
6609
6610 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 Core compression test.
6613
6614 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 Implement grub_machine_get_bootlocation for ARC.
6617
6618 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Improve AHCI detection and command issuing.
6621
6622 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 Fix pseries test.
6625
6626 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 Make 'make check' work on emu.
6629
6630 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 Replace libcurses with our own vt100 handling for the ease of testing
6633 and decreasing prerequisites.
6634
6635 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6638
6639 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6642 compile when not needed.
6643
6644 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * tests/pseries_test.in: New test.
6647
6648 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 Add test to check that different boot mediums work.
6651
6652 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6655 ofw limited ISO support.
6656
6657 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * configure.ac: Fix loongson conditional.
6660
6661 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 Enable mipsel-arc.
6664
6665 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 Add serial on ARC platform.
6668
6669 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6672 commit.
6673
6674 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * tests/partmap_test.in: Add missing double semicolon.
6677
6678 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * util/grub-mkrescue.in: Fix loongson filename.
6681
6682 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * util/grub-mkrescue.in: Move all files that don't have a location
6685 set in stone under /boot/grub. Use ISO hard links rather than copies
6686 to save some space.
6687
6688 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6691 bogus SLOF values.
6692
6693 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 Make check work on mips-arc.
6696
6697 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * util/grub-mkrescue.in: Alias sashARCS as sash.
6700
6701 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6704 it's serial.
6705
6706 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * util/grub-install.in: Fix target fo qemu_mips.
6709 Fix extension on EFI.
6710
6711 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6714 in front of chosen entry to mark it even if highlighting is lost.
6715
6716 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6719 gfxpayload=keep if cbfb is active.
6720
6721 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6724
6725 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Add missing video ids to coreboot and ieee1275 video.
6728
6729 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * util/grub-mkrescue.in: Add mips-arc support.
6732
6733 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6736
6737 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 Move mips-arc link address. Previous link address was chosen
6740 in belief that RAM on SGI platforms grows down while in fact it
6741 grows up from an unusual base.
6742
6743 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6746 Fix a type which prevented CD-ROM and floppy boot.
6747
6748 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 Support coreboot framebuffer.
6751
6752 * grub-core/video/i386/coreboot/cbfb.c: New file.
6753
6754 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6757 detecting too small regions.
6758
6759 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6762
6763 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6766 Remove dprintf.
6767 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6768
6769 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6772 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6773 * grub-core/loader/powerpc/ieee1275/linux.c
6774 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6775
6776 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6779 Look for /boot-rom as well as /rom/boot-rom.
6780
6781 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6784 handling when creating text_layer failed.
6785 * grub-core/video/video.c (grub_video_create_render_target):
6786 Set result to 0 on error.
6787 (grub_video_delete_render_target): Do not dereference NULL.
6788
6789 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6792 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6793 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6794 (grub_linux_load64): Mask out 2 high bits.
6795
6796 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6797
6798 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6799 more place.
6800
6801 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 Add support for pseries and other bootinfo machines to grub-mkrescue.
6804
6805 Tested by: Paulo Flabiano Smorigo.
6806
6807 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * util/grub-mkrescue.in: Add GPT for EFI boot.
6810
6811 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6814 It improves performance in qemu.
6815
6816 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * build-aux/snippet: Add missing gnulib files.
6819
6820 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6821
6822 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6823
6824 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6825
6826 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6827
6828 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6829 2013-04-15 Peter Jones <pjones@redhat.com>
6830
6831 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6832 sectors.
6833 Based on patch by Peter Jones.
6834
6835 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 Fix DMRAID partition handling.
6838
6839 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * tests/grub_cmd_date.in: Skip on sparc64.
6842
6843 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6846 firmware error messages.
6847
6848 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6851 source and destination differ.
6852
6853 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6856 detection.
6857
6858 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6861 match config-util.h to avoid warnings and increase compatibility.
6862
6863 2013-04-14 Szymon Janc <szymon@janc.net.pl>
6864 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 Add option to compress files on install/image creation.
6867
6868 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * docs/grub-dev.texi: Rearrange menu to match the section order.
6871 Reported by: Bryan Hundven.
6872
6873 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6876
6877 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Move GRUB out of system area when using xorriso 1.2.9 or later.
6880
6881 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * tests/grub_cmd_date.in: Add missing exit 1.
6884
6885 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * tests/partmap_test.in: Skip on sparc64.
6888
6889 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 Support grub-shell on sparc64.
6892
6893 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 Support mkrescue on sparc64.
6896
6897 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6900 Needed on OpenBIOS due to incomplete device tree.
6901
6902 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6905 would be otherwise excluded.
6906
6907 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6910 Inline name defines used only once.
6911
6912 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 Fix memory leaks in ofnet.
6915 Reported by: Francesco Lavra.
6916
6917 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * docs/man/grub-glue-efi.h2m: Add missing file.
6920
6921 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6924
6925 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 Better support Apple Intel Macs on CD.
6928
6929 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 Replace stpcpy with grub_stpcpy in tools.
6932
6933 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 Handle Japanese special keys.
6936 Reported by: Hiroyuki YAMAMORI.
6937 Codes supplied by: Hiroyuki YAMAMORI.
6938
6939 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * util/grub-mkimage.c: Document memdisk implying --prefix.
6942
6943 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6946 much we can do about it anyway.
6947
6948 2013-04-12 Aleš Nesrsta <starous@volny.cz>
6949
6950 Fix handling of split transfers.
6951
6952 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/net/http.c: Fix bad free.
6955
6956 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6959 than buffer size.
6960
6961 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6964
6965 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * tests/util/grub-shell.in: Fix it on powerpc.
6968
6969 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 Turn off QEMU ACPI-way since new releases don't have shutdown port
6972 anymore.
6973
6974 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * docs/grub.texi: Update coreboot status info.
6977
6978 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * tests/grub_cmd_date.in: New test for datetime.
6981
6982 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * tests/partmap_test.in: Fix missing qemudisk setting.
6985
6986 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 Support i386-ieee1275 grub-mkrescue and make check on it.
6989
6990 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6993 feature for it.
6994
6995 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6998 GRUB_CMDLINE_XEN_DEFAULT.
6999 Reported by: Marc Warne (GigaTux) <gigatux>
7000
7001 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 Import new gnulib.
7004
7005 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 Use ACPI shutdown intests as traditional port was removed.
7008
7009 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
7010
7011 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
7012 distinction.
7013
7014 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
7017 Fix few warining messages and leaks while on it.
7018
7019 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
7020
7021 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
7022 links under grub-core/lib/libgcrypt-grub/mpi.
7023
7024 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 Fix ia64-efi image generation on big-endian machines. Deduplicate
7027 some code while on it.
7028 Reported by: Leif Lindholm.
7029
7030 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7031
7032 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
7033 as extra_dist.
7034
7035 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
7036
7037 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
7038
7039 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
7040
7041 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
7042 texinfo-5.1.
7043
7044 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/normal/term.c: Few more fixes for menu entry editor
7047 rendering.
7048 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7049
7050 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/normal/term.c: Few more fixes for menu entry editor
7053 rendering.
7054 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
7055
7056 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7057
7058 * conf/Makefile.extra-dist (EXTRA_DIST): Add
7059 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
7060
7061 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
7062
7063 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
7064 instead of hardcoding grub.mo.
7065
7066 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
7067
7068 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
7069
7070 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
7073 grub-core/disk/geli.c.
7074
7075 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * util/grub-mkfont.c: Prefer enum to #define.
7078
7079 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
7082
7083 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
7086
7087 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
7090
7091 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
7094
7095 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * include/grub/bsdlabel.h: Use enums.
7098
7099 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 Move GRUB_CHAR_BIT to types.h.
7102
7103 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7104
7105 * docs/grub.texi: Document more user commands.
7106
7107 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7108
7109 * docs/grub.texi: Document menuentry --id option.
7110
7111 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7112
7113 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7114
7115 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 Unify file copying setup across different install scripts. Add
7118 options for performing partial install.
7119
7120 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7121 2013-04-04 Peter Jones <pjones@redhat.com>
7122
7123 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7124
7125 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 Use TSC as a possible time source on i386-ieee1275.
7128
7129 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7132 Init err.
7133
7134 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/grub-setup.c (setup): Handle some corner cases.
7137
7138 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7141
7142 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/commands/verify.c: Save verified file to avoid it being
7145 tampered with after verification was done.
7146
7147 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7150 reported width by one to compensate for curesor algorithm problem.
7151
7152 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 Fix screen corruption in menu entry editor and simplify the code
7155 flow while on it.
7156
7157 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7158
7159 * util/grub-mount.c (fuse_init): Return error if fuse_main
7160 failed.
7161
7162 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7163
7164 * include/grub/elf.h: Add missing ARM relocation codes and fix
7165 existing ones.
7166
7167 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7168
7169 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7170
7171 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7172 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7175 into account when calculating radius.
7176
7177 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7178
7179 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7180
7181 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7182
7183 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7184
7185 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7186
7187 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7188 missing closing bracket.
7189
7190 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7191
7192 * INSTALL: Mention xorriso requirement.
7193
7194 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7195
7196 * grub-core/commands/verify.c: Fix hash algorithms values for
7197 the first three hashes - they start with 1, not with 0.
7198
7199 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7202 Try terminating EFI services several times due to quirks in some
7203 implementations.
7204
7205 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
7206
7207 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7208 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7209 BankField extended opcodes.
7210 (get_sleep_type): Add minimal scope handling (just enough to
7211 handle setting the scope to the root path).
7212 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7213 * include/grub/acpi.h: Add enumeration values for Event, Device,
7214 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7215
7216 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7217
7218 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7219 memory leak.
7220
7221 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/disk/ahci.c: Give more time for AHCI request.
7224
7225 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7228 command.
7229
7230 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 Replace the region at 0 from coreboot tables to available in BSD
7233 memory map.
7234
7235 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7238 non-BIOS platforms.
7239
7240 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7243 platforms.
7244
7245 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7248 handling of multi-device filesystems.
7249
7250 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7253 platforms.
7254
7255 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 Add new 'proc' filesystem framework and put luks_script into it.
7258
7259 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7262 and qemu.
7263
7264 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7267
7268 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 Add ability to generate newc additions on runtime.
7271
7272 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7275 description.
7276
7277 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * po/POTFILES.in: Regenerate.
7280
7281 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 * grub-core/commands/verify.c (hashes): Add several hashes
7284 from the spec.
7285
7286 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 Slight improve in USB-related boot-time checkpoints.
7289
7290 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * grub-core/commands/boottime.c: Fix copyright header.
7293
7294 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7297 coreboot tables content. Support for cbmemc.
7298
7299 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 Fix a conflict between ports structures with 2 controllers of
7302 same kind.
7303
7304 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * include/grub/boottime.h: Add missing file.
7307
7308 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 Initialize USB ports in parallel to speed-up boot.
7311
7312 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 Fix USB devices not being detected when requested
7315 due to delayed attach.
7316
7317 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 Implement boot time analysis framework.
7320
7321 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 Remove get_endpoint_descriptor and change all functions needing
7324 descriptor to just receive it as argument rather than endpoint
7325 address.
7326
7327 2013-03-19 Aleš Nesrsta <starous@volny.cz>
7328
7329 Better estimate the maximum USB transfer size.
7330
7331 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 Resend a packet if we got the wrong buffer in status.
7334
7335 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7338 multiplication rather than division.
7339
7340 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7343 than divisions.
7344
7345 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7348 operations to have intended shifts and not divisions.
7349
7350 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7353 intended shifts rather than division.
7354
7355 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7358 computation for some years before epoch. Avode confusing division
7359 while on it.
7360
7361 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/video/i386/pc/vbe.c
7364 (grub_video_vbe_print_adapter_specific_info): Replace division by
7365 shifts.
7366
7367 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 Adjust types in gdb module to have intended unsigned shifts rather than
7370 signed divisions.
7371
7372 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7375 maximum size is 4G - 1 on hfs
7376
7377 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7380
7381 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7384 function.
7385
7386 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7387
7388 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7389 causing gcc error with gcc 4.7.1.
7390
7391 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7392
7393 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7394 dereference null pointer. While the code is technically correct, gcc
7395 may eliminate a null check if pointer is already dereferenced.
7396
7397 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7398
7399 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7400 OOM check.
7401 * grub-core/normal/term.c (read_terminal_list): Likewise.
7402
7403 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 Lift up core size limits on some platforms. Fix potential memory
7406 corruption with big core on small memory systems. Document remaining
7407 limits.
7408
7409 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7412 gotoxy to 0,0.
7413
7414 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 Remove all trampoline support. Add -Wtrampolines when
7417 present. Remove symbols used for trampolines to make
7418 link fail if trampolines are present.
7419
7420 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7423 append out of its parent.
7424
7425 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7428 parent.
7429
7430 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7433 all vars to a macro. All users updated.
7434
7435 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7438 i386-ieee1275.
7439
7440 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7443
7444 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7447
7448 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 Move to more hookless approach in IEEE1275 devices handling.
7451
7452 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/kern/term.c (grub_term_normal_color),
7455 (grub_term_highlight_color): Add back lost defaults.
7456
7457 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Make elfload not use hooks. Opt for flags and iterators instead.
7460
7461 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7464 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7465
7466 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7469
7470 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7473 hook pass-through parameter. All users updated and unnested.
7474
7475 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7478 out of its parent.
7479
7480 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/fs/hfs.c: Remove nested functions.
7483
7484 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7487 the context through.
7488 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7489
7490 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * util/grub-editenv.c (list_variables): Move print_var out of its
7493 parent.
7494
7495 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7498 function.
7499
7500 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/gentrigtables.c: Make tables const.
7503
7504 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 Remove nested functions from videoinfo iterators.
7507
7508 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7511 for 64-bit platforms.
7512
7513 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7516 a FOR_CHILDREN macro.
7517
7518 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7521 platform from firmware path.
7522
7523 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 Enable linux16 on non-BIOS systems for i.a. memtest.
7526
7527 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7528 correctly.
7529 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7530
7531 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7534 Fix end of table condition.
7535
7536 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7539 out of its parent.
7540
7541 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * grub-core/fs/jfs.c: Remove nested functions.
7544
7545 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/fs/minix.c: Remove nested functions.
7548
7549 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/fs/iso9660.c: Remove nested functions.
7552
7553 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7556 of parent function.
7557
7558 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * util/grub-fstest.c: Remove nested functions.
7561
7562 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/loader/machoXX.c: Remove nested functions.
7565
7566 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
7567
7568 Remove nested functions from disk and file read hooks.
7569
7570 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7571 (struct grub_disk): Add read_hook_data member.
7572 * include/grub/file.h (struct grub_file): Likewise.
7573 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7574 argument.
7575
7576 Update all callers.
7577
7578 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7579
7580 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7581 Fix off by one error in enumerating extended partitions.
7582
7583 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7584
7585 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7586 memory leak if device name is not found.
7587
7588 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7589
7590 * grub-core/normal/menu_entry.c (update_screen): remove
7591 unused variable `off' which caused scroll down arrow to be always shown.
7592
7593 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7594
7595 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7596 access to unallocated memory.
7597
7598 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7599
7600 * Makefile.util.def: Add partmap/msdos.c to common library.
7601 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7602 * grub-core/disk/ldm.c: Check for existence of
7603 GRUB_PC_PARTITION_TYPE_LDM.
7604
7605 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7608 sizes and display sector size.
7609
7610 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 Implement new command cmosdump.
7613
7614 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7615
7616 Support Openfirmware disks with non-512B sectors.
7617
7618 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7619 size of the disk.
7620 * (grub_ofdisk_get_block_size): New function.
7621 * (grub_ofdisk_prepare): Use the correct block size.
7622 * (grub_ofdisk_read): Likewise.
7623 * (grub_ofdisk_write): Likewise.
7624 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7625 New proto.
7626
7627 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7630
7631 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7634 on first error.
7635
7636 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7639 freeing it.
7640
7641 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 Implement USBDebug (full USB stack variant).
7644
7645 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7648 unless they have unexpected values.
7649
7650 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7653 grub_print_error.
7654
7655 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7658 zero-out of port structure.
7659
7660 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7663 of extended attributes.
7664
7665 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7666
7667 * util/grub-install.in: change misleading comment about
7668 device.map creation
7669
7670 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7673 when menu highlight color isn't set.
7674
7675 2013-01-27 C. Masloch <pushbx@38.de>
7676
7677 Improve FreeDOS direct loading support compatibility.
7678
7679 * include/grub/i386/relocator.h (grub_relocator16_state):
7680 New member ebp.
7681 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7682 variable.
7683 (grub_relocator16_boot): Handle %ebp.
7684 * grub-core/lib/i386/relocator16.S: Likewise.
7685 * grub-core/loader/i386/pc/freedos.c:
7686 Load BPB to pass kernel which partition to load from.
7687 Check that kernel file is not too large.
7688 Set register dl to BIOS unit number as well.
7689
7690 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
7691
7692 * util/grub-reboot.in (usage): Document the need for
7693 GRUB_DEFAULT=saved.
7694 * util/grub-set-default.in (usage): Likewise.
7695 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7696
7697 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7700 than defining WORDS_BIGENDIAN manually.
7701
7702 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7705 invariants.
7706
7707 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7708
7709 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7710 nested.
7711 (blit_comb: add_device_width): Likewise.
7712
7713 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7714
7715 Remove nested functions from USB iterators.
7716
7717 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7718 (grub_usb_controller_iterate_hook_t): Likewise.
7719 (grub_usb_iterate): Add hook_data argument.
7720 (grub_usb_controller_iterate): Likewise.
7721 (struct grub_usb_controller_dev.iterate): Likewise.
7722
7723 Update all implementations and callers.
7724
7725 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7728 margin when not needed.
7729
7730 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 Make color variables global instead of it being per-terminal.
7733
7734 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7737 asterisk.
7738
7739 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7740
7741 Fix powerpc and sparc64 build failures caused by un-nesting memory
7742 map iterators.
7743
7744 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7745
7746 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7747 parameter declarations.
7748
7749 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7752
7753 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 Improve spkmomdem reliability by adding a separator between bytes.
7756
7757 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7758
7759 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7760 an Acer registration utility with several sightings in the wild.
7761 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7762
7763 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7764
7765 Remove nested functions from filesystem directory iterators.
7766
7767 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7768 (struct grub_fs.dir): Add hook_data argument.
7769
7770 Update all implementations and callers.
7771
7772 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7773
7774 * docs/grub.texi (Multi-boot manual config): Fix typo for
7775 "recommended".
7776
7777 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7778
7779 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7780 until after its use in generate_image.
7781
7782 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7783
7784 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7785 initrd size to addr_min, since the initrd will be allocated after
7786 this address.
7787
7788 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7789
7790 * conf/Makefile.common: Fix autogen rules to pass definition
7791 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7792
7793 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7794
7795 * include/grub/elf.h: Update ARM definitions based on binutils.
7796
7797 2013-01-20 Aleš Nesrsta <starous@volny.cz>
7798
7799 Split long USB transfers into short ones.
7800
7801 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7802
7803 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7804 is interrupted by ESC.
7805
7806 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * util/grub-script-check.c (main): Uniform the error message.
7809
7810 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7811
7812 Remove nested functions from ELF iterators.
7813
7814 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7815
7816 Remove nested functions from device iterators.
7817
7818 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7819 (grub_arc_iterate_devs): Add hook_data argument.
7820 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7821 (struct grub_ata_dev.iterate): Add hook_data argument.
7822 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7823 (grub_device_iterate): Add hook_data argument.
7824 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7825 (struct grub_disk_dev.iterate): Add hook_data argument.
7826 (grub_disk_dev_iterate): Likewise.
7827 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7828 Likewise.
7829 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7830 Likewise.
7831 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7832 type.
7833 (struct grub_partition_map.iterate): Add hook_data argument.
7834 (grub_partition_iterate): Likewise.
7835 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7836 (struct grub_scsi_dev.iterate): Add hook_data argument.
7837
7838 Update all callers.
7839
7840 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7841
7842 Fix typos for "developer" and "development".
7843
7844 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 Add license header to spkmodem-recv.c.
7847
7848 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Rewrite spkmodem to use PIT for timing. Double the speed.
7851
7852 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 Add new command pcidump.
7855
7856 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 New terminal outputs using serial: morse and spkmodem.
7859
7860 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 Improve bidi handling in entry editor.
7863
7864 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7867 argument to prevent name collision.
7868
7869 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7870
7871 Remove nested functions from script reading and parsing.
7872
7873 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7874 getline_data argument, passed to getline.
7875 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7876 getline_data argument, passed to grub_parser_split_cmdline.
7877 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7878 lexerstate->getline_data to lexerstate->getline.
7879 (grub_script_lexer_init): Add getline_data argument, saved in
7880 lexerstate->getline_data.
7881 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7882 argument, passed to grub_script_parse.
7883 * grub-core/script/script.c (grub_script_parse): Add getline_data
7884 argument, passed to grub_script_lexer_init.
7885 * include/grub/parser.h (grub_parser_split_cmdline): Update
7886 prototype. Update all callers to pass appropriate getline data.
7887 (struct grub_parser.parse_line): Likewise.
7888 (grub_rescue_parse_line): Likewise.
7889 * include/grub/reader.h (grub_reader_getline_t): Add void *
7890 argument.
7891 * include/grub/script_sh.h (struct grub_lexer_param): Add
7892 getline_data member.
7893 (grub_script_parse): Update prototype. Update all callers to pass
7894 appropriate getline data.
7895 (grub_script_lexer_init): Likewise.
7896 (grub_normal_parse_line): Likewise.
7897
7898 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7899 data argument.
7900 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7901 static instead of nested. Rename to ...
7902 (grub_parser_execute_getline): ... this.
7903 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7904 data argument.
7905 * grub-core/normal/main.c (read_config_file: getline): Make static
7906 instead of nested. Rename to ...
7907 (read_config_file_getline): ... this.
7908 (grub_normal_read_line): Add unused data argument.
7909 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7910 getline): Make static instead of nested. Rename to ...
7911 (grub_script_execute_sourcecode_getline): ... this.
7912 * util/grub-script-check.c (main: get_config_line): Make static
7913 instead of nested.
7914
7915 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7916
7917 Remove nested functions from memory map iterators.
7918
7919 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7920 argument, passed to hook.
7921 * grub-core/kern/i386/coreboot/mmap.c
7922 (grub_linuxbios_table_iterate): Likewise.
7923 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7924 instead of nested.
7925 (grub_machine_mmap_iterate): Add hook_data argument.
7926 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7927 Add hook_data argument, passed to hook.
7928 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7929 Likewise.
7930 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7931 Likewise.
7932 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7933 Likewise.
7934 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7935 Likewise.
7936 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7937 Likewise.
7938 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7939 Likewise.
7940 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7941 (grub_machine_mmap_iterate): Likewise.
7942 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7943 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7944 prototype.
7945 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7946 Remove NESTED_FUNC_ATTR from here and from all users.
7947 (grub_mmap_iterate): Update prototype.
7948 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7949 pass appropriate hook data.
7950 (grub_machine_mmap_iterate): Likewise.
7951
7952 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7953 static instead of nested.
7954 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7955 Rename to ...
7956 (lsmmap_hook): ... this.
7957 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7958 Likewise.
7959 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7960 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7961 heap_init): Likewise.
7962 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7963 Rename to ...
7964 (mmap_iterate_hook): ... this.
7965 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7966 Likewise.
7967 * grub-core/lib/ieee1275/relocator.c
7968 (grub_relocator_firmware_get_max_events: count): Likewise.
7969 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7970 to ...
7971 (grub_relocator_firmware_fill_events_iter): ... this.
7972 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7973 hook): Likewise. Rename to ...
7974 (grub_relocator_alloc_chunk_align_iter): ... this.
7975 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7976 Rename to ...
7977 (generate_e820_mmap_iter): ... this.
7978 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7979 Rename to ...
7980 (count_hook): ... this.
7981 (grub_linux_boot: hook): Likewise. Rename to ...
7982 (grub_linux_boot_mmap_find): ... this.
7983 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7984 (grub_linux_boot_mmap_fill): ... this.
7985 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7986 hook): Likewise. Rename to ...
7987 (grub_fill_multiboot_mmap_iter): ... this.
7988 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7989 hook): Likewise. Rename to ...
7990 (count_hook): ... this.
7991 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7992 hook): Likewise. Rename to ...
7993 (grub_fill_multiboot_mmap_iter): ... this.
7994 * grub-core/loader/powerpc/ieee1275/linux.c
7995 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7996 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7997 Likewise. Rename to ...
7998 (alloc_phys_choose): ... this.
7999 (determine_phys_base: get_physbase): Likewise.
8000 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
8001 find_hook): Likewise.
8002 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
8003 (malloc_hook: count_hook): Likewise.
8004 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
8005 Likewise. Rename to ...
8006 (lower_hook): ... this.
8007 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8008 (upper_hook): ... this.
8009 (grub_mmap_get_post64: hook): Likewise. Rename to ...
8010 (post64_hook): ... this.
8011 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
8012 Likewise. Rename to ...
8013 (lower_hook): ... this.
8014 (grub_mmap_get_upper: hook): Likewise. Rename to ...
8015 (upper_hook): ... this.
8016 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
8017 (grub_mmap_iterate: fill_hook): Likewise.
8018 (fill_mask): Pass addr and mask within a single struct.
8019 (grub_cmd_badram: hook): Make static instead of nested. Rename
8020 to ...
8021 (badram_iter): ... this.
8022 (grub_cmd_cutmem: hook): Likewise. Rename to ...
8023 (cutmem_iter): ... this.
8024
8025 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
8028 delimit path in strings using quotes.
8029 * util/getroot.c (grub_guess_root_devices): Likewise.
8030 (grub_make_system_path_relative_to_its_root): Likewise.
8031 * util/grub-probe.c (probe): Likewise.
8032 * util/ieee1275/ofpath.c (find_obppath): Likewise.
8033 (xrealpath): Likewise.
8034
8035 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 Fix compilation with older compilers.
8038
8039 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
8040 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
8041 declarations.
8042 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
8043 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
8044 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
8045 identifier with b.
8046 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
8047 * include/grub/crypto.h: Add type defines.
8048 * util/import_gcrypth.sed: Remove duplicate type defines.
8049
8050 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 New command list_trusted.
8053
8054 * grub-core/commands/verify.c (grub_cmd_list): New function.
8055
8056 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
8057
8058 * util/grub-mkimage.c (generate_image): Fix "size of public key"
8059 info message.
8060
8061 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
8062
8063 Remove nested functions from PCI iterators.
8064
8065 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
8066 passed to hook. Update all callers to pass appropriate hook data.
8067 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
8068 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
8069 Remove NESTED_FUNC_ATTR from here and from all users.
8070 (grub_pci_iterate): Update prototype.
8071 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
8072 instead of nested. Rename to ...
8073 (grub_cs5536_find_iter): ... this.
8074 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
8075 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
8076 Likewise.
8077 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
8078 Likewise.
8079 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
8080 Likewise.
8081 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
8082 Likewise.
8083 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
8084 * grub-core/video/radeon_fuloong2e.c
8085 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
8086 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
8087 find_card): Likewise.
8088 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
8089 Likewise.
8090
8091 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 * grub-core/commands/verify.c: Mark messages for translating.
8094
8095 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
8098 fatal.
8099
8100 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
8103 fatal.
8104
8105 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * autogen.sh: Do not try to delete nonexistant files.
8108 * util/import_gcrypth.sed: Add some missing header removals.
8109
8110 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
8111
8112 Clean up dangling references to grub-setup.
8113 Fixes Ubuntu bug #1082045.
8114
8115 * docs/grub.texi (Images): Refer generally to grub-install rather
8116 than directly to grub-setup.
8117 (Installing GRUB using grub-install): Remove direct reference to
8118 grub-setup.
8119 (Device map) Likewise.
8120 (Invoking grub-install): Likewise.
8121 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8122 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8123 * util/grub-install.in (usage): Likewise.
8124
8125 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8126 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8127 grub-setup.
8128 * configure.ac: Remove grub_setup output variable.
8129
8130 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8131 to grub-bios-setup.
8132 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8133 grub-setup to grub-sparc64-setup.
8134
8135 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 Import gcrypt public-key cryptography and implement signature checking.
8138
8139 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/fs/ntfs.c: Ue more appropriate types.
8142 * grub-core/fs/ntfscomp.c: Likewise.
8143 * include/grub/ntfs.h: Likewise.
8144
8145 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 Support Apple FAT binaries on non-Apple platforms.
8148
8149 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8150 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8151 Likewise.
8152 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8153 Apple FAT binaries.
8154
8155 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8158 sector devices.
8159
8160 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8161
8162 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8163 explicitly zeroing elements.
8164 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8165 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8166 of elements in a structure already allocated using grub_zalloc.
8167 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8168
8169 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8170
8171 * docs/grub.texi (grub_cpu): New subsection.
8172 (grub_platform): Likewise.
8173
8174 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8177
8178 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8181 divisions.
8182
8183 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8186 * grub-core/fs/ntfscomp.c: Likewise.
8187 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8188 (grub_ntfs_comp): Likewise.
8189
8190 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8193 Rename to ...
8194 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8195 of groups_per_block. All users updated.
8196
8197 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8200 grub_error properly.
8201 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8202 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8203
8204 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8207 always in /boot/zfs.
8208 Reported by: Yuta Satoh.
8209
8210 2013-01-03 Yuta Satoh <nigoro>
8211
8212 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8213 ${grub_probe}
8214
8215 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * configure.ac: Extend -Wno-trampolines to host.
8218
8219 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8222 entry->len = 0.
8223
8224 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8225
8226 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8227 (Invoking grub-script-check): Likewise.
8228
8229 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8230
8231 * docs/grub.texi (Invoking grub-mount): New section.
8232 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8233
8234 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8235
8236 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8237 test failures, so that a failing unit test correctly causes 'make
8238 check' to fail.
8239
8240 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8241
8242 Fix failing printf test.
8243
8244 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8245 '$' in the correct order when collecting type information.
8246
8247 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8248
8249 * docs/grub.texi (configfile): Explain environment variable
8250 handling.
8251 (source): New section.
8252 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8253
8254 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
8255
8256 Remove several trivially-unnecessary uses of nested functions.
8257
8258 * grub-core/commands/i386/pc/sendkey.c
8259 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8260 instead of nested.
8261 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8262 Rename to ...
8263 (legacy_file_getline): ... this.
8264 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8265 Likewise.
8266 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8267 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8268 to ...
8269 (probe_dummy_iter): ... this.
8270 * grub-core/kern/i386/coreboot/mmap.c
8271 (grub_linuxbios_table_iterate: check_signature): Likewise.
8272 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8273 check_varstate): Likewise. Mark inline.
8274 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8275 an additional parameter.
8276 (find_long: fnd_long): Likewise. Pass two additional parameters.
8277 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8278 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8279 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8280 Likewise. Rename to ...
8281 (grub_cmos_find_port_iter): ... this.
8282 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8283 Rename to ...
8284 (find_rtc_iter): ... this.
8285
8286 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8287 function directly into the function body, since it is only called
8288 once.
8289
8290 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
8291
8292 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8293 __attribute__ ((unused)).
8294 * grub-core/video/bochs.c (find_card): Likewise.
8295 * grub-core/video/cirrus.c (find_card): Likewise.
8296 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8297 * grub-core/video/sis315pro.c (find_card): Likewise.
8298 * grub-core/video/sm712.c (find_card): Likewise.
8299
8300 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8301
8302 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8303 Fixes Savannah bug #37821.
8304
8305 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8306
8307 Apply program name transformations at build-time rather than at
8308 run-time. Fixes Debian bug #696465.
8309
8310 * acinclude.m4 (grub_TRANSFORM): New macro.
8311 * configure.ac: Create output variables with transformed names for
8312 most programs.
8313 * util/bash-completion.d/grub-completion.bash.in: Use
8314 pre-transformed variables for program names.
8315 * util/grub-install.in: Likewise.
8316 * util/grub-kbdcomp.in: Likewise.
8317 * util/grub-mkconfig.in: Likewise.
8318 * util/grub-mkconfig_lib.in: Likewise.
8319 * util/grub-mknetdir.in: Likewise.
8320 * util/grub-mkrescue.in: Likewise.
8321 * util/grub-mkstandalone.in: Likewise.
8322 * util/grub-reboot.in: Likewise.
8323 * util/grub-set-default.in: Likewise.
8324 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8325 * tests/util/grub-shell-tester.in: Remove unused assignment.
8326 * tests/util/grub-shell.in: Likewise.
8327 * util/grub.d/00_header.in: Likewise.
8328
8329 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8330
8331 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8332
8333 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8334 HAVE_RAW_DECL_GETS.
8335 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8336
8337 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8340 Reported by: Eriks Latosheks <foresterlv>.
8341
8342 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * docs/grub.texi (Network): Update instructions on generating netboot
8345 image.
8346
8347 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8350 around device name if necessarry.
8351
8352 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8353
8354 * util/grub-install.in: Follow the symbolic link parameter added
8355 to the file command.
8356
8357 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8358
8359 * util/grub-install.in: Remove stale TODO.
8360
8361 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8362
8363 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8364 dynamic allocation for the bootpath buffer.
8365
8366 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8367
8368 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8369 window too small.
8370
8371 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8374 argument rather than font name. All users updated.
8375 (grub_gfxterm_set_window): Likewise.
8376
8377 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8378
8379 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8380 from working.
8381
8382 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * util/getroot.c (convert_system_partition_to_system_disk): Support
8385 nbd disks.
8386
8387 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8390 infinite loop on corrupted FS.
8391
8392 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 Fix big-endian mtime.
8395
8396 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8397 together sec and usec.
8398 (grub_ufs_dir): Use correct byteswapping for UFS time.
8399
8400 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 Support big-endian UFS1.
8403
8404 * Makefile.util.def (libgrubmods): Add ufs_be.c
8405 * grub-core/Makefile.core.def (ufs1_be): New module.
8406 * grub-core/fs/ufs_be.c: New file.
8407 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8408 the file.
8409
8410 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8411
8412 * include/grub/types.h: Fix functionality unaffecting typo in
8413 GRUB_TARGET_WORDSIZE conditional macro.
8414
8415 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8416
8417 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8418
8419 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8420
8421 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8422 that /netbsd appears first (when it exists).
8423
8424 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
8425
8426 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8427 Fixes Savannah bug #37558.
8428
8429 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
8430
8431 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8432 description of extract_entries_configfile.
8433
8434 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
8435
8436 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8437 preferred_address.
8438 (grub_cmd_linux): Likewise.
8439 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8440 preferred_lifetime. Update all users.
8441
8442 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8443
8444 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8445 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8446
8447 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8448
8449 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8450 errors from grub-probe to /dev/null, not stdout.
8451
8452 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8455 sector 1.
8456
8457 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
8458
8459 * util/grub-install.in: Make the error message if $source_dir
8460 doesn't exist more useful.
8461
8462 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
8463
8464 Fix grub-emu build on FreeBSD.
8465
8466 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8467 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8468 headers on Linux.
8469 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8470 implementation is currently Linux-specific.
8471 * util/getroot.c (exec_pipe): Define only on Linux or when either
8472 libzfs or libnvpair is unavailable.
8473 (find_root_devices_from_poolname): Remove unused path variable.
8474
8475 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8476
8477 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8478 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8479 should fit before end == 63.
8480
8481 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8482
8483 * util/grub-setup.c (write_rootdev): Remove unused core_img
8484 parameter. Update all callers.
8485 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8486 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8487 GRUB_SETUP_BIOS.
8488
8489 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8492 (grub_add_tab): New function.
8493 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8494 * util/grub.d/10_illumos.in: Likewise.
8495 * util/grub.d/10_kfreebsd.in: Likewise.
8496 * util/grub.d/10_linux.in: Likewise.
8497 * util/grub.d/10_netbsd.in: Likewise.
8498 * util/grub.d/10_windows.in: Likewise.
8499 * util/grub.d/10_xnu.in: Likewise.
8500 * util/grub.d/20_linux_xen.in: Likewise.
8501 * util/grub.d/30_os-prober.in: Likewise.
8502
8503 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8506 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8507 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8508 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8509 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8510 ieee1275-nocursor.
8511 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8512 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8513
8514 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8517 le-conversion.
8518 Reported by: BURETTE, Bernard.
8519
8520 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
8521
8522 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8523 from comment.
8524
8525 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
8526
8527 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8528 IEEE1275 machines. Fixes powerpc-emu compilation.
8529 * include/grub/terminfo.h: Likewise.
8530
8531 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8534 a const pointer.
8535 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8536 const pointer.
8537 (efiemu_set_variable): Make vendor_guid a const pointer.
8538
8539 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 Don't require grub-mkconfig_lib to generate manpages for programs.
8542
8543 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8544 dependencies, don't add grub-mkconfig_lib.
8545 (program): Pass empty adddeps.
8546 (script): Pass grub-mkconfig_lib as adddeps.
8547
8548 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8551 * util/getroot.c (grub_find_device): Likewise.
8552 (get_mdadm_uuid): Likewise.
8553 (grub_util_is_imsm): Likewise.
8554 (grub_util_pull_device): Likewise.
8555 * util/grub-probe.c (probe): Likewise.
8556
8557 2012-09-10 Benoit Gschwind <gschwind>
8558
8559 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8560 (devs): Add devpath_8.
8561
8562 2012-09-08 Peter Jones <pjones@redhat.com>
8563
8564 * grub-core/Makefile.core.def (efifwsetup): New module.
8565 * grub-core/commands/efi/efifwsetup.c: New file.
8566 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8567 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8568 New define.
8569 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8570
8571 2012-09-05 Jiri Slaby <jslaby@suse.cz>
8572
8573 * configure.ac: Add SuSe path.
8574
8575 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8576
8577 * NEWS: Fix typo.
8578
8579 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8580
8581 * util/import_gcry.py: Sort cipher_files, to make build system
8582 generation more deterministic.
8583
8584 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8587 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8588 (grub_set_datetime): Likewise.
8589
8590 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8593 warnings.
8594
8595 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8598
8599 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8602
8603 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8604
8605 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8606 required for checkouts from bzr, but it may be useful for users or
8607 distributors wishing to update translations against a tarball
8608 distribution, and it can be helpful for the tarball to be a superset
8609 of what's in bzr.
8610
8611 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8612
8613 * Makefile.am (EXTRA_DIST): Add
8614 grub-core/tests/boot/linux.init-mips.S,
8615 grub-core/tests/boot/linux.init-ppc.S, and
8616 grub-core/tests/boot/linux-ppc.cfg.
8617
8618 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8619
8620 * grub-core/mmap/mips/loongson: Remove empty directory.
8621
8622 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8623
8624 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8625 gone.
8626
8627 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8628
8629 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8630 grub-sparc64-setup.
8631
8632 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8633
8634 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8635
8636 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8637
8638 * po/POTFILES.in: Regenerated.
8639
8640 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8641
8642 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8643 (NetBSD): New subsection.
8644
8645 2012-07-22 Ales Nesrsta <starous@volny.cz>
8646
8647 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8648 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8649
8650 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8653 * util/grub.d/10_hurd.in: Add missing quoting.
8654 * util/grub.d/10_illumos.in: Likewise.
8655 * util/grub.d/10_kfreebsd.in: Likewise.
8656 * util/grub.d/10_linux.in: Likewise.
8657 * util/grub.d/20_linux_xen.in: Likewise.
8658
8659 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 New command `lsefi'.
8662
8663 * grub-core/Makefile.core.def (lsefi): New module.
8664 * grub-core/commands/efi/lsefi.c: New file.
8665 * include/grub/efi/api.h: Add more GUIDs.
8666
8667 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8670 (grub_bsd_elf32_hook): Likewise.
8671 (grub_bsd_elf64_size_hook): Likewise.
8672 (grub_bsd_elf64_hook): Likewise.
8673 (grub_bsd_load_elf): Likewise.
8674
8675 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8678 if hash function is unavailable.
8679 (dec_stream_header): Likewise.
8680
8681 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8684 filter state.
8685
8686 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 Fix coreboot compilation.
8689
8690 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8691 (grub_vga_text_init_real): ... this.
8692 (grub_vga_text_fini): Rename to ...
8693 (grub_vga_text_fini_real): ... this.
8694
8695 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8698
8699 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * grub-core/lib/legacy_parse.c: Support clear and testload.
8702
8703 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8706
8707 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8710
8711 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/net/tftp.c (ack): Fix endianness problem.
8714 (tftp_receive): Likewise.
8715 Reported by: Michael Davidsaver.
8716
8717 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8720
8721 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8724 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8725 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8726
8727 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8730 efi_mmap_size.
8731 Reported by: Stuart Hayes.
8732
8733 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8736
8737 * grub-core/Makefile.core.def (mda_text): New module.
8738 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8739 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8740 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8741 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8742 here.
8743 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8744 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8745 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8746 here.
8747 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8748 to ..
8749 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8750 ... here
8751 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8752 here.
8753 * grub-core/term/i386/vga_common.c: Removed.
8754 * include/grub/i386/vga_common.h: Likewise.
8755 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8756 (grub_vga_cr_bw_read): Likewise.
8757 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8758 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8759 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8760 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8761 grub_vga_cr_read/grub_vga_cr_write.
8762 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8763
8764 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * configure.ac: Bump version to 2.00.
8767 * grub-core/normal/main.c (features): Add feature_200_final.
8768
8769 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8770 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8771
8772 * NEWS: Fix unclarity and language mistakes.
8773
8774 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8777 additional size to 3 pages.
8778 Reported by: Stuart Hayes.
8779
8780 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * NEWS: Add 2.00 entry.
8783
8784 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8787 put explicit "/" for empty path.
8788 (wildcard_expand): Improve dprintf.
8789
8790 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8793 it's equal to currnode. This can happen with "" symlink.
8794
8795 2012-06-27 Yves Blusseau <blusseau@zetam.org>
8796
8797 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8798 echo shell command by printf command.
8799
8800 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8803 the value returned by firmware is the maximal position, not diumension.
8804 (grub_terminfo_output_state): Use a more sane fallback.
8805
8806 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8809
8810 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8813 frequency to 150 MHz.
8814
8815 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 Apple fixes.
8818
8819 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8820 __APPLE_
8821 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8822 definition.
8823 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8824
8825 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Handle slash in HFS label.
8828
8829 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8830 (grub_hfs_dir): Tanslate slash.
8831 (grub_hfs_label): Don't translate slash.
8832
8833 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8836 network protocol listing since it introduces problematic dependency on
8837 net module.
8838
8839 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8842
8843 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 Init video early on yeeloong to avoid being rebooted by watchdog.
8846
8847 * grub-core/Makefile.am (gensm712): New target.
8848 (sm712_start.S): Likewise.
8849 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8850 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8851 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8852 description.
8853 * include/grub/vga.h: Move registry definitions to...
8854 * include/grub/vgaregs.h: ... here.
8855
8856 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8859 signedness.
8860
8861 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8864 platforms with firmware disk drivers in the core.
8865
8866 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8869 informative verbose message.
8870 (read_lv): Handle 64-bit segment size.
8871
8872 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8875
8876 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8879 character but still remove trainling spaces.
8880 (grub_fat_label): Ignore archive flag.
8881
8882 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8885 cast between linux_kernel_header and linux_kernel_params.
8886
8887 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8890 type for size.
8891 (grub_raid6_recover_func_t): Likewise.
8892 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8893 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8894
8895 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8898
8899 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8900
8901 Fix overflow.
8902
8903 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8904 [__NetBSD__]: Add explicit cast before bitshift.
8905
8906 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * configure.ac: Bump to 2.00~rc1.
8909
8910 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8913 half of $a0.
8914
8915 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8916 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8917
8918 * docs/grub.texi: Fix search syntax.
8919 (Multi-boot manual config): Put msdos rather than GPT example.
8920 Grammar corrections.
8921
8922 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8925
8926 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8929
8930 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8933 message on double free. Put the value of magic in case of mismatch.
8934
8935 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 Speed-up video on yeeloong.
8938
8939 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8940 add cached_ptr.
8941 (grub_video_sm712_video_fini): Unmap cached_ptr.
8942 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8943 (grub_video_sm712_set_active_render_target): Removed.
8944 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8945 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8946 sync caches.
8947
8948 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 Avoid flushing the same line multiple times on loongson.
8951
8952 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8953 Step in 32 bytes and not 1 byte.
8954 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8955 Likewise.
8956
8957 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8960 subvolumes.
8961
8962 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 Implement flow control for http.
8965
8966 * grub-core/net/http.c (parse_line): Handle response 206.
8967 (http_receive): Stall if too many packets are in the queue.
8968 (http_establish): Fix range header.
8969 (http_seek): Fix double free.
8970 (http_close): Likewise.
8971 (http_packets_pulled): New function.
8972 (grub_http_protocol): Set http_seek
8973 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8974 (ack_real): Set window depending on i_stall.
8975 (grub_net_send_tcp_packet): Likewise.
8976 (grub_net_tcp_stall): New function.
8977 (grub_net_tcp_unstall): Likewise.
8978 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8979 (grub_net_tcp_unstall): Likewise.
8980
8981 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8984
8985 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8986
8987 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8988
8989 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * tests/util/grub-shell.in: Fix a typo.
8992
8993 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 Implement flow control for tftp.
8996
8997 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8998 packets but stop only if stop condition is satisfied.
8999 (grub_net_fs_read_real): Call packets_pulled after real read. Use
9000 `stall' instead of `eof' as stop condition.
9001 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
9002 (http_err): Likewise.
9003 * grub-core/net/tftp.c (ack): Replace the first argument with data
9004 instead of socket.
9005 (tftp_receive): Stall if too many packets are in wait queue.
9006 (tftp_packets_pulled): New function.
9007 (grub_tftp_protocol): Set packets_pulled.
9008 * include/grub/net.h (grub_net_packets): New field count.
9009 (grub_net_put_packet): Increment count.
9010 (grub_net_remove_packet): Likewise.
9011 (grub_net_app_protocol): New field `packets_pulled'.
9012 (grub_net): New field `stall'.
9013
9014 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
9017 sync part to handle them.
9018
9019 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
9022 * grub-core/net/drivers/ieee1275/ofnet.c
9023 (grub_ieee1275_net_config_real): Likewise.
9024
9025 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
9028 the direct route for server/gateway.
9029
9030 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
9033 IP address to server name since we may not hame the DNS.
9034
9035 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
9038 freeing random buffer on failure.
9039 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
9040
9041 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
9044
9045 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
9048 reserved bytes.
9049 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
9050 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
9051 Handle malloc error correctly.
9052
9053 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9056 blocks.
9057
9058 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
9061 increment.
9062
9063 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
9066 none is explicitly specified.
9067
9068 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
9071 while reallocating.
9072
9073 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 Respect netmask from bootp/dhcp.
9076
9077 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
9078 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
9079 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
9080 into ...
9081 (grub_net_add_ipv4_local): ... this.
9082 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
9083 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
9084 (grub_net_add_ipv4_local): New proto.
9085
9086 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
9089 determining EFI memory map size.
9090
9091 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
9094
9095 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
9098 when looking for partition separator.
9099
9100 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9103 Escape commas.
9104
9105 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 Restructure FAT driver to avoid hook in label reading as it hits a
9108 GCC bug.
9109
9110 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9111 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9112 (grub_fat_iterate_dir): Split into ...
9113 (grub_fat_iterate_init): ... this, ...
9114 (grub_fat_iterate_fini): ... this, ...
9115 (grub_fat_iterate_dir_next): ... and this. All users updated.
9116
9117 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9120 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9121 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9122 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9123 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9124 New fields last_key and last_key_time.
9125 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9126 extended key-esc into extended key-extended key.
9127
9128 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Avoid unnecessary memcpy of whole video buffer.
9131
9132 * grub-core/video/fb/video_fb.c (dirty): New struct.
9133 (framebuffer): Add members current_dirty and previous_dirty.
9134 (dirty): New function.
9135 (grub_video_fb_fill_rect): Update dirty.
9136 (common_blitter): Likewise.
9137 (grub_video_fb_scroll): Likewise.
9138 (doublebuf_blit_update_screen): Copy only dirty part.
9139 (doublebuf_pageflipping_update_screen): Likewise.
9140 (grub_video_fb_doublebuf_blit_init): Init dirty.
9141 (doublebuf_pageflipping_init): Likewise.
9142 (grub_video_fb_setup): Likewise.
9143
9144 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9147 poll rate.
9148
9149 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9150
9151 Fix wildcard regexp dot and other special characters handling.
9152 Reported by: Robert Mabee.
9153
9154 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9155 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9156 (split_path): Trigger expansion on '?'.
9157 (unescape): New function.
9158 (wildcard_expand): Unescape parts copied without globbing.
9159 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9160 (grub_script_arglist_to_argv): Don't unescape expansions.
9161
9162 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * include/grub/net.h (grub_net_card): New member txbufsize.
9165 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9166 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9167 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9168 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9169 txbufsize.
9170 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9171 compatible property to check for macs. Set
9172 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9173 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9174 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9175 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9176 (send_card_buffer): Use txbuf.
9177 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9178 nested function out of the parent while on it.
9179
9180 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9183 presence check.
9184 (grub_ieee1275_net_config_real): Fix config pointer.
9185
9186 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9189 filename parsing to non-block devices.
9190
9191 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9194
9195 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9198 All users updated.
9199
9200 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9203 UUID search command even if hints probing failed.
9204
9205 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * po/POTFILES.in: Regenerated.
9208
9209 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 Speed-up video on fuloong.
9212
9213 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9214 New function.
9215 (grub_pci_device_unmap_range): Handle non-cached address.
9216 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9217 add direct_ptr.
9218 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9219 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9220 (grub_video_sis315pro_set_active_render_target): Removed.
9221 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9222 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9223 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9224 sync caches.
9225 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9226 New proto.
9227
9228 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * docs/grub.texi (Multi-boot manual config): New section.
9231
9232 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 Avoid slow read-back from VRAM.
9235
9236 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9237 Move from here ...
9238 * grub-core/video/fb/video_fb.c
9239 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9240 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9241 (front_target): Remove front_target. Add pages.
9242 (grub_video_fb_init): Skip setting front_pages.
9243 (grub_video_fb_fini): Likewise.
9244 (doublebuf_blit_update_screen): Use pages.
9245 (grub_video_fb_doublebuf_blit_init): Likewise.
9246 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9247 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9248 (grub_video_fb_setup): Prefer doublebuffing.
9249
9250 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9253 gzio.
9254
9255 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 Add loongson tests.
9258
9259 * tests/util/grub-shell.in: Handle loongson.
9260 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9261 drivers.
9262 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9263 Reboot instead of shutdown if REBOOT is defined.
9264
9265 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9268 sized ports since unlike on real hardware qemu supports only 32-bit
9269 regs.
9270
9271 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9274 * util/grub-mkrescue.in: Handle loongson.
9275
9276 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9279 Set is_part appropriately.
9280 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9281 names. Canonicalize partition without full disk.
9282
9283 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Revert usb-quiesce since it's wrong.
9286
9287 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9288 (grub_ofdisk_init): Don't do quiesce.
9289
9290 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9293 PowerMac workaround to Xserves as well.
9294 Information supplied by: Benjamin Herrenschmidt.
9295
9296 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 Don't assume that beginning address is also the entry point on ppc.
9299
9300 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9301 (grub_linux_boot): Use linux_entry.
9302 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9303 (grub_linux_load64): Likewise.
9304
9305 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9308
9309 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9312 needlessly lose the console.
9313
9314 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9317 space.
9318
9319 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9322 than current grub_get_rtc() not implemented when booted with
9323 coreboot without TSC.
9324
9325 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9326 Add machine/time.h to kernel headers on loongson.
9327 * grub-core/Makefile.core.def (kernel): Remove
9328 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9329 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9330 (grub_get_rtc): Likewise.
9331 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9332 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9333 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9334 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9335 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9336 rather than installing known non-working time source.
9337 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9338 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9339 * include/grub/time.h: Don't include machine/time.h.
9340 * include/grub/efi/time.h: Removed.
9341 * include/grub/i386/efi/time.h: Likewise.
9342 * include/grub/i386/ieee1275/time.h: Likewise.
9343 * include/grub/powerpc/ieee1275/time.h: Likewise.
9344 * include/grub/sparc64/ieee1275/time.h: Likewise.
9345 * include/grub/x86_64/efi/time.h: Likewise.
9346
9347 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 Remove dot on i and j when combining with above diacritics.
9350
9351 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9352 value.
9353 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9354 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9355 with dotless variants when any combining above is present.
9356
9357 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9360 text and not binary.
9361
9362 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 Stop polling as soon as we have the packet we were waiting for.
9365
9366 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9367 All users updated.
9368 * grub-core/net/arp.c (have_pending): New var.
9369 (pending_req): Likewise.
9370 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9371 stop indicator.
9372 (grub_net_arp_receive): Set have_pending.
9373 * grub-core/net/dns.c (recv_data): New field stop.
9374 (recv_hook): Set stop.
9375 (grub_net_dns_lookup): Init stop and use as stop condition.
9376 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9377 condition.
9378 * grub-core/net/net.c (grub_net_poll_cards): New argument
9379 stop_condition. Stop when it goes true.
9380 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9381 indicator.
9382 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9383
9384 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 Keep TX and RX buffers on EFI rather than always allocate new ones.
9387
9388 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9389 card. All users updated.
9390 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9391 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9392 (get_card_packet): Likewise.
9393 (grub_efinet_findcards): Init new fields.
9394
9395 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9398 compilation error on sparc64.
9399
9400 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 Use ITC on IA64 rather than broken routine based on daytime.
9403
9404 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9405 ia64.
9406 (grub_get_rtc) [__ia64__]: Likewise.
9407 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9408 (get_itc): New function.
9409 (grub_rtc_get_time_ms): Likewise.
9410 (grub_machine_init): Calibrate ITC.
9411 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9412 Keep only on non-ia64. Don't export since it's broken and used only
9413 if TSC is unavailable.
9414
9415 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9418 even if it's used.
9419 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9420 Skip if parent is unused.
9421
9422 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9425
9426 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 Fix wildcard escaping.
9429
9430 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9431 * grub-core/script/execute.c (wildcard_escape): .. to here.
9432 Don't escape dot.
9433 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9434 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9435 Don't escape dot.
9436 * grub-core/script/execute.c (gettext_append): Always escape.
9437 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9438 * grub-core/script/yylex.l: Don't cut away the escaping.
9439 * tests/grub_script_echo1.in: Add tests with wildcard.
9440
9441 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9444 (ftdi_hw_configure): Likewise.
9445 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9446 define.
9447 (real_config): Handle 1.5 stop bits.
9448 (pl2303_hw_configure): Likewise.
9449
9450 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * Makefile.am: Add ppc linux bootcheck.
9453 * grub-core/tests/boot/linux-ppc.cfg: New file.
9454 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9455
9456 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * tests/grub_script_expansion.in: Skip network protocols.
9459
9460 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9461
9462 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9463
9464 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9467 --rom-directory.
9468 Add -graft-points.
9469
9470 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 ESCC serial driver for conducting sautomated tests in qemu.
9473 Not tested on real hardware.
9474
9475 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9476 * grub-core/term/ieee1275/escc.c: New file.
9477 * grub-core/Makefile.core.def (escc): New module.
9478
9479 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9482 invalid on error.
9483 (serial_hw_fetch): Don't read invalid handle.
9484 (serial_hw_put): Don't write into invalid handle.
9485
9486 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 Add a 1.5 stop bits value.
9489
9490 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9491 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9492 GRUB_SERIAL_STOP_BITS_1_5.
9493
9494 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9497 value rather than let it uninited.
9498
9499 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 * grub-core/commands/wildcard.c (+check_file): New function.
9502 (wildcard_expand): Don't expand to non-existing files, expand with
9503 suffix and not attempt to expand if not needed.
9504
9505 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9508 out of partitions containing other partitions.
9509
9510 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9513 on some qemu versions with GRUB.
9514
9515 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9516 define.
9517 (grub_openbsd_bootarg_pcibios): New struct.
9518 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9519 Add PCIINFO.
9520
9521 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * tests/util/grub-shell.in: Trim firmware output on EFI.
9524
9525 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9528 and coreboot since it's already in kernel.
9529
9530 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9533 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9534 to here. New return value start. All users updated.
9535 Recursively scan linear mappings.
9536 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9537 proto.
9538 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9539 Use grub_util_get_dm_node_linear_info.
9540 * util/getroot.c (convert_system_partition_to_system_disk): Use
9541 grub_util_info rather than grub_dprintf.
9542 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9543
9544 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9547
9548 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9549 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9550
9551 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * include/grub/types.h (grub_set_unaligned64): New function.
9554 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9555 (setup): Likewise.
9556
9557 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9560 (grub_ofdisk_fini): Quiesce USB devices.
9561
9562 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9565 caches.
9566
9567 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9570
9571 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * grub-core/disk/pata.c (grub_pata_pio_read)
9574 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9575 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9576
9577 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 Extend automated tests to qemu-mips.
9580
9581 * Makefile.am: reorganise tests and enable qemu-mips.
9582 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9583 * grub-core/tests/boot/linux.init-mips.S: New file.
9584 * tests/partmap_test.in: Handle ata0 disks.
9585 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9586 non-pc i386.
9587
9588 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9591 ia64.
9592 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9593 quotes while on it.
9594
9595 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9598 (grub_halt): Likewise.
9599 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9600
9601 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/term/serial.c (grub_serial_register)
9604 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9605 the behaviour in line with x86 platforms.
9606
9607 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9610 (grub_ata_strncpy): Likewise.
9611 (grub_ata_identify): Add missing byteswaps.
9612
9613 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9616 byte-swap.
9617 (screen_read_char): Likewise.
9618 (grub_vga_text_cls): Likewise.
9619
9620 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9623 filenames.
9624 (make_file_path): Likewise.
9625
9626 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9629 machines.
9630 Tested by: Paulo Flabiano Smorigo.
9631 Crucial information about API supplied by: Coleen <Last name unknown>.
9632 Reviewed by: Coleen <Last name unknown>.
9633
9634 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * util/grub-mkimage.c: Disable -Wcast-align.
9637
9638 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9641 as they are fatal.
9642
9643 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9646
9647 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * util/grub-probe.c (escape_of_path): Fix double free.
9650
9651 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * grub-core/commands/videoinfo.c (hook): Show pitch.
9654
9655 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9658
9659 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9662 (probe): Add ieee1275 to OFW devices.
9663
9664 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9667
9668 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 Handle IBM OFW path.
9671
9672 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9673 available.
9674 (of_path_of_scsi): Handle vdevice.
9675
9676 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9679 Allocate in multiples of 16 to avoid adding a few bytes free region the
9680 windows bugs upon.
9681
9682 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9685 Allocate in multiples of 16 to avoid adding a few bytes free region the
9686 windows bugs upon.
9687 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9688
9689 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9692 resolutions.
9693 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9694 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9695
9696 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9697
9698 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9699
9700 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9703 resulted in \\ at the end of the line.
9704
9705 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9708 (grub_parser_cmdline_state): Likewise.
9709 (grub_parser_split_cmdline): Likewise.
9710
9711 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9714 /dev/root and /dev/dm-*.
9715
9716 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9719 fix partially stale display.
9720
9721 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9724 substraction.
9725
9726 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9729 Fix MBR remapping workaround.
9730 (grub_util_biosdisk_read) [__linux__]: Likewise.
9731
9732 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9735
9736 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * configure.ac: Bump to beta6.
9739
9740 2012-05-31 Christer Weinigel <christer@weinigel.se>
9741
9742 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9743
9744 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9747 (grub_cmd_linux): Likewise.
9748
9749 2012-05-31 Christer Weinigel <christer@weinigel.se>
9750
9751 Fix EHCI low-speed.
9752
9753 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9754 (GRUB_EHCI_MULT_TWO): Likewise.
9755 (GRUB_EHCI_MULT_THREE): Likewise.
9756 (GRUB_EHCI_CMASK_MASK): New enum value.
9757 (GRUB_EHCI_SMASK_MASK): Likewise.
9758 (GRUB_EHCI_CMASK_OFF): Likewise.
9759 (GRUB_EHCI_SMASK_OFF): Likewise.
9760 (grub_ehci_pci_iter): Enable periodic schedule.
9761 (grub_ehci_parse_notrun): Likewise.
9762 (grub_ehci_restore_hw): Likewise.
9763 (grub_ehci_setup_qh): Set flags for low speed transfers.
9764 (grub_ehci_find_qh): Use periodic list for low speed.
9765 (grub_ehci_setup_transfer): Check periodic queue as well.
9766 (grub_ehci_check_transfer): Likewise.
9767 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9768
9769 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9770
9771 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9772 parameter is used.
9773
9774 2012-05-31 Peter Jones <pjones@redhat.com>
9775
9776 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9777 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9778 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9779
9780 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9783 uninited variable. Allocate at least setup_sects.
9784
9785 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 Fix handling of EFI with big memory maps.
9788
9789 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9790 (real_mode_mem): Likewise.
9791 (real_mode_target): Likewise.
9792 (real_mode_pages): Likewise.
9793 (prot_mode_pages): Likewise.
9794 (linux_params): New var.
9795 (linux_cmdline): Likewise.
9796 (free_pages): Don't set real mode variables.
9797 (allocate_pages): Don't allocate real mode memory.
9798 (grub_e820_add_region): Remove the limit.
9799 (grub_linux_boot): Allocate and copy real mode memory.
9800 (grub_linux_unload): Free linux_cmdline.
9801 (grub_cmd_linux): Use temporary storage for parameters.
9802 (grub_cmd_initrd): Likewise.
9803 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9804 (linux_kernel_params): Make it 1K big.
9805
9806 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * Makefile.util.def: Remove -Wno-format.
9809 * grub-core/Makefile.core.def: Likewise.
9810
9811 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * tests/cmp_unit_test.c: Add missing failure message.
9814 * tests/example_unit_test.c: Likewise.
9815 * tests/printf_unit_test.c: Likewise.
9816
9817 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9820 relaxation of protective MBR requirements.
9821
9822 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * configure.ac: Add condition for COND_HOST_XNU.
9825 * Makefile.util.def (10_xnu): New script.
9826 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9827
9828 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9831 objconv bug.
9832
9833 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9836 Binary on other platforms stays identical.
9837
9838 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9841 Apple.
9842
9843 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9846
9847 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9850 rather than defining size_t ourselves to avoid conflict.
9851
9852 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9855 initialisation to avoid __bzero reference.
9856
9857 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9860 version.
9861 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9862 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9863 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9864 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9865 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9866
9867 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9870 * grub-core/kern/misc.c: Likewise.
9871 * grub-core/loader/i386/xnu.c: Likewise.
9872 * include/grub/i386/tsc.h: Likewise.
9873 * include/grub/symbol.h: Likewise.
9874
9875 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9878 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9879 on older compiler.
9880
9881 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9884 Implement Apple flavour.
9885 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9886
9887 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9890 (memmove) [__APPLE__]: Likewise.
9891 (memcpy) [__APPLE__]: Likewise.
9892 (memset) [__APPLE__]: Likewise.
9893 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9894 (memmove) [__APPLE__]: Likewise.
9895 (memcpy) [__APPLE__]: Likewise.
9896 (memset) [__APPLE__]: Likewise.
9897
9898 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9901 dependency discard.
9902
9903 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * grub-core/normal/main.c (read_config_file): Provide config_file and
9906 config_directory.
9907 * util/grub.d/41_custom.in: Use config_directoy when available.
9908
9909 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9912 (grub_bfs_dir): Likewise.
9913
9914 2012-05-27 Peter Jones <pjones@redhat.com>
9915
9916 The old code gives arguments to a printf function which can't work
9917 correctly, and the compiler complains.
9918
9919 * grub-core/tests/example_functional_test.c (example_test): Add
9920 missing text.
9921 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9922 * include/grub/test.h (grub_test_assert_helper): New declaration.
9923 (grub_test_assert): Use grub_test_assert_helper.
9924
9925 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9928 (exfctest): ... this to avoid overlong filenames.
9929 All users updated.
9930
9931 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 Handle "." and ".." on squashfs.
9934
9935 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9936 Make inode numbers into stack.
9937 (grub_squash_read_symlink): Use stack.
9938 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9939 (make_root_node): Fill stack.
9940 (grub_squash_open): Use stack.
9941
9942 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9945 freeing.
9946
9947 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9950 stderr on test calls.
9951
9952 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9955
9956 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9959
9960 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9963 "..".
9964
9965 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9968 (grub_hfsplus_iterate_dir): Add "." and "..".
9969
9970 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9973 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9974
9975 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9978 (find_path): Handle "." and "..".
9979
9980 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9983 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9984 (grub_affs_iterate_dir): Handle hardlinks.
9985
9986 2012-05-26 Matthew Garrett <mjg@redhat.com>
9987
9988 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9989 (grub_efi_console_fini): Likewise.
9990 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9991 (grub_video_gop_fill_mode_info): Rename to ...
9992 (grub_video_gop_fill_real_mode_info): ... this.
9993 (grub_video_gop_fill_mode_info): New function.
9994 (grub_video_gop_setup): Setup double framebuffer.
9995 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9996 Free offscreen.
9997 (grub_video_gop_swap_buffers): Copy framebuffer.
9998 (grub_video_gop_fini): Free offscreen buffer.
9999 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
10000 New enum.
10001 (grub_efi_gop_blt_pixel): New struct.
10002
10003 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * gentpl.py: Remove error disabling for objconv.
10006
10007 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * configure.ac: Remove -Wunitialized as it's not available on older
10010 compilers.
10011
10012 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 Fix extent overflow comparator.
10015
10016 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
10017 (grub_hfsplus_read_block): Set type.
10018 (grub_hfsplus_cmp_extkey): Compare type.
10019
10020 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
10023
10024 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
10027 than 0.
10028
10029 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
10032 (dejavu_bold_14.pf2): New target.
10033
10034 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * configure.ac: Fix djvu font detection.
10037
10038 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
10041 ext* instead of ext2.
10042
10043 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
10046 name with \0.
10047
10048 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
10049
10050 * docs/grub-dev.texi: Remove dot from .png.
10051
10052 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
10055 protective entry in any slot.
10056 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
10057 if protective entry is found in any slot.
10058
10059 Protective entry in non-first slot make no sense but is a widespread
10060 brain damage.
10061
10062 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
10065
10066 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
10069 with old reiserfs.
10070 (grub_reiserfs_open): Don't free root.
10071
10072 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
10075 after freeing for safety.
10076
10077 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
10080 Reported by: Jordan Uggla.
10081
10082 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
10083
10084 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
10085 actual implementation. Specifically, clarify that the grub menu will
10086 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
10087 passed.
10088
10089 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
10090
10091 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
10092 of r0.
10093
10094 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 Remove unjustified hard dependency of normal.mod on gfxterm.
10097
10098 * include/grub/term.h (grub_term_output): New member fullscreen.
10099 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
10100 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
10101 (grub_gfxterm): Set .fullscreen.
10102 * grub-core/normal/menu.c (menu_init): Use fullscreen.
10103 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
10104
10105 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10108 mentioning possible problems with non-ASCII (non-compliant) ISOs.
10109 Mention case-insensitive AFFS, SFS and JFS.
10110
10111 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10114
10115 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10118 a bad FS.
10119
10120 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10123 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10124
10125 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10128 (grub_jfs_mount): Fill caseins.
10129 (grub_jfs_find_file): Respect caseins.
10130
10131 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10134 through UTF-16.
10135
10136 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10139 New argument origpath. All users updated.
10140
10141 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10144 (read_attr): Ensure that we read start of possibly compressed block.
10145
10146 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10149 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10150 All users updated.
10151
10152 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10155 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10156 (dejavu.pf2): Replace with ...
10157 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10158 this.
10159
10160 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * util/grub.d/20_linux_xen.in: Add missing line.
10163
10164 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10167 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10168 (grub_utf16_to_utf8): Likewise.
10169
10170 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10173 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10174 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10175 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10176 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10177 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10178
10179 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10182 a bad FS.
10183
10184 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10187 (grub_udf_read_symlink): Handle read_string failure.
10188
10189 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10190
10191 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10192 comment.
10193
10194 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 Fix handling of UDF symlinks.
10197
10198 * grub-core/fs/udf.c (read_string): New argument outbuf.
10199 All users updated.
10200 (grub_ufs_read_symlink): Rename to ...
10201 (grub_udf_read_symlink): ... this. All users updated.
10202 Handle symlinks with more than one component.
10203
10204 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10207 symlinks. Replace leading colon with a slash.
10208
10209 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10212 filename.
10213
10214 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10217 match in inner node.
10218
10219 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10222 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10223 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10224 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10225 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10226 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10227 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10228 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10229 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10230
10231 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 Use grub-probe and not cmp to check that disk is empty.
10234
10235 * util/grub-install.in: Use grub-probe for zero-check.
10236 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10237 (probe): Handle PRINT_ZERO_CHECK.
10238 (argp_parser): Handle -t zero_check.
10239
10240 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 Flush block cache on adding disk to device map.
10243
10244 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10245 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10246 adding.
10247 (read_device_map): Likewise.
10248 (open_device): Flush on opening.
10249
10250 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10253 (handle_symlink): Fix off-by-one error.
10254 Canonicalize the target.
10255 (grub_cpio_dir): Canonicalize the name.
10256 Fix memory leak.
10257 Set directory.
10258 (grub_cpio_open): Canonicalize the name.
10259
10260 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10263 handling.
10264
10265 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10268 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10269
10270 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10273 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
10274 All users updated.
10275
10276 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10279 counterpart.
10280
10281 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Fix UFS1 big file support.
10284
10285 * grub-core/fs/ufs.c (INODE): Removed.
10286 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10287 64-bit.
10288 (INODE_MODE): Simplify.
10289 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10290 (grub_ufs_lookup_symlink): Don't use INODE.
10291
10292 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10295
10296 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10297 (grub_minix_data): Replace log_block_size with block_size.
10298 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10299 (grub_minix_mount): Fill block_size.
10300
10301 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * configure.ac: Bump to beta5.
10304
10305 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 Fix wrapped HFS+ handling.
10308
10309 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10310 blocks_start. All users updated.
10311 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10312 wrapping offset.
10313 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10314
10315 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 Fix long symlinks on reiserfs.
10318
10319 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10320 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10321 (grub_reiserfs_iterate_dir): Save size for non-directories.
10322 (grub_reiserfs_open): Don't reread stat block as we already know the
10323 size.
10324 (grub_reiserfs_read): Split into...
10325 (grub_reiserfs_read_real): ... and ...
10326 (grub_reiserfs_read): ...this.
10327
10328 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 Fix non-indexed JFS.
10331
10332 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10333 (grub_jfs_data): New field namecomponentlen.
10334 (grub_jfs_mount): Fill namecomponentlen.
10335 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10336
10337 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10340 * tests/grub_script_echo1.in: Add tests.
10341
10342 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10343
10344 * util/grub-install.in: Ignore empty devicetree directory.
10345
10346 2012-05-08 Bean <bean123ch@gmail.com>
10347
10348 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10349 All users updated.
10350 (free_rsm): Free header as well.
10351 (free_old_fragments): Fix memory leak.
10352 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10353 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10354 (destroy_pq): Likewise.
10355 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10356
10357 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10360 resulting hash as a precaution.
10361
10362 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10365 '_' in variable names.
10366 * grub-core/net/net.c (grub_net_network_level_interface_register):
10367 Likewise.
10368
10369 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10370
10371 Fix AFFS with non-512B blocks.
10372
10373 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10374 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10375 (grub_affs_data): Replace blocksize with log_blocksize.
10376 (grub_affs_read_block): Fix non-512B blocks.
10377 (grub_affs_read_symlink): Likewise.
10378 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10379 (grub_affs_read): Fix non-512B blocks.
10380 (grub_affs_label): Likewise.
10381 (grub_affs_mtime): Likewise.
10382 (grub_affs_mount): Fix block detection routine.
10383
10384 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 Add filesystem mtime to AFFS.
10387
10388 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10389 (aftime2ctime): New function.
10390 (grub_affs_dir): Use aftime2ctime.
10391 (grub_affs_label): Fix return value.
10392 (grub_affs_mtime): New function.
10393 (grub_affs_fs): Add mtime.
10394
10395 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10398 UTF-8.
10399
10400 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10403 UTF-8.
10404
10405 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10408
10409 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10412 flags.
10413 (FLAGS_CASE_SENSITIVE): New enum value.
10414 (cache_entry): New struct.
10415 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10416 cache_size and cache.
10417 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10418 Add log_blocksize and fshelp_flags.
10419 (grub_sfs_read_extent): Handle non-512 blocks.
10420 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10421 (grub_sfs_read_file): Handle non-512 blocks.
10422 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10423 fshelp_flags.
10424 (grub_sfs_read_symlink): Handle non-512 blocks.
10425 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10426 (grub_sfs_dir): Free cache.
10427 (grub_sfs_close): Likewise.
10428
10429 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10432 filesystems.
10433
10434 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10437
10438 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10441
10442 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10445 (grub_sfs_read_extent): Likewise.
10446 (grub_sfs_read_block): Likewise.
10447 (grub_sfs_mount): Likewise.
10448 (grub_sfs_iterate_dir): Likewise.
10449 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10450 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10451
10452 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 Fix errors on compressed NTFS with 512B clusters.
10455
10456 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10457 types.
10458 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10459 not 0.
10460 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10461 Relax check for inline extents.
10462 (ntfscomp): Return correct -1 on error and not 0.
10463
10464 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * util/grub-install.in: Fix handling of prefix containing spaces.
10467
10468 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10471 (grub_squash_read_data): Fix offset byte-swapping.
10472
10473 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10476 per common usage and preffered in several parts of code.
10477 (grub_memcmp): Likewise.
10478 (grub_strncmp): Likewise.
10479 * include/grub/misc.h (grub_strcasecmp): Likewise.
10480 (grub_strncasecmp): Likewise.
10481 * Makefile.util.def (cmp_test): New test.
10482 (grub_script_strcmp): Likewise.
10483 * tests/cmp_unit_test.c: New file.
10484 * tests/grub_script_strcmp.in: Likewise.
10485 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10486
10487 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * include/grub/pci.h: Move enums into no-asm part.
10490
10491 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10494
10495 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10496
10497 * util/getroot.c (find_hurd_root_device): Try to make error message
10498 and comments to translators clearer.
10499
10500 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10503
10504 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10507 btrfs.
10508
10509 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * docs/grub.cfg: Update.
10512
10513 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * docs/grub.texi (PXE): Remove not present variables.
10516
10517 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10518
10519 * grub-core/net/net.c (defserver_set_env): New function.
10520 (defserver_get_env): Likewise.
10521 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10522
10523 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10526 entries.
10527
10528 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10531 * grub-core/kern/emu/hostdisk.c: Likewise.
10532
10533 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10534
10535 Handle hurd userspace partitions.
10536
10537 * util/getroot.c (find_hurd_root_device): New function.
10538 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10539
10540 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10543 names.
10544 Reported by: Bastian Blank.
10545
10546 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10549 crossing page boundary.
10550
10551 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 Fix B-tree search in BFS, especially in presence of non-ASCII
10554 characters.
10555
10556 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10557 (find_in_b_tree): Use standard bsearch + btree algorithm.
10558
10559 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10562 and so on.
10563
10564 2012-05-03 Matthew Garrett <mjg@redhat.com>
10565 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 Suspend broadcom cards in order to stop their DMA.
10568
10569 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10570 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10571 (pci): Don't build on x86 EFI.
10572 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10573 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10574 New function.
10575 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10576 stop_broadcom if running on EFI.
10577 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10578 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10579 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10580 (grub_pci_find_capability): New proto.
10581
10582 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * docs/grub.texi: Remove dot from the extension as it apparently
10585 doesn't work with some makeinfo versions.
10586
10587 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10590 with GRUB expectance.
10591
10592 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10595
10596 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10599 zero after directory block since last entry may be not 0-terminated if
10600 it ends on block boundary. Use continue instead of if spanning whole
10601 loop.
10602
10603 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 Support 4K sectors UDF inline files.
10606
10607 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10608 (grub_udf_extended_file_entry): Likewise.
10609 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10610 All users updated.
10611 (get_fshelp_size): New function.
10612 (grub_udf_read_icb): Read whole block.
10613 (grub_udf_iterate_dir): Likewise.
10614 (grub_udf_dir): Likewise.
10615 (grub_udf_open): Likewise.
10616
10617 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10620
10621 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10624 inline symlinks in addition to workaround.
10625
10626 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10629
10630 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10633
10634 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10637
10638 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 Fix reiserfs big seek times.
10641
10642 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10643 exact. All users updated.
10644 (grub_reiserfs_read): Use nearest btree search for seeking.
10645 Fix return value on error.
10646
10647 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10650 entries.
10651 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10652 * docs/grub.texi: Update menuentry description.
10653
10654 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10657 crash when embedding onto filesystem.
10658
10659 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10662 name.
10663
10664 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10667
10668 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10671 commit.
10672
10673 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10674 2012-05-01 Bean <bean123ch@gmail.com>
10675
10676 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10677
10678 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10681 Special behaviour for len = 0 to read whole file isn't used anywhere and
10682 can cause buffer ovewrflows in several places.
10683
10684 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10687
10688 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 Handle RAIDZ on non-512B sectors.
10691
10692 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10693 max_children_ashift.
10694 (fill_vdev_info_real): Fill max_children_ashift.
10695 (read_device): Use max_children_ashift.
10696
10697 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10700
10701 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10704 disk names.
10705 * docs/grub.texi: Update device.map parts.
10706
10707 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 Don't scan into non-diskfilter devices having diskfilter names.
10710
10711 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10712 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10713 handling.
10714 (scan_disk_hook): New function.
10715
10716 2012-04-29 Bean <bean123ch@gmail.com>
10717
10718 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10719 allocation.
10720
10721 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10722
10723 * configure.ac: Detect starfield theme font path
10724 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10725
10726 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10729 geometry on serial consoles.
10730
10731 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10734 because of network consoles.
10735
10736 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10739 handling.
10740
10741 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10744 falls on Q syndrom.
10745
10746 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10749 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10750
10751 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10754 Allocate at lest 8192 for temporary buffer as required for lzo.
10755
10756 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10759 to cluster_bits, since it's already added in.
10760 (grub_fat_read_data): Likewise.
10761
10762 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10765 as long as cluster size is multiple of 512 bytes.
10766
10767 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * util/grub-mkrescue.in: Fix locale directory.
10770
10771 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * grub-core/kern/emu/hostdisk.c (map): Make static.
10774
10775 2012-04-23 Bean <bean123ch@gmail.com>
10776
10777 * util/grub-fstest.c (fstest): Add missing break.
10778
10779 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10780
10781 Fix hurd build.
10782
10783 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10784 not define nr variable.
10785 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10786 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10787 grub_find_device): Do not define.
10788
10789 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 Fix kfreebsd compile and behaviour.
10792
10793 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10794 format-security.
10795 * util/getroot.c: Fix wait.h include.
10796 (grub_guess_root_devices): Error if grub_find_device fails.
10797 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10798 (grub_util_get_dev_abstraction): Likewise.
10799 (grub_util_pull_device): Likewise.
10800 (grub_util_get_grub_dev): Likewise.
10801 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10802
10803 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10804
10805 Fix and unify wholedisk detection.
10806
10807 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10808 is_part. All users updated.
10809 (device_is_wholedisk): Removed.
10810 (grub_util_biosdisk_get_grub_dev): Use is_part.
10811
10812 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10815 mode.
10816
10817 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10818
10819 * configure.ac: Bump to beta4.
10820
10821 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10824 --fs-uuid --set UUID syntax.
10825
10826 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10827
10828 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10829 disunification.
10830
10831 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10834
10835 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
10836
10837 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10838
10839 2012-04-18 Mike Gilbert <floppym@gentoo.org>
10840
10841 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10842
10843 2012-04-18 Bean <bean123ch@gmail.com>
10844
10845 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10846 place.
10847
10848 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10851 users updated.
10852 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10853 corresponding to GRUB partitions.
10854 (grub_util_biosdisk_write): Likewise.
10855
10856 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 Scan mdraid before LVM.
10859
10860 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10861 (grub_diskfilter_register_front): ... this.
10862 (grub_diskfilter_register_back): New function.
10863 All users of grub_diskfilter_register updated.
10864
10865 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * util/grub-install.in: Fix an automatic target detection bug.
10868
10869 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * util/grub-install.in: New option --efi-directory.
10872
10873 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10876 boot services if we have no other choice.
10877
10878 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10881 document it.
10882 * tests/util/grub-shell.in: Update to --directory.
10883
10884 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10887
10888 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10891 (grub_minix_read_file): Likewise.
10892 (grub_minix_read_inode): Likewise.
10893 (grub_minix_find_file): Likewise.
10894 (grub_minix_dir): Likewise.
10895
10896 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * util/grub-setup.c (setup): Fix partition handling and blocklist
10899 check.
10900
10901 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10904 redundant buggy overlap check.
10905
10906 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10909 and grub-mknetdir.
10910
10911 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10914 kh.loadflags on pre-2.00 kernels.
10915
10916 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 Terminate UNDI and PXE before launching the payload to avoid problems
10919 with DMA.
10920
10921 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10922 (grub_loader_flags): ... this. All users updated.
10923 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10924 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10925 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10926 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10927 function.
10928 (grub_pxe_restore): Likewise.
10929 (fini_hnd): New var.
10930 (GRUB_MOD_INIT): Register shutdown hook.
10931 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10932 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10933 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10934 (grub_loader_set): Rename second argument to flags.
10935
10936 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10939 written bytes.
10940 (grub_get_num_of_utf8_bytes): New function.
10941 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10942 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10943 executing it.
10944 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10945 (grub_ucs4_to_utf8): Change return type.
10946
10947 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10950 warning.
10951 * grub-core/fs/bfs.c (hop_level): Likewise.
10952 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
10953
10954 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * grub-core/lib/adler32.c: Recode due to license unclearness.
10957
10958 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10961 (test_header): Likewise.
10962
10963 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 Fix --help formatting.
10966
10967 * util/grub-mkconfig_lib.in (print_option_help): New function.
10968 (grub_fmt): Likewise.
10969 * util/grub-install.in: Use print_option_help and grub_fmt.
10970 * util/grub-kbdcomp.in: Likewise.
10971 * util/grub-mkconfig.in: Likewise.
10972 * util/grub-mknetdir.in: Likewise.
10973 * util/grub-mkrescue.in: Likewise.
10974 * util/grub-mkstandalone.in: Likewise.
10975 * util/grub-reboot.in: Likewise.
10976 * util/grub-set-default.in: Likewise.
10977 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10978
10979 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * linguas.sh: Remove autogenerated *.po.
10982
10983 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 * po/README: Move language fetcing to ...
10986 * linguas.sh: ... here.
10987 * po/README: Point to linguas.sh.
10988
10989 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * po/README: Exclude ko.po due to disclaimer problems.
10992
10993 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10996 len = 0.
10997 (grub_gettext_translate_real): Handle 0th string.
10998 (grub_gettext_translate): Ensure that "" isn't translated.
10999
11000 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
11003 TRANSLATORS comment.
11004 (grub_diskfilter_print_partmap): Propagate changing of error into
11005 warning.
11006
11007 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
11010 to uint64_t to prevent overflow.
11011 (grub_diskfilter_lv): Increase start_extent and extent_count
11012 to uint64_t to prevent overflow.
11013
11014 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * configure.ac: Increase version.
11017
11018 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
11021
11022 * po/Rules-translit: New file.
11023 * po/arabic.sed: Likewise.
11024 * po/cyrillic.sed: Likewise.
11025 * po/greek.sed: Likewise.
11026 * po/hebrew.sed: Likewise.
11027 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
11028 * po/Makefile.in.in: Add extra_dist4.
11029
11030 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 Handle big-endian minixfs (fixes minixfs tests on bigendian).
11033
11034 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
11035 modify names. Introduce MODE_BIGENDIAN.
11036 * grub-core/fs/minix_be.c: New file.
11037 * grub-core/fs/minix2_be.c: Likewise
11038 * grub-core/fs/minix3_be.c: Likewise.
11039 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
11040 minix3_be.
11041 * grub-core/Makefile.core.def (minix_be): New module.
11042 (minix2_be): Likewise.
11043 (minix3_be): Likewise.
11044
11045 2012-04-01 Felix <email@hamburg.de>
11046
11047 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
11048 (devs): Add MBP 2011.
11049
11050 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
11053
11054 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * grub-core/normal/cmdline.c (print_completion): New field
11057 prompt_len.
11058 (grub_cmdline_get): Handle width properly.
11059
11060 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * grub-core/commands/lsacpi.c (options): Add missing terminator.
11063
11064 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11065
11066 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
11067 after 29th of February.
11068
11069 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 Fix exfat endianness handling.
11072
11073 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
11074 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
11075 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
11076 Byte-swap utf16 when necessary.
11077 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
11078
11079 2012-03-31 Anton Blanchard <anton@samba.org>
11080 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 Fix btrfs endianness handling.
11083
11084 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
11085 (lower_bound): Make root uint64_t. Use root in le.
11086 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
11087 (find_path): Fix template key init.
11088 (grub_btrfs_dir): Fix mtime byteswap.
11089 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
11090
11091 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
11094 recursion_depth. Break infinite resursions. All users updated.
11095
11096 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
11099 after free.
11100 Reported by: Peter Jones.
11101
11102 2012-03-31 Anton Blanchard <anton@samba.org>
11103
11104 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11105 8 bit values.
11106
11107 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * util/grub-install.in: Fix nvram call for PreP.
11110
11111 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11114 the error when some elements are missing into a warning.
11115
11116 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11119
11120 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
11121
11122 * docs/grub.texi (Invoking grub-probe): New section.
11123 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11124
11125 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 Fix tab and wide character handling in editor and menu.
11128
11129 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11130 agglomerate control characters with combining marks.
11131 (bidi_line_wrap): Allow break on tab.
11132 (grub_unicode_get_comb_start): New function.
11133 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11134 and tab correctly.
11135 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11136 with a space.
11137 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11138 fixed_tab_size. All users updated.
11139 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11140 (grub_term_getcharwidth): Handle \t.
11141 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11142 and copy.
11143
11144 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 Handle big-endian mdraid.
11147
11148 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11149 * grub-core/Makefile.core.def (mdraid09_be): New module.
11150 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11151 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11152 * grub-core/disk/mdraid_linux_be.c: New file.
11153
11154 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11157
11158 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11161 missing quotes which caused confusion among translators.
11162
11163 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * util/grub-mkconfig_lib.in: Fix typo.
11166
11167 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11170 spaces.
11171 * tests/grub_script_leading_whitespace.in: New file.
11172 * Makefile.util.def (grub_script_leading_whitespace): New test.
11173
11174 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11177 to work.
11178
11179 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11182 starts with control character.
11183
11184 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11187 overflow.
11188 (grub_gdb_outbuf): Likewise.
11189
11190 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11193 zero terminator. Fixes a crash.
11194
11195 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11196
11197 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11198 beyond 4 GiB.
11199 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11200 images independently of preffered adderss field.
11201
11202 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11205 * grub-core/commands/regexp.c: Likewise.
11206 * grub-core/loader/i386/linux.c: Likewise.
11207 * grub-core/partmap/msdos.c: Likewise.
11208 * grub-core/script/execute.c: Likewise.
11209 * grub-core/term/gfxterm.c: Likewise.
11210
11211 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 Add variable parsing in $"..." and fix several mismatches with bash.
11214
11215 * Makefile.util.def (grub_script_gettext): New test.
11216 * grub-core/script/execute.c (parse_string): New function.
11217 (gettext_append): Likewise.
11218 (grub_script_arglist_to_argv): Use gettext_append.
11219 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11220 * tests/grub_script_gettext.in: New file.
11221
11222 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 Fix handling of leading spaces in scripts.
11225
11226 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11227 spaces.
11228 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11229 other than skipping \r. All users updated.
11230 * tests/grub_script_echo1.in: Add space-related tests.
11231 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11232
11233 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11236
11237 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * configure.ac: Bump up the version to beta2.
11240
11241 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 Fix gettext reload bugs (e.g. inability to disable gettext
11244 once enabled).
11245
11246 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11247 main_context and secondary_context. All functions updated.
11248 (grub_gettext_translate): Rename to ...
11249 (grub_gettext_translate_real): ... this. Return NULL on failed
11250 translate.
11251 (grub_gettext_translate): Handle secondary context.
11252 (grub_gettext_delete_list): Close file and zero-out the context.
11253 (grub_mofile_open): Don't call grub_gettext_delete_list.
11254 Don't close file.
11255 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11256 if locale="" to avoid pointless error message.
11257 (grub_gettext_env_write_lang): Update lang even if load fails.
11258 Handle secondary context.
11259 (grub_gettext_reread_prefix): New function.
11260 (read_main): Likewise.
11261 (read_secondary): Likewise.
11262 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11263 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11264 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11265 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11266
11267 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * configure.ac: Decrease warning level to avoid spurious warnings and
11270 to be able to compile with GCC 4.2.
11271 * Makefile.util.def: Remove -Wno-error=logical-op.
11272
11273 2012-03-10 William Bittner <william.bittner@gmail.com>
11274
11275 * util/import_unicode.py: Add missing brackets around string for
11276 python 3 support.
11277
11278 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 Fix efi chainloader on network root.
11281
11282 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11283 network devices.
11284 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11285 New function.
11286
11287 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11290 unused show_text member.
11291 * docs/grub.texi: Document "text" property.
11292
11293 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11296 in dprintf.
11297
11298 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 Fix IMSM handling on Fedora.
11301
11302 * util/getroot.c (grub_util_is_imsm): New function.
11303 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11304
11305 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * Makefile.am: Strip gold section.
11308 * conf/Makefile.common: Likewise.
11309 * gentpl.py: Likewise.
11310 * grub-core/Makefile.core.def: Likewise.
11311 * grub-core/genmod.sh.in: Likewise.
11312
11313 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11316 * util/grub.d/20_linux_xen.in: Likewise.
11317 Based on Debian patch.
11318
11319 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11320
11321 * util/grub.d/10_linux.in: Fix syntax error resulting in
11322 Richard Laager's patch.
11323 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11324
11325 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11328 dependencies.
11329
11330 2012-03-10 Richard Laager <rlaager@wiktel.com>
11331
11332 * util/grub.d/10_linux.in: Fix ZFS root passing.
11333
11334 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11337 * grub-core/commands/xnu_uuid.c: Likewise.
11338 * grub-core/loader/efi/appleloader.c: Likewise.
11339 * grub-core/script/execute.c: Likewise.
11340 * grub-core/script/main.c: Likewise.
11341 * util/grub-mkfont.c: Likewise.
11342
11343 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * util/grub-mkfont.c (options): Use more appropriate "select" that
11346 "set" for face index.
11347
11348 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * util/grub-editenv.c (options): Gettextize command summaries.
11351
11352 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11355 "out of memory" error messagge.
11356
11357 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11360 of diskfilter for diskfilter on diskfilter support.
11361
11362 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11365
11366 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11369 themes/starfield.
11370
11371 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11374
11375 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11378
11379 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11382 of error message.
11383
11384 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11387
11388 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11391 message.
11392 * util/grub-install.in: Fix and gettextize error message.
11393
11394 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11397 Gettextize.
11398 * util/grub-mount.c (options): Likewise.
11399
11400 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11403 gettextize.
11404 * grub-core/commands/search_wrap.c (options): Likewise.
11405
11406 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11409
11410 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11413 size calculation.
11414 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11415 none is known.
11416
11417 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11420 "temporary" since it's used in identifier and is limited in space.
11421
11422 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * po/POTFILES.in: Regenerate. Include *.h since they contain
11425 translatable strings as well.
11426
11427 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11430 byte-swap on big-endian.
11431 Reported by: Lennart Sorensen
11432
11433 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11436 (allocate_pages): Improve dprintf.
11437 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11438 code32_start. Fill code32_start and kernel_alignment in params.
11439 (grub_cmd_initrd): Use prot_init_space.
11440
11441 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11444
11445 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * util/grub-install.in: Add missing dot at the end of sentence.
11448
11449 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11452 * grub-core/commands/videotest.c: Likewise.
11453 * grub-core/loader/i386/linux.c: Likewise.
11454
11455 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11458 sentence.
11459 Reported by: Milo Casagrande.
11460
11461 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11464 * grub-core/commands/gptsync.c: Likewise.
11465 * grub-core/commands/hashsum.c: Likewise.
11466 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11467 * grub-core/commands/legacycfg.c: Likewise.
11468 * grub-core/io/gzio.c: Likewise.
11469 * grub-core/net/net.c: Likewise.
11470 * grub-core/term/gfxterm.c: Likewise.
11471 * grub-core/term/terminfo.c: Likewise.
11472 * grub-core/tests/test_blockarg.c: Likewise.
11473 * grub-core/video/video.c: Likewise.
11474 * util/grub-install.in: Likewise.
11475 * util/grub-mkfont.c: Likewise.
11476
11477 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11480
11481 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 * grub-core/commands/search_wrap.c (options): Fix a typo.
11484 Reported by: David Prévot.
11485
11486 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11489 description.
11490
11491 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11492
11493 * util/grub-script-check.c (main): Fix a syntax error message which was
11494 unclear.
11495
11496 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11499
11500 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11503 messages.
11504
11505 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11508 without argument.
11509 * util/grub-mount.c (options): Likewise.
11510
11511 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11514
11515 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * grub-core/net/http.c: Add TRANSLATORS comments.
11518 * grub-core/normal/cmdline.c: Likewise.
11519 * grub-core/normal/misc.c: Likewise.
11520 * grub-core/partmap/msdos.c: Likewise.
11521 * grub-core/parttool/msdospart.c: Likewise.
11522 * grub-core/script/execute.c: Likewise.
11523 * grub-core/script/main.c: Likewise.
11524 * grub-core/term/terminfo.c: Likewise.
11525 * grub-core/video/bitmap.c: Likewise.
11526 * util/grub-install.in: Likewise.
11527 * util/grub-mkimage.c: Likewise.
11528 * util/grub-mklayout.c: Likewise.
11529 * util/grub-setup.c: Likewise.
11530
11531 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11534 with similar messages in grub-fstest.
11535
11536 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * util/grub-install.in: Unify "option requires an argument" message
11539 with similar messages in other files.
11540 * util/grub-mkconfig.in: Likewise.
11541
11542 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * util/grub-set-default.in: Replace printf with gettext_printf (the
11545 string in in question is already translated from grub-reboot)
11546
11547 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * configure.ac: Bump up the version to beta1.
11550
11551 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11552
11553 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11554 case when min_align = 0.
11555
11556 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11559 and fix a case when line_start overflows.
11560
11561 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * util/grub-reboot.in (usage): Mention id posibility.
11564 * util/grub-set-default.in (usage): Likewise.
11565
11566 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11569 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11570 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11571 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11572 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11573 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11574 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11575
11576 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * grub-core/commands/menuentry.c (options): Remove
11579 GRUB_ARG_OPTION_REPEATABLE.
11580 Reported by: Andreas Vogel
11581
11582 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11583
11584 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11585
11586 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11587
11588 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11589 error.
11590
11591 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 Use sort -V by the idea of Georgi Georgiev.
11594
11595 * util/grub-mkconfig_lib.in (version_sort): New function.
11596 (version_test_numeric): Use version_sort.
11597
11598 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 Use submenus in grub-mkconfig.
11601
11602 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11603 * util/grub-mkconfig_lib.in (grub_quote): New function.
11604 (gettext_printf): Use gettext and not gettext_quoted to fix several
11605 messages.
11606 * util/grub.d/10_hurd.in: Use submenus.
11607 * util/grub.d/10_kfreebsd.in: Likewise.
11608 * util/grub.d/10_linux.in: Likewise.
11609 * util/grub.d/10_netbsd.in: Likewise.
11610 * util/grub.d/20_linux_xen.in: Likewise.
11611 * util/grub.d/30_os-prober.in: Likewise.
11612 * util/grub.d/10_illumos.in: Add missing quoting.
11613 * util/grub.d/10_windows.in: Likewise.
11614
11615 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 Fix menu title instability bug.
11618
11619 * grub-core/commands/menuentry.c (options): New option --id.
11620 (grub_normal_add_menu_entry): New argument id. All users updated.
11621 (grub_cmd_menuentry): Handle --id.
11622 (grub_menu_init): Accept unknown arguments.
11623 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11624 feature_menuentry_options.
11625 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11626 saved_entry.
11627 (get_entry_number): Match with id as well.
11628 * include/grub/menu.h (grub_menu_entry): New member id.
11629 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11630 * util/grub.d/00_header.in: Define menuentry_id_option.
11631 * util/grub.d/10_hurd.in: Define id.
11632 * util/grub.d/10_illumos.in: Likewise.
11633 * util/grub.d/10_kfreebsd.in: Likewise.
11634 * util/grub.d/10_linux.in: Likewise.
11635 * util/grub.d/10_netbsd.in: Likewise.
11636 * util/grub.d/10_windows.in: Likewise.
11637 * util/grub.d/20_linux_xen.in: Likewise.
11638 * util/grub.d/30_os-prober.in: Likewise.
11639
11640 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11643 "scope" with "body".
11644
11645 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11648 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11649 prot_size and prot_file_size.
11650
11651 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11654 All users updated. If easily=1 require raid-5/-6 to be full.
11655 (is_node_readable): Likewise.
11656 (scan_devices): Scan incomplete but readable LVs at the end.
11657 (grub_diskfilter_memberlist): Pull missing devices.
11658 (insert_array): Skip scanning until device is complete or scan is
11659 done otherwise.
11660 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11661 check.
11662 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11663 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11664
11665 2012-03-03 Matthew Garrett <mjg@redhat.com>
11666 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 Avoid EFI boot services when loading Linux.
11669
11670 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11671 avoid_efi_bootservices. All users updated.
11672 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11673 argument avoid_efi_bootservices. All users updated.
11674 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11675 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11676 align, min_align, relocatable, prefered_address. All users updated.
11677 Allocate avoiding boot services if kernel is relocatable.
11678 (grub_cmd_linux): Check if kernel is relocatable.
11679 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11680 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11681 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11682 avoid_efi_boot_services.
11683 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11684 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11685 (linux_kernel_params): Likewise.
11686
11687 2012-03-03 Matthew Garrett <mjg@redhat.com>
11688 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 Use EDID on EFI.
11691
11692 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11693 datasize_out.
11694 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11695 modes. Set gop_handle.
11696 (grub_video_gop_get_edid): New function.
11697 (grub_gop_get_preferred_mode): Likewise.
11698 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11699 (grub_video_efi_gop_adapter): Set .get_edid.
11700 * include/grub/efi/edid.h: New file.
11701 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11702
11703 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * util/grub-install.in: Load efivars unconditionally.
11706
11707 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * po/Rules-piglatin: Change suffix from .po-update-en to
11710 .po-update-en-piglatin.
11711
11712 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 Add a pig farm.
11715
11716 * po/piglatin.sed: New file.
11717 * po/en@piglatin.header: Likewise.
11718 * po/Rules-piglatin: Likewise.
11719 * po/README: Add en@piglatin to autogenerated languages.
11720
11721 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11724 "Command for ...".
11725 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11726 "Check" since we don't check anything.
11727 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11728 is 64-bit one.
11729 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11730 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11731 (grub_md_sha512_real): Likewise.
11732
11733 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11734
11735 * grub-core/commands/gptsync.c: Fix typographic quoting.
11736 * grub-core/commands/ieee1275/suspend.c: Likewise.
11737 * grub-core/commands/parttool.c: Likewise.
11738 * grub-core/commands/search_wrap.c: Likewise.
11739 * grub-core/commands/videoinfo.c: Likewise.
11740 * grub-core/gfxmenu/gui_label.c: Likewise.
11741 * grub-core/hello/hello.c: Likewise.
11742 * grub-core/kern/emu/main.c: Likewise.
11743 * grub-core/net/net.c: Likewise.
11744 * grub-core/normal/menu.c: Likewise.
11745 * grub-core/normal/menu_text.c: Likewise.
11746 * grub-core/normal/misc.c: Likewise.
11747 * util/grub-editenv.c: Likewise.
11748 * util/grub-install.in: Likewise.
11749 * util/grub-kbdcomp.in: Likewise.
11750 * util/grub-mkconfig.in: Likewise.
11751 * util/grub-mknetdir.in: Likewise.
11752 * util/grub-mkrescue.in: Likewise.
11753 * util/grub-mkstandalone.in: Likewise.
11754 * util/grub-reboot.in: Likewise.
11755 * util/grub-set-default.in: Likewise.
11756 * util/grub-setup.c: Likewise.
11757 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11758
11759 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11762 * grub-core/commands/keystatus.c: Likewise.
11763 * grub-core/commands/loadenv.c: Likewise.
11764 * grub-core/commands/probe.c: Likewise.
11765 * grub-core/commands/regexp.c: Likewise.
11766 * grub-core/commands/true.c: Likewise.
11767 * grub-core/commands/videoinfo.c: Likewise.
11768 * grub-core/disk/cryptodisk.c: Likewise.
11769 * grub-core/disk/ldm.c: Likewise.
11770 * grub-core/disk/loopback.c: Likewise.
11771 * grub-core/disk/luks.c: Likewise.
11772 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11773 * grub-core/kern/disk.c: Likewise.
11774 * grub-core/kern/emu/hostdisk.c: Likewise.
11775
11776 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11779 * util/grub-install.in: Add missing quote in the comment.
11780
11781 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11784 * grub-core/commands/lsmmap.c: Likewise.
11785 * grub-core/commands/minicmd.c: Likewise.
11786 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11787 * grub-core/commands/regexp.c: Likewise.
11788 * grub-core/gdb/gdb.c: Likewise.
11789 * grub-core/term/gfxterm.c: Likewise.
11790 * util/grub-mkconfig.in: Likewise.
11791 * util/grub-mkfont.c: Likewise.
11792 * util/grub-mklayout.c: Likewise.
11793 * util/grub-mknetdir.in: Likewise.
11794 * util/grub-mkrescue.in: Likewise.
11795 * util/grub.d/30_os-prober.in: Likewise.
11796
11797 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11800 with "Direct color" and "Packed" with "Packed pixel".
11801 (grub_cmd_videoinfo): Simplify legend.
11802
11803 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11806 absolutely unclear error message.
11807
11808 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * util/grub-mkstandalone.in: Remove confusing leftover print.
11811
11812 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11815 comments.
11816 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11817 (GRUB_MOD_INIT): Likewise.
11818 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11819 VGA mode.
11820 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11821 comments.
11822 * util/grub-install.in (usage): Likewise.
11823 Spell ID in whole letters.
11824 Add missing ending dot.
11825 Quote variables.
11826 * util/grub-reboot.in: Fix capitalisation.
11827 * util/grub-set-default.in: Likewise.
11828
11829 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11830
11831 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11832 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11833 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11834 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11835 Disable -Werror for -Wdeprecated-declarations.
11836 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11837 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11838 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11839 (grub_util_get_grub_dev): Make luks handling dependent on
11840 HAVE_DEVICE_MAPPER and not __linux__.
11841 (get_win32_path): Fix format security.
11842 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11843 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11844 Don't try grub_find_zpool_from_dir.
11845 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11846 #ifdef-out paresdir.
11847
11848 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * util/grub-pe2elf.c (usage): Add missing noreturn.
11851 (write_section_data): Rename name to shname to avoid shadowing.
11852 (write_symbol_table): Rename name to symname to avoid shadowing.
11853 Fix write_reloc_section call.
11854
11855 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11858 to ensure that it's after the last byte of .text.
11859
11860 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11861
11862 * util/ieee1275/ofpath.c (my_isdigit): New function.
11863 (trailing_digits): Use my_isdigit.
11864 (strip_trailing_digits): Likewise.
11865
11866 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11867
11868 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11869 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11870
11871 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * grub-core/kern/i386/pc/startup.S: Define __start.
11874
11875 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11878 strip already transforms he format.
11879
11880 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11883
11884 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * util/grub-install.in: Add missing gettext init.
11887 * util/grub-kbdcomp.in: Likewise.
11888 * util/grub-mkconfig.in: Likewise.
11889 * util/grub-mknetdir.in: Likewise.
11890 * util/grub-mkrescue.in: Likewise.
11891 * util/grub-mkstandalone.in: Likewise.
11892 * util/grub-reboot.in: Likewise.
11893 * util/grub-set-default.in: Likewise.
11894 * util/grub.d/00_header.in: Likewise.
11895 * util/grub.d/10_hurd.in: Likewise.
11896 * util/grub.d/10_windows.in: Likewise.
11897 * util/grub.d/30_os-prober.in: Likewise.
11898 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11899
11900 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * po/Rules-swiss: Fix header comment.
11903
11904 2012-02-29 Andreas Vogel <anvoit>
11905
11906 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11907 resulted in leak of arguments.
11908
11909 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11912 reed_solomon_size const definition instead of computing it since
11913 Apple assembler doesn't support the later.
11914
11915 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * gentpl.py (kernel): Rewrite Apple part.
11918
11919 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11922
11923 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11926 ELF section gap.
11927 (load_image): Likewise.
11928
11929 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 * configure.ac: Fix a typo in previous commit.
11932
11933 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 Don't add -Wl,-N on Apple platform.
11936
11937 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11938 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11939
11940 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * grub-core/Makefile.core.def (lzma_decompress): Use
11943 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11944
11945 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 * grub-core/genmod.sh.in: Rewrite the Apple part.
11948
11949 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11952 comparison.
11953
11954 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * acinclude.m4 (grub_CHECK_PIC): New test.
11957 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11958
11959 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11960
11961 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11962 to avoid the warning.
11963
11964 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11967 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11968 after. All users updated.
11969
11970 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 Use the common size routine in hostfs so we can read disks as well.
11973
11974 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11975 (grub_util_get_fd_size): ... this. Return size in bytes.
11976 All users updated.
11977 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11978 grub_util_get_fd_size.
11979
11980 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11983 Add blocksize retrieval.
11984
11985 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 * configure.ac: Restore CFLAGS after efiemu check.
11988
11989 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11992 Apple bug.
11993
11994 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11997
11998 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
12001 (grub_cmd_halt): Likewise.
12002
12003 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
12006 for local arithmetics.
12007 Break %sp init into 2 instructions.
12008 Add 0 byte at the end.
12009
12010 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * grub-core/disk/diskfilter.c (read_segment): Initialise err
12013 before loops.
12014
12015 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
12018 for context.
12019
12020 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12021
12022 * grub-core/disk/ldm.c (make_vg): Init part.name.
12023 (grub_ldm_detect): Silence spurious warning.
12024 (grub_util_is_ldm): Likewise.
12025
12026 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
12029 sane value to avoid a spurious warning.
12030
12031 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
12034 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
12035
12036 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
12039 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
12040
12041 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
12044 hardcoding the relevant info.
12045
12046 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
12049 missing const qualifiers.
12050 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
12051
12052 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 * util/getroot.c [__APPLE__]: Add missing includes.
12055 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
12056
12057 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * util/grub-mkimage.c (generate_image): Silence spurious warning.
12060
12061 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
12064 avoid conflicts.
12065
12066 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
12069
12070 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
12073 and grub_file_close call.
12074
12075 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 Add LZSS Mach-O support (needed for new xnu kernelcache).
12078
12079 * grub-core/Makefile.core.def (xnu): Add file lzss.c
12080 * grub-core/loader/lzss.c: New file.
12081 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
12082 on Mach-O open failure.
12083 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
12084 Don't free cmdsXX in uncompressedXX is set.
12085 (grub_macho_file): Init new fields.
12086 New argument is_64bit. All users updated.
12087 Handle compressed. Error out if no suitable architecture is found.
12088 Don't close file.
12089 (grub_macho_open): New argument is_64bit. All users updated.
12090 * grub-core/loader/macho32.c: Add defines for new fields.
12091 * grub-core/loader/macho64.c: Likewise.
12092 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
12093 (grub_macho_parse): Handle compressed.
12094 Defer actual processing if compressed.
12095 (grub_macho_cmds_iterate): Decompress if compressed. New argument
12096 "filename". All users updated.
12097 (grub_macho_size): New argument "filename". All users updated.
12098 (grub_macho_get_entry_point): Likewise.
12099 (grub_macho_load): Handle compressed.
12100 * include/grub/macho.h (grub_macho_lzss_header): New struct.
12101 (GRUB_MACHO_LZSS_OFFSET): New define.
12102 (grub_decompress_lzss): New proto.
12103 * include/grub/machoload.h (grub_macho_file): New fields to handle
12104 compressed.
12105 (grub_macho_contains_macho64): Remove proto.
12106 (grub_macho_contains_macho32): Likewise.
12107 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12108
12109 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12112
12113 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 Fix make dist.
12116
12117 * Makefile.am (starfield_theme_files): New var.
12118 (starfield_DATA): Use starfield_theme_files.
12119 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12120 Add bootcheck-related files.
12121 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12122 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12123 and font_char_metrics.txt.
12124 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12125 (setjmp): Add lib/ia64/longjmp.S.
12126 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12127 * po/POTFILES.in: Regenerate.
12128 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12129 DISTFILES.common.extra1.
12130 * util/devicemap.c: Removed.
12131 * grub-core/lib/i386/relocator_backward.S: Likewise.
12132 * util/import_gcry.py: Remove unused files. Add extra_dist for
12133 ChangeLog.
12134
12135 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12138 grub_gettext_delete_list before changing grub_gettext_max to avoid
12139 running out of array bounds.
12140
12141 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12144 grub_vga_text_init/grub_vga_text_fini.
12145
12146 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12149
12150 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * configure.ac: Bump to 2.00~beta0.
12153
12154 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12157 missing initialisation.
12158
12159 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12162
12163 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 Support v2 xnu boot arguments.
12166
12167 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12168 New argument fsbfreq_out.
12169 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12170 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12171 be used.
12172 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12173 darwin_version.
12174 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12175 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12176 (grub_xnu_boot_params): Rename to ...
12177 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12178 (grub_xnu_boot_params_v2): New struct.
12179
12180 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12183 zeroing of CRC field before computing CRC.
12184
12185 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12188 Change order of allocations to decrease fragmentation.
12189
12190 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12193
12194 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12195
12196 Use write-combining MTRR to speed up video with buggy BIOSes.
12197
12198 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12199 (cpuid): New define.
12200 (rdmsr): Likewise.
12201 (wrmsr): Likewise.
12202 (mtrr_base): Likewise.
12203 (mtrr_mask): Likewise.
12204 (grub_vbe_enable_mtrr_entry): New function.
12205 (grub_vbe_enable_mtrr): Likewise.
12206 (grub_vbe_disable_mtrr): Likewise.
12207 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12208 control off to BIOS.
12209 (grub_video_vbe_init): Fill mtrr.
12210 (grub_video_vbe_fini): Disable mtrr.
12211 (grub_video_vbe_get_info_and_fini): Likewise.
12212 (grub_video_vbe_setup): Enable mtrr.
12213
12214 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12215
12216 * include/grub/partition.h (grub_partition_map): Change prototype of
12217 embed to take a maximum value for nsectors.
12218 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12219 * include/grub/fs.h (grub_fs): Likewise.
12220 * grub-core/partmap/msdos.c (embed_signatures): New array.
12221 (pc_partition_map_embed): Check for and avoid sectors matching any
12222 of the signatures in embed_signatures, up to max_nsectors.
12223 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12224 returned sector map to max_nsectors.
12225 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12226 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12227 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12228 * util/grub-setup.c (setup): Allow for the embedding area being
12229 split into multiple blocklists. Tell dest_partmap->embed the
12230 maximum number of sectors we care about.
12231
12232 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12235 Specify blocklist_install and reserver_first_sector for all fs.
12236 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12237 blocklists.
12238
12239 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * util/grub-install.in: Clarify strings.
12242 Fix source dir check.
12243
12244 2012-02-27 Richard Laager <rlaager@wiktel.com>
12245
12246 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12247 "zfs" and "fuse.zfs" as synonyms.
12248
12249 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * configure.ac: Put platform and target_cpu substitutions back since
12252 they are used for directories.
12253
12254 2012-02-27 Richard Laager <rlaager@wiktel.com>
12255 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12258 * util/grub.d/20_linux_xen.in: Likewise.
12259
12260 2012-02-27 Richard Laager <rlaager@wiktel.com>
12261
12262 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12263 with full paths.
12264
12265 2012-02-27 Richard Laager <rlaager@wiktel.com>
12266
12267 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12268 unescape.
12269
12270 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 Don't use insecure popen in getroot.
12273
12274 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12275 (exec_pipe): ... here.
12276 (find_root_devices_from_poolname): Use exec_pipe.
12277
12278 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 Remove platform and target_cpu replacement.
12281
12282 * configure.ac: Remove platform and target_cpu substitutions.
12283 * tests/util/grub-shell.in: Use modinfo.
12284 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12285 explicitly.
12286
12287 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 Autodetect platform in grub-install but allow override.
12290
12291 * util/grub-install.in: Autodetect platform. Support --target and
12292 --directory. Read platform from modinfo.sh.
12293
12294 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 Support btrfs multi-volume probe.
12297
12298 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12299 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12300 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12301 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12302 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12303 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12304 grub_find_root_devices_from_btrfs if on btrfs.
12305
12306 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 Remove any awareness of *.c util files about target.
12309
12310 * Makefile.util.def (grub-setup): Split to ...
12311 (grub-bios-setup): ... and this.
12312 (grub-sparc64-setup): ... and this.
12313 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12314 * docs/man/grub-setup.h2m: Split into ...
12315 * docs/man/grub-sparc64-setup.h2m: ... this.
12316 * docs/man/grub-bios-setup.h2m: ... and this.
12317 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12318 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12319 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12320 (grub_target_addr_t): Remove.
12321 (grub_target_size_t): Remove.
12322 (grub_target_ssize_t): Remove.
12323 * util/grub-install.in: Use new grub-*-setup.
12324 * util/grub-mkimagexx.c (Elf_Word): New define.
12325 (Elf_Half): Likewise.
12326 (Elf_Section): Likewise.
12327 (ELF_ST_TYPE): Likewise.
12328 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12329 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12330
12331 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12332
12333 Replace grub_target_addr with more appropriate types.
12334
12335 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12336 grub_target_addr with grub_addr.
12337 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12338 grub_target_addr with grub_port.
12339 (grub_cmd_write): Likewise.
12340 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12341 grub_target_addr with grub_addr.
12342 (grub_cmd_write): Likewise.
12343 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12344
12345 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12348 const qualifier for vendor_guid.
12349
12350 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12353 const qualifier.
12354 (efiemu_memequal): Likewise.
12355 (find_variable): Likewise.
12356
12357 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 Fix missing console prototype on qemu-mips.
12360
12361 * include/grub/mips/qemu_mips/console.h: New file.
12362
12363 2012-02-27 Matthew Garrett <mjg@redhat.com>
12364 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12367 * include/grub/efi/efi.h: Likewise.
12368 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12369 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12370 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12371 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12372 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12373 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12374
12375 2012-02-27 Matthew Garrett <mjg@redhat.com>
12376
12377 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12378
12379 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12380
12381 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12382 error.
12383
12384 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * configure.ac: Remove inappropriate use of program_transform_name
12387 on grubdir and bootdir but allow explicit specification of those
12388 variables.
12389
12390 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * util/grub-mknetdir.in (grub_prefix): Removed.
12393 (subdir): Use @bootdirname@ and @grubdirname@.
12394
12395 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12398
12399 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * po/POTFILES.in: Regenerated.
12402
12403 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 Remove improper use of program_transform_name on pkglibrootdir.
12406
12407 * configure.ac (pkglibrootdir): Removed.
12408 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12409 * util/grub-mkimage.c: Likewise.
12410
12411 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12414 warning.
12415
12416 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * util/grub-install.in: Use file identifier if no UUID is available
12419 or user explicitly prompted for it.
12420
12421 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
12422
12423 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12424 (freebsd_get_zfs): New function.
12425 (grub_freebsd_boot): Pass zfs UUID.
12426 (grub_cmd_freebsd): Set zfs UUID.
12427
12428 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12431 pkglibrootdir.
12432
12433 2012-02-27 Mike Gilbert <floppym@gentoo.org>
12434
12435 Add configure flag to control libzfs integration.
12436
12437 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12438
12439 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12442 device.
12443 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12444 small devices.
12445
12446 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12449 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12450 be used on non-modules.
12451
12452 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12453 Rename to grub_boot_init.
12454 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12455 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12456 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12457 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12458 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12459 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12460 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12461 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12462 includes.
12463 (grub_machine_init): Remove empty inits.
12464 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12465 includes.
12466 (grub_machine_init): Remove empty inits.
12467 * grub-core/term/arc/console.c: Remove explicit proto.
12468 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12469 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12470 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12471 grub_at_keyboard_fini.
12472 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12473 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12474 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12475 grub_gfxterm_fini.
12476 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12477 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12478 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12479 grub_vgatext_fini.
12480 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12481 * grub-core/term/serial.c (GRUB_MOD_INIT)
12482 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12483 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12484 grub_serial_fini.
12485 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12486 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12487 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12488 grub_terminfo_fini.
12489 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12490 (GRUB_MOD_FINI): Likewise.
12491 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12492 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12493 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12494 grub_video_radeon_fuloong2e_fini.
12495 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12496 [LOONGSON]: Rename to grub_video_sis315pro_init.
12497 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12498 grub_video_sis315pro_fini.
12499 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12500 [LOONGSON]: Rename to grub_video_sm712_init.
12501 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12502 grub_video_sm712_fini.
12503 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12504 (grub_at_keyboard_fini): Likewise.
12505 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12506 Don't declare grub_{modname}_init.
12507 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12508 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12509 New proto.
12510 (grub_keylayouts_fini) [!EMU]: Likewise.
12511 * include/grub/serial.h (grub_serial_init) [!EMU]:
12512 New proto.
12513 (grub_serial_fini) [!EMU]: Likewise.
12514 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12515 New proto.
12516 (grub_terminfo_fini) [!EMU]: Likewise.
12517 * include/grub/video.h (grub_font_init) [!EMU]:
12518 New proto.
12519 (grub_font_fini) [!EMU]: Likewise.
12520 (grub_gfxterm_init) [!EMU]: Likewise.
12521 (grub_gfxterm_fini) [!EMU]: Likewise.
12522 (grub_video_sm712_init) [!EMU]: Likewise.
12523 (grub_video_sm712_fini) [!EMU]: Likewise.
12524 (grub_video_sis315pro_init) [!EMU]: Likewise.
12525 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12526 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12527 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12528
12529 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 Make nand a prefix for nand devices.
12532
12533 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12534
12535 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12538 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12539
12540 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * include/grub/env.h (grub_env_find): Remove prototype.
12543 * grub-core/kern/env.c (grub_env_find): Make static.
12544 (grub_env_set): Remove useless set.
12545
12546 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * grub-core/kern/i386/realmode.S: Remove useless align.
12549
12550 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 * include/grub/dl.h (grub_dl_load_file): Don't export.
12553
12554 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12557 grub_dprintf.
12558
12559 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12562 grub_errors.
12563 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12564 not reloading whole superblock but only the part which is really needed.
12565 Remove useless grub_errors.
12566 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12567 grub_errors.
12568
12569 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 Don't export grub_get_rtc.
12572
12573 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12574 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12575
12576 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12579
12580 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
12583 argument since it can be deduced from diskfilter. All users updated.
12584
12585 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 Remove prio_list.
12588
12589 * include/grub/list.h (grub_prio_list): Removed.
12590 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12591 GRUB_COMMAND_PRIO_MASK.
12592 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12593 GRUB_COMMAND_FLAG_ACTIVE.
12594 (grub_prio_list_insert): Removed.
12595 (grub_prio_list_remove): Likewise.
12596 (GRUB_AS_PRIO_LIST): Likewise.
12597 (GRUB_AS_PRIO_LIST_P): Likewise.
12598 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12599 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12600 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12601 * grub-core/kern/command.c (grub_register_command_prio): Inline
12602 the prio_list code.
12603 (grub_unregister_command): Likewise.
12604
12605 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 Fix interrupt mixup from previous commit.
12608
12609 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12610 (grub_realidt): New var.
12611 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12612 Load idt.
12613 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12614 New declaration.
12615 (grub_relocator16_boot): Set grub_relocator16_idt.
12616 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12617 (LOCAL(realidt)): ... this.
12618 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12619 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12620 (grub_realidt): New variable.
12621
12622 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12625 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12626 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12627 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12628 Gettextize.
12629 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12630 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12631 * po/POTFILES.in: Regenerate.
12632
12633 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12636 errors.
12637
12638 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12641 \0.
12642 (add_length): Likewise.
12643
12644 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12645 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12646
12647 GDB serial and backtrace support.
12648
12649 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12650 (prot_to_real): Likewise.
12651 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12652 * grub-core/Makefile.core.def (backtrace): New module.
12653 (gdb): Likewise.
12654 * grub-core/gdb/cstub.c: New file.
12655 * grub-core/gdb/gdb.c: Likewise.
12656 * grub-core/gdb/i386/idt.c: Likewise.
12657 * grub-core/gdb/i386/machdep.S: Likewise.
12658 * grub-core/gdb/i386/signal.c: Likewise.
12659 * grub-core/lib/i386/backtrace.c: Likewise.
12660 * grub-core/lib/backtrace.c: Likewise.
12661 * include/grub/backtrace.h: Likewise.
12662 * include/grub/gdb.h: Likewise.
12663 * include/grub/i386/gdb.h: Likewise.
12664
12665 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12668 New function.
12669 (add_length): Likewise.
12670 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12671 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12672 proto.
12673 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12674 __argp_get_display_len.
12675
12676 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 $"..." support in scripts.
12679
12680 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12681 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12682 * grub-core/script/yylex.l: Likewise.
12683 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12684 value.
12685
12686 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * gentpl.py: Remove obsolete pkglib_DATA handling.
12689
12690 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12693 mailing list.
12694
12695 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12696 * util/grub-kbdcomp.in: Likewise.
12697 * util/grub-mkconfig.in: Likewise.
12698 * util/grub-mkconfig_lib.in: Likewise.
12699 * util/grub-mknetdir.in: Likewise.
12700 * util/grub-mkrescue.in: Likewise.
12701 * util/grub-mkstandalone.in: Likewise.
12702 * util/grub-reboot.in: Likewise.
12703 * util/grub-set-default.in: Likewise.
12704 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12705
12706 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 Remove GRUB_PREFIX.
12709
12710 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12711 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12712 used for backward compatibility.
12713
12714 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Add new all_video module.
12717
12718 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12719 * grub-core/Makefile.core.def (all_video): New module.
12720 * grub-core/genmoddep.awk: Generate dependency of all_video from
12721 video.lst.
12722 * grub-core/lib/fake_module.c: New file.
12723 * grub-core/normal/main.c (features): Add feature_all_video_module.
12724 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12725 don't do explicit search again.
12726 insmod all_video in load_video if available.
12727
12728 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 Another round of string clarification and adding TRANSLATORS comments.
12731
12732 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12735
12736 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12739 to grub_ssize_t.
12740 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12741 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12742
12743 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12746 trailing newline implicitly. All users updated.
12747
12748 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 Implement serial on IEEE1275 and EFI.
12751
12752 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12753 on emu. Mention arc and emu as the only platforms without serial
12754 support.
12755 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12756 ieee1275 platforms.
12757 * grub-core/term/efi/serial.c: New file.
12758 * grub-core/term/ieee1275/serial.c: Likewise.
12759 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12760 specification if no ns8250 driver is available.
12761 (grub_cmd_serial): Likewise.
12762 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12763 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12764 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12765 (grub_efi_parity_type_t): New type.
12766 (grub_efi_stop_bits_t): Likewise.
12767 (grub_efi_serial_io_interface): New struct.
12768 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12769 available for all interfaces.
12770 Add EFI and IEEE1275 fields.
12771 (grub_ofserial_init): New proto.
12772 (grub_efiserial_init): Likeiwse.
12773 * util/grub.d/00_header.in: Don't check for the presence of serial
12774 module.
12775
12776 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12779 name as if it was an alias.
12780
12781 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 * grub-core/commands/lsacpi.c (options): Fix typo.
12784
12785 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 Convert grub-emu to argp.
12788
12789 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12790 emu.
12791 * util/argp_common.c: Rename to ...
12792 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12793 Add missing includes.
12794 * grub-core/kern/emu/main.c: Convert to argp.
12795 * po/POTFILES.in: Regenerate.
12796 * util/grub-install.in (usage): Make first letter lowcase in messages
12797 for uniformity.
12798 * util/grub-setup.c (options): Likewise.
12799
12800 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12803 Put back accidently commented-out code.
12804
12805 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12808 loop check using Brent algorithm.
12809 (grub_hfsplus_btree_search): Likewise.
12810
12811 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 * util/grub-install.in: Fix usage of wrong device for PreP install.
12814
12815 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 * conf/Makefile.common (CFLAGS_GNULIB): Add
12818 -Wno-unsafe-loop-optimizations.
12819 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12820 on tools.
12821 * grub-core/commands/legacycfg.c: Add pragma to skip
12822 -Wunsafe-loop-optimizations.
12823 (check_password_md5_real): Fix loop counter type.
12824 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12825 reading.
12826 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12827 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12828 loop condition.
12829 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12830 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12831 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12832 condition.
12833 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12834 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12835 avoid possible infinite loops.
12836 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12837 and -Wunsafe-loop-optimizations.
12838 * grub-core/script/yylex.l: Likewise.
12839 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12840 (print_glyphs): Avoid infinite loops.
12841 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12842
12843 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12844
12845 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12846 to avoid infinite loop.
12847 (disp_acpi_rsdt_table): Likewise.
12848
12849 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * grub-core/font/font.c (grub_font_load): Add support for default
12852 path for fonts ($prefix/fonts).
12853 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12854 for checking if string is a path.
12855 * grub-core/normal/main.c (features): Add feature_default_font_path.
12856 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12857 * util/grub.d/00_header.in: Use default directory if possible.
12858 * util/grub-install.in: Install unicode.pf2.
12859
12860 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12863 * po/Rules-swiss: New file.
12864 * po/swiss.sed: Likewise.
12865
12866 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * grub-core/fs/btrfs.c (find_device): Fix typos.
12869 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12870 * util/grub-mkrelpath.c (argp_parser): Likewise.
12871 Reported by: Yuri Chornoivan.
12872
12873 2012-02-23 Dalet Omega <daletomega@gmail.com>
12874
12875 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12876 for usual informative messages.
12877
12878 2012-02-23 Dalet Omega <daletomega@gmail.com>
12879
12880 Starfield theme.
12881
12882 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12883 * conf/Makefile.common: Define starfielddir.
12884 * configure.ac: Configure starfield.
12885 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12886 * themes/starfield/README: Likewise.
12887 * themes/starfield/blob_w.png: Likewise.
12888 * themes/starfield/boot_menu_c.png: Likewise.
12889 * themes/starfield/boot_menu_e.png: Likewise.
12890 * themes/starfield/boot_menu_n.png: Likewise.
12891 * themes/starfield/boot_menu_ne.png: Likewise.
12892 * themes/starfield/boot_menu_nw.png: Likewise.
12893 * themes/starfield/boot_menu_s.png: Likewise.
12894 * themes/starfield/boot_menu_se.png: Likewise.
12895 * themes/starfield/boot_menu_sw.png: Likewise.
12896 * themes/starfield/boot_menu_w.png: Likewise.
12897 * themes/starfield/slider_c.png: Likewise.
12898 * themes/starfield/slider_n.png: Likewise.
12899 * themes/starfield/slider_s.png: Likewise.
12900 * themes/starfield/src/blob_nw.xcf: Likewise.
12901 * themes/starfield/src/bootmenu/: Likewise.
12902 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12903 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12904 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12905 * themes/starfield/src/slider_c.xcf: Likewise.
12906 * themes/starfield/src/slider_n.xcf: Likewise.
12907 * themes/starfield/src/slider_s.xcf: Likewise.
12908 * themes/starfield/src/terminalbox/: Likewise.
12909 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12910 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12911 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12912 * themes/starfield/starfield.png: Likewise.
12913 * themes/starfield/terminal_box_c.png: Likewise.
12914 * themes/starfield/terminal_box_e.png: Likewise.
12915 * themes/starfield/terminal_box_n.png: Likewise.
12916 * themes/starfield/terminal_box_ne.png: Likewise.
12917 * themes/starfield/terminal_box_nw.png: Likewise.
12918 * themes/starfield/terminal_box_s.png: Likewise.
12919 * themes/starfield/terminal_box_se.png: Likewise.
12920 * themes/starfield/terminal_box_sw.png: Likewise.
12921 * themes/starfield/terminal_box_w.png: Likewise.
12922 * themes/starfield/theme.txt: Likewise.
12923
12924 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * util/grub.d/00_header.in: Add missing export theme.
12927
12928 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12931 already included.
12932 Reported by: Eren D.
12933
12934 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12935
12936 * conf/Makefile.common (grubdatadir): Removed.
12937 (Makefile.am): Move eveything grubdata to pkgdata.
12938
12939 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * grub-core/commands/acpihalt.c (get_sleep_type):
12942 Remove unused variable.
12943
12944 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12947 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12948 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12949 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12950 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12951 i18n with gettext no-op.
12952 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12953 GRUB_ACPI_OPCODE_STRING_CONST.
12954 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12955 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12956
12957 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12958
12959 * po/POTFILES.in: Regenerate.
12960
12961 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12964 -Wno-error=missing-noreturn.
12965
12966 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12969 condition to avoid possibly infinite loops.
12970 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12971 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12972
12973 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12976 condition to avoid possibly infinite loops.
12977
12978 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12981 on show_error.
12982
12983 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12986
12987 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12990
12991 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * util/bin2h.c (usage): Add missing attribute noreturn.
12994
12995 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12998 if the size isn't divisible by 512.
12999
13000 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 Make list_push and list_remove functions rather than inline functions
13003 to decrease size and avoid aliasing violations.
13004
13005 * include/grub/list.h (grub_list_push): Move to ...
13006 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
13007 * include/grub/list.h (grub_list_remove): Move to ...
13008 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
13009
13010 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
13013 and -Wunused-result.
13014
13015 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
13018 Reported by: Seth Goldberg
13019
13020 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
13021
13022 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
13023
13024 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
13025
13026 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
13027 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
13028 command line.
13029 * docs/grub.texi (Simple configuration): Document
13030 GRUB_CMDLINE_GNUMACH.
13031
13032 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13033
13034 * conf/Makefile.common (platform_SCRIPTS): New variable.
13035 (platform_PROGRAMS): Likewise.
13036 * gentpl.py: Mark *,module and *.image for install.
13037 * grub-core/gdb_grub.in: Add a notice of expected environment.
13038 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
13039 (gmodule.pl): Likewise.
13040
13041 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 Replace grub_checkkey with grub_getkey_noblock.
13044
13045 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
13046 (grub_getkey_noblock): ... this. All users updated.
13047
13048 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 * grub-core/kern/emu/console.c: Move to ...
13051 * grub-core/term/emu/console.c: ...here.
13052 (grub_ncurses_getkey): Fix return value if no key is detected.
13053
13054 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
13057 (grub_unit_test_fini): Likewise.
13058 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
13059
13060 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * include/grub/test.h (GRUB_UNIT_TEST)
13063
13064 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * grub-core/script/execute.c (grub_script_break): Clarify logic.
13067 Better error handling.
13068 (grub_script_return): Likewise.
13069 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
13070
13071 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
13074 rimplicit redifinition.
13075
13076 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
13079 GRUB.
13080
13081 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
13084 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
13085 prompt here.
13086
13087 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13088
13089 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
13090 as GRUB_ERR_BUG. Don't malloc if no device is available.
13091
13092 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
13095 Mark calling with invalid term as GRUB_ERR_BUG.
13096
13097 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
13100 packets rather than raising an error.
13101
13102 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13105 in if.
13106
13107 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13110 diagnostic to dprintf.
13111 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13112
13113 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13116 device name.
13117
13118 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13121 (grub_ntfs_iterate_dir): Likewise.
13122
13123 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 Efiemu stylistic fixes and gettext.
13126
13127 * grub-core/efiemu/i386/loadcore32.c
13128 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13129 * grub-core/efiemu/i386/loadcore64.c
13130 (grub_arch_efiemu_relocate_symbols64): Likewise.
13131 * grub-core/efiemu/i386/pc/cfgtables.c
13132 (grub_machine_efiemu_init_tables): Likewise.
13133 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13134 (grub_efiemu_loadcore_initXX): Add a filename argument.
13135 All users updated.
13136 Improved error message.
13137 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13138 Add a filename argument.
13139 All users updated.
13140 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13141 Reclassify double relocation as GRUB_ERR_BUG.
13142
13143 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13146 handling.
13147
13148 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13151 on partition.
13152
13153 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13154
13155 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13156
13157 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 Improve string. Gettextize.
13160
13161 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13164 utils.
13165 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13166
13167 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13170 [GRUB_UTIL]: New function.
13171 (insert_array) [GRUB_UTIL]: Store partmaps.
13172 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13173 partmaps.
13174 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13175 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13176 (probe_abstraction): Print diskfilter and not raid.
13177 Reported by: Lennart Sorensen
13178
13179 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13182 * util/grub-mkimagexx.c (MASK3): New define.
13183 (add_value_to_slot_20b): Use MASK3.
13184 (add_value_to_slot_21): Likewise.
13185 (relocate_addresses): Fix format specification.
13186 (load_image): Explicitly init symtab_section.
13187
13188 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13191 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13192
13193 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13196 on powerpc.
13197 Reported by: Lennart Sorensen
13198
13199 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * gentpl.py: Add missing license header.
13202 * docs/grub.texi: Update copyright year.
13203
13204 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13205
13206 Source grub-mkconfig_lib from the build directory at build time.
13207 Suggested by: Vladimir Serbinenko.
13208
13209 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13210 * util/grub-install.in: Define pkgdatadir if not already set, and source
13211 grub-mkconfig_lib from there.
13212 * util/grub-kbdcomp.in: Likewise.
13213 * util/grub-mkconfig.in: Likewise.
13214 * util/grub-mknetdir.in: Likewise.
13215 * util/grub-mkrescue.in: Likewise.
13216 * util/grub-mkstandalone.in: Likewise.
13217 * util/grub-reboot.in: Likewise.
13218 * util/grub-set-default.in: Likewise.
13219 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13220
13221 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 Increase warning level.
13224
13225 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13226 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13227 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13228 (TARGET_CFLAGS): Likewise.
13229 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13230 * grub-core/Makefile.core.def (decompressor_xz): Add
13231 -Wno-unreachable-code.
13232 (normal): Add -Wno-redundant-decls.
13233 (xzio): Add -Wno-unreachable-code.
13234 (lzopio): Add -Wno-redundant-decls -Wno-error.
13235 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13236 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13237 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13238 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13239 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13240 * grub-core/kern/i386/coreboot/init.c: Add exception to
13241 -Wsuggest-attribute=noreturn.
13242 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13243 * grub-core/kern/ia64/dl_helper.c: Likewise.
13244 * grub-core/kern/mips/dl.c: Likewise.
13245 * grub-core/kern/sparc64/dl.c: Likewise.
13246 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13247 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13248 (memcmp): Likewise.
13249 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13250 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13251 * grub-core/loader/mips/linux.c: Likewise.
13252 * grub-core/loader/multiboot_elfxx.c: Likewise.
13253 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13254 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13255 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13256 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13257 fixme.
13258 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13259 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13260 Fix prototype.
13261
13262 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13265 address.
13266
13267 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13270 Avoid improper use of strings.
13271 (grub_cmd_legacy_initrdnounzip): Likewise.
13272
13273 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13276 attribute.
13277 (grub_util_info): Likewise.
13278 (grub_util_error): Likewise.
13279
13280 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13283 * util/grub-fstest.c (fstest): Likewise.
13284
13285 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13288 (grub_md_sha512_real): Likewise.
13289 (grub_util_get_geli_uuid): Likewise.
13290 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13291 (grub_util_biosdisk_open): Fix format specification.
13292 Respect format security.
13293 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13294 (xrealloc): Likewise.
13295 (xasprintf): Likewise.
13296
13297 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * util/import_gcry.py: Include grub/crypto.h in init.c.
13300
13301 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13304 (generate_image): Make prefix a const char *.
13305 Fix format specifications. Respect format security.
13306 Avoid void * arithmetics.
13307 Avoid shadowing.
13308 (argp_parser): Remove unused variable. Respect format security.
13309 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13310 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13311 (count_funcs): Remove unused variable.
13312 (relocate_addresses): Fix format specification.
13313 Disable x86-64 with elf32. Remove unused variables.
13314 (add_fixup_entry): Avoid shadowing.
13315 (make_reloc_section): Fix format specification.
13316 Use assert.
13317 (locate_sections): Fix format specifications.
13318 (load_image): Avoid shadowing.
13319
13320 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13323 Fix format specifications. Respect format security.
13324 Don't translate already translated grub_errmsg.
13325 (argp_parser): Remove unused variable
13326
13327 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13330
13331 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13334 (main): Likewise. Use xmalloc. Respect format security.
13335
13336 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13339 a const char *.
13340 (argp_parser): Remove unused variable.
13341
13342 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13345 (add_pixel): Make static.
13346 (add_font): Likewise.
13347 (write_string_section): Make name and str a const char *.
13348 (write_be16_section): Make name a const char *.
13349 (print_glyphs): Make static.
13350 (write_font_ascii_bitmap): Likewise.
13351 (write_font_width_spec): Likewise.
13352 (write_font_pf2): Likewise.
13353 (argp_parser): Remove unused variable.
13354 Respect format security.
13355 (main): Avoid shadowing. Respect format security.
13356
13357 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * util/grub-editenv.c (argp_parser): Make static.
13360 (create_envblk_file): Use xmalloc.
13361 (open_envblk_file): Likewise.
13362 Resepect format security.
13363 (set_variables): Respect format security.
13364
13365 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 * util/getroot.c (grub_find_device): Respect format security.
13368 (get_mdadm_uuid): Remove unused variable.
13369 (grub_util_pull_device): Dont call gettext on already translated
13370 grub_errmsg.
13371 (find_system_device): Remove unused variable.
13372 (grub_util_get_grub_dev): Likewise.
13373 (grub_make_system_path_relative_to_its_root): Respect format security.
13374
13375 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 * util/grub-fstest.c (execute_command): Make first argument
13378 a const char *.
13379 (read_file): Avoid shadowing.
13380 Reuse underlying error message if device open fails.
13381 (cmd_cmp): Respect format security.
13382 (root): Make const char *.
13383 (fstest): Remove args argument and use global copy.
13384 Respect format security.
13385 (argp_parser): Make static.
13386 (main): Make default_root const char *.
13387
13388 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13389
13390 * util/grub-mount.c (root): Make const char *.
13391 (execute_command): Make first argument a const char *.
13392 (fuse_init): Respect format security.
13393 (argp_parser): Make static. Remove unused variable.
13394 (main): Make default_root a const char *.
13395 Respect format security.
13396
13397 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13398
13399 * util/grub-probe.c (probe): Don't call gettext on already translated
13400 grub_errmsg.
13401 Remove unused variables.
13402 (argp_parser): Remove unused variable.
13403
13404 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * util/grub-script-check.c (argp_parser): Remove unused variable.
13407 (main): Rename read to curread to avoid shadowing.
13408
13409 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * util/misc.c (grub_util_write_image_at): Fix format specification.
13412 (grub_util_write_image): Likewise.
13413 (grub_script_execute_argument_to_string): Removed (unused).
13414 (grub_script_execute_menuentry): Likewise.
13415 (grub_putchar): Likewise.
13416
13417 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13420 (FUNCTION) [GRUB_UTIL]: Likewise.
13421 (VARIABLE) [GRUB_UTIL]: Likewise.
13422
13423 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13426 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13427
13428 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13431 buffer.
13432
13433 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13434
13435 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13436 (LzmaEnc_SaveState): Removed (unused).
13437 (LzmaEnc_RestoreState): Likewise.
13438 (LzmaEnc_InitPriceTables): Made static.
13439 (LzmaEnc_Construct): Likewise.
13440 (LzmaEnc_FreeLits): Likewise.
13441 (LzmaEnc_Destruct): Likewise.
13442 (LzmaEnc_Init): Likewise.
13443 (LzmaEnc_InitPrices): Likewise.
13444 (LzmaEnc_Finish): Likewise.
13445 (LzmaEnc_PrepareForLzma2): Removed (unused).
13446 (LzmaEnc_MemPrepare): Likewise.
13447 (LzmaEnc_GetNumAvailableBytes): Likewise.
13448 (LzmaEnc_GetCurBuf): Likewise.
13449 (LzmaEnc_CodeOneMemBlock): Likewise.
13450
13451 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13454 (grub_util_ldm_embed): Likewise.
13455
13456 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * util/grub-editenv.c (print_var): Rename name to varname to
13459 avoid shadowing.
13460 (main): Rename index to curindex to avoid shadowing.
13461 Make filename a const char *.
13462
13463 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13466 to arg_getline to avoid shadowing.
13467
13468 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13471 disk_ to avoid shadowing.
13472
13473 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13476 curindex to avoid shadowing.
13477 Make static.
13478 (MatchFinder_GetNumAvailableBytes): Make static.
13479
13480 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13483 avoid shadowing.
13484
13485 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13488 argument from encrypt to do_encrypt to avoid shadowing.
13489
13490 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13493 incorrect nesting of #if's.
13494
13495 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13498 checks which are always false on some platforms.
13499 (grub_cmd_lsacpi): Likewise.
13500 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13501 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13502 Likewise.
13503
13504 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13507 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13508
13509 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13512 re_dfa_t to avoid breaking alignment invariants.
13513 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13514 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13515
13516 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13519 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13520
13521 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13524 Fix declaration.
13525
13526 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13529 conserve alignment invariants.
13530 (grub_ehci_ehcc_read16): Likewise.
13531 (grub_ehci_oper_read32): Likewise.
13532 (grub_ehci_oper_write32): Likewise.
13533 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13534 Conserve alignment invariants.
13535
13536 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13539 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13540 declarations.
13541
13542 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13545 Remove unused variable.
13546
13547 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13550 Remove set in if.
13551
13552 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 * include/grub/net.h: Remove double declarations.
13555
13556 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 Remove "payload" command in ia64 Linux loader since I couldn't
13559 find any evidence of it being used for anything.
13560 Replace "relocate" command with an environment variable
13561
13562 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13563 fields.
13564 (ia64_boot_payload): Removed.
13565 (last_payload): Likewise.
13566 (RELOCATE_OFF): Likewise.
13567 (RELOCATE_ON): Likewise.
13568 (RELOCATE_FORCE): Likewise.
13569 (relocate): Likewise.
13570 (free_pages): Don't free payloads.
13571 (grub_load_elf64): Use common error messages.
13572 Use "linux_relocate" variable.
13573 Increase the space after boot_params.
13574 (grub_cmd_payload): Removed.
13575 (grub_cmd_relocate): Likewise.
13576 (grub_cmd_fpswa): Improve messages.
13577 (cmd_payload): Removed.
13578 (cmd_relocate): Likewise.
13579 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13580 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13581
13582 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 Convert UHCI to DMA framework.
13585
13586 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13587 (grub_uhci_pci_iter): Fill new members
13588 (grub_alloc_td): Use P2V and V2P functions.
13589 (grub_free_queue): Likewise.
13590 (grub_alloc_qh): Likewise.
13591 (grub_uhci_setup_transfer): Likewise.
13592 (grub_uhci_check_transfer): Likewise.
13593
13594 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13597 Remove assignment in if while on it.
13598
13599 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * util/grub-mkstandalone.in: Fix modules directory.
13602
13603 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13606 on i386-pc target.
13607 (argp_parser): Accept "auto" as compression specification.
13608
13609 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13610
13611 Fix `help' with unloaded modules.
13612
13613 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13614 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13615 (grub_dyncmd_dispatcher): Small stylistic fix.
13616 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13617 explicit help is requested.
13618
13619 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13622 Explicitly init restart while on it.
13623
13624 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13625
13626 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13627 uninited variable.
13628
13629 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * util/grub-mknetdir.in: Use . rather than source for POSIX
13632 compatibility.
13633
13634 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13637
13638 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13641 variable.
13642
13643 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13646 without quotes.
13647
13648 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13651
13652 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13655 iteration of partitions.
13656
13657 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 Improve gettext support. Stylistic fixes and error handling fixes while
13660 on it.
13661
13662 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13665 part. Instead setup the correct stack in RM.
13666 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13667 for stack.
13668 * include/grub/i386/relocator_private.h: New file.
13669
13670 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13673 argument.
13674 * util/grub-fstest.c (options): Add missing DEVICE part.
13675
13676 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 Clarify and unify messages.
13679
13680 * grub-core/commands/hashsum.c (options): Unify messages.
13681 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13682 literal-only message as translatable.
13683 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13684 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13685 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13686 commands.
13687 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13688 key, not the key used to unlock. Clarify what it's used for.
13689 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13690 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13691 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13692 * util/grub-editenv.c (options): Unify "verbose" message.
13693 * util/grub-fstest.c (read_file): Unify error message.
13694 (fstest): Add quotes around commands.
13695 (options): Unify "verbose" message.
13696 * util/grub-install.in: Add quotes around variable name.
13697 * util/grub-kbdcomp.in: Unify error message.
13698 * util/grub-mkfont.c (main): Likewise.
13699 * util/grub-mkrescue.in: Likewise.
13700 * util/grub-mklayout.c (options): Unify "verbose" message.
13701 * util/grub-mkstandalone.in: Unify help and verbose messages.
13702 * util/grub-mount.c (options): Unify "verbose" message.
13703 * util/grub-probe.c (options): Likewise.
13704 * util/grub-script-check.c (options): Likewise.
13705 * util/grub-setup.c (setup): Unify no-terminator message.
13706 (options): Use DEVICE and not DEV.
13707 Unify "verbose" message.
13708 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13709
13710 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 Improve and unify messages.
13713
13714 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13715 name. All users updated.
13716 Print filename in error.
13717 (read_device_map): Print filename in error.
13718 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13719 (grub_util_get_os_disk): Likewise.
13720 (grub_util_biosdisk_get_grub_dev): Likewise.
13721 (grub_util_check_block_device): Likewise.
13722 (grub_util_check_char_device): Likewise.
13723 (grub_make_system_path_relative_to_its_root): Likewise.
13724 * util/grub-editenv.c (create_envblk_file): Likewise.
13725 (open_envblk_file): Likewise.
13726 (write_envblk): Likewise.
13727 * util/grub-fstest.c (cmd_cp): Likewise.
13728 (cmd_cat): Likewise.
13729 (cmd_cmp): Likewise.
13730 * util/grub-menulst2cfg.c (main): Likewise.
13731 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13732 (write_font_width_spec): Likewise.
13733 (write_font_pf2): Likewise.
13734 * util/grub-mkimage.c (generate_image): New argument outname.
13735 All users updated.
13736 Remove unreacheable message.
13737 (options): Unify messages.
13738 (help_filter): Likewise.
13739 * util/grub-mklayout.c (usage): Removed (unused).
13740 (main): Print filename in error.
13741 * util/grub-mkrescue.in: Fix wrong quoting.
13742 * util/grub-setup.c (setup): Print filename in error.
13743 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13744 (check_sas): Likewise.
13745 * util/misc.c (grub_util_get_fp_size): Removed.
13746 (grub_util_get_image_size): Print filename in error.
13747 (grub_util_read_at): Removed.
13748 (grub_util_read_image): Print filename in error.
13749 (grub_util_load_image): Likewise.
13750 (grub_util_write_image_at): New argument filename. All users updated.
13751 Print filename in error.
13752 (grub_util_write_image): New argument filename. All users updated.
13753 Print filename in error.
13754 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13755 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13756
13757 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * grub-core/Makefile.core.def (pxechain): New module.
13760 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13761 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13762 function.
13763 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13764 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13765
13766 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13767
13768 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13769 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13770 * include/grub/err.h (grub_error_saved): New struct.
13771 (grub_errmsg): Make array size explicit.
13772 * include/grub/misc.h (grub_error_save): New function.
13773 (grub_error_load): Likewise.
13774 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13775 (grub_error_push): Update `errno' member name.
13776 (grub_error_pop): Likewise
13777 * grub-core/net/tftp.c (tftp_data): New member save_err.
13778 (tftp_receive): Save error.
13779 (tftp_open): Restore error.
13780
13781 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13784 to real mode down to execute A20-related code in protected mode as
13785 intended.
13786
13787 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13788
13789 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13790 NULL when the argument `level' has an unexpected value.
13791
13792 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 Move platform-dependent files from $prefix to $prefix/$platform.
13795
13796 * config.h.in (GRUB_TARGET_CPU): New definition.
13797 (GRUB_PLATFORM): Likewise.
13798 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13799 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13800 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13801 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13802 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13803 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13804 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13805 * grub-core/normal/term.c (read_terminal_list): Likewise.
13806 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13807 $prefix/locale.
13808 (grub_gettext_init_ext): Likewise.
13809 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13810 grub_platform.
13811 * util/grub-install.in: Update directories.
13812 * util/grub-mknetdir.in: Likewise.
13813 * util/grub-mkrescue.in: Likewise.
13814
13815 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13816
13817 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13818 grub_error framework. All users updated.
13819
13820 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13823 lists (by always binsearching), improve caching (cache strings
13824 used for binsearch, not only results), improve
13825 maintainability (by using more structured binary search) and correct
13826 error handling.
13827
13828 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 * grub-core/script/execute.c (grub_script_return): Fix warning.
13831
13832 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 * grub-core/script/execute.c (grub_script_return): Fix potential
13835 NULL-dereference.
13836 Reported by: Jim Meyering.
13837
13838 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * po/POTFILES.in: Regenerate.
13841 * util/grub-install.in: Gettextize the strings missed in first pass.
13842
13843 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * Makefile.util.def (grub-mkdevicemap): Removed.
13846 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13847 * include/grub/util/deviceiter.h: Removed.
13848 * util/deviceiter.c: Likewise.
13849 * util/getroot.c (grub_util_get_os_disk): New function.
13850 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13851 replacement for EFI.
13852 * util/grub-mkdevicemap.c: Removed.
13853 * util/grub-probe.c (probe): Handle PRINT_DISK.
13854 (argp_parser): Handle -t disk.
13855
13856 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 * util/grub-mkfont.c: Migrate to argp.
13859 * util/grub-mklayout.c: Likewise.
13860 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13861 * util/grub-mkrelpath.c: Likewise.
13862 * util/grub-probe.c: Likewise.
13863 * util/grub-script-check.c: Likewise.
13864
13865 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * util/grub-reboot.in: Add missing datarootdir.
13868 Add missing newline.
13869 * util/grub-set-default.in: Add missing datarootdir.
13870 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13871 * util/grub-mkrescue.in: Likewise.
13872
13873 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13876
13877 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * util/grub-kbdcomp.in: Add decent help and gettextize.
13880 * docs/man/grub-kbdcomp.h2m: New file.
13881
13882 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 Migrate grub-mkimage.c to argp.
13885
13886 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13887 (grub-setup): Likewise.
13888 * util/grub-setup.c (print_version): Move to ...
13889 * util/argp_common.c (print_version): ... here.
13890 * util/grub-setup.c (argp_program_version_hook): Move to ...
13891 * util/argp_common.c (argp_program_version_hook): ... here.
13892 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13893 safety.
13894 * util/grub-mkimage.c (main): Migrate to argp.
13895
13896 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 * util/grub-mkrescue.in: Use same message as
13899 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13900 for better translations.
13901
13902 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13905 options with generic grub-mkrescue.in with the goal of future
13906 merge.
13907
13908 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 * grub-core/kern/mm.c: Add missing include of i18n.h
13911 * grub-core/lib/relocator.c: Likewise.
13912
13913 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13916 error.
13917 (allocate_pages): Check return value.
13918 Replace fatal with error.
13919 (grub_linux_boot): Replace printf with dprintf.
13920 Check find_mmap_size return value.
13921 Replace fatal with error.
13922 Don't call grub_machine_fini.
13923 (grub_load_elf64): Replace printf with dprintf.
13924 (grub_cmd_linux): Likewise.
13925 (grub_cmd_initrd): Likewise.
13926 (grub_cmd_payload): Likewise.
13927
13928 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13931 message.
13932 * grub-core/video/radeon_fuloong2e.c
13933 (grub_video_radeon_fuloong2e_setup): Likewise.
13934 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13935 * grub-core/video/video.c (grub_video_set_mode): Don't override
13936 standard out of memory message.
13937
13938 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13939
13940 NetBSD disk wedge support.
13941
13942 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13943 [__NetBSD__]: Handle NetBSD disk wedges.
13944 * util/getroot.c (convert_system_partition_to_system_disk)
13945 [__NetBSD__]: Likewise.
13946
13947 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
13948
13949 * util/grub-mkconfig.in: Use umask rather than chmod to create
13950 grub.cfg.new to avoid insecure grub.cfg.
13951
13952 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * grub-core/commands/ls.c: Gettextize.
13955 * grub-core/commands/setpci.c: Likewise.
13956 * grub-core/commands/videotest.c: Likewise.
13957 * grub-core/disk/geli.c: Likewise.
13958 * grub-core/kern/mm.c: Likewise.
13959 * grub-core/lib/relocator.c: Likewise.
13960 * grub-core/loader/efi/appleloader.c: Likewise.
13961 * grub-core/loader/i386/xnu.c: Likewise.
13962 * grub-core/loader/ia64/efi/linux.c: Likewise.
13963 * grub-core/loader/xnu.c: Likewise.
13964 * grub-core/net/dns.c: Likewise.
13965 * grub-core/net/net.c: Likewise.
13966 * grub-core/script/lexer.c: Likewise.
13967 * grub-core/script/parser.y: Likewise.
13968 * grub-core/script/yylex.l: Likewise.
13969 * util/getroot.c: Likewise.
13970 * util/grub-setup.c: Likewise.
13971
13972 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13975 number.
13976
13977 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13980
13981 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13984 macro.
13985 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13986 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13987
13988 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13991 * util/grub-install.in: Gettextize.
13992 * util/grub-mkconfig.in: Likewise.
13993 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13994 if not available.
13995 (grub_warn): Gettextize.
13996 * util/grub-mknetdir.in: Gettextize.
13997 * util/grub-mkrescue.in: Likewise.
13998 * util/grub-mkstandalone.in: Likewise.
13999 * util/grub-reboot.in: Likewise.
14000 * util/grub-set-default.in: Likewise.
14001 * util/grub.d/00_header.in: Likewise.
14002 * util/grub.d/10_hurd.in: Likewise.
14003 * util/grub.d/10_kfreebsd.in: Likewise.
14004 * util/grub.d/10_linux.in: Likewise.
14005 * util/grub.d/10_netbsd.in: Likewise.
14006 * util/grub.d/10_windows.in: Likewise.
14007 * util/grub.d/20_linux_xen.in: Likewise.
14008 * util/grub.d/30_os-prober.in: Likewise.
14009 * po/POTFILES-shell.in: Regenerate.
14010
14011 2012-02-03 Richard Laager <rlaager@wiktel.com>
14012
14013 * util/grub-mkimage.c (main): Fix format-security warning.
14014 * util/grub-mkrelpath.c (main): Likewise.
14015 * util/grub-probe.c (main): Likewise.
14016
14017 2012-02-03 Richard Laager <rlaager@wiktel.com>
14018
14019 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
14020 failure.
14021 Put back lost PRINT_DRIVE.
14022
14023 2012-02-03 Richard Laager <rlaager@wiktel.com>
14024
14025 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
14026 (grub_guess_root_devices): Replace strlen with sizeof.
14027 Avoid crash.
14028 (find_root_devices_from_poolname): Remove unused variable.
14029 Handle raidzN.
14030
14031 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 Support install on multi-device filesystems.
14034
14035 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
14036 (grub_guess_root_devices): ...this. Return char **. All users updated.
14037 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
14038 Removed.
14039 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
14040 (find_root_devices_from_poolname): ... here.
14041 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
14042 Support zfs-fuse.
14043 (grub_guess_root_device): Rename to ...
14044 (grub_guess_root_devices): ... this. Return char **. All users updated.
14045 * util/grub-install.in: Handle multi-device filesystems.
14046 * util/grub-probe.c (probe). Make device_names a char **. Add delim
14047 argument. All users updated.
14048 Handle multi-device filesystems.
14049 Use 'delim' as separator.
14050 Remove device check to allow filesystems on file.
14051 (main): Support -0 argument. Handle multi-device.
14052 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
14053 Fix a cross-device check while on it.
14054 (arguments): Remove root_dev.
14055 (argp_parser): Remove -r.
14056 (main): Remove root_dev.
14057
14058 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
14061
14062 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
14065 symbol.
14066 Reported by: NODA, Kai <nodakai>.
14067
14068 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 Fix ehci on amd64.
14071
14072 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
14073 pointers.
14074 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
14075 (grub_ehci_setup_qh): Likewise.
14076 (grub_ehci_find_qh): Likewise.
14077 (grub_ehci_transaction): Likewise.
14078 (grub_ehci_setup_transfer): Likewise.
14079 (grub_ehci_check_transfer): Likewise.
14080 (grub_ehci_portstatus): Likewise.
14081 (grub_ehci_detect_dev): Likewise.
14082 (grub_ehci_transfer_controller_data): New field td_last_phys.
14083 (grub_ehci_setup_transfer): Fill td_last_phys.
14084 (grub_ehci_check_transfer): Use td_last_phys.
14085
14086 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
14087
14088 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
14089 if no submenu is present.
14090
14091 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14092
14093 CBI support.
14094
14095 * include/grub/usb.h (grub_usbms_protocol_t): New values
14096 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
14097 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
14098 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
14099 (grub_usbms_dev): Add subclass, protocol and intrpt.
14100 Remove in_maxsz and out_maxsz.
14101 (grub_usbms_reset): Rename to ...
14102 (grub_usbms_bo_reset): .. this.
14103 (grub_usbms_cbi_cmd): New function.
14104 (grub_usbms_cbi_reset): Likewise.
14105 (grub_usbms_reset): Likewise.
14106 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14107 (grub_usbms_transfer): Rename to ...
14108 (grub_usbms_transfer_bo): ... this.
14109 (grub_usbms_transfer_cbi): Likewise.
14110 (grub_usbms_transfer): Likewise.
14111
14112 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14113 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14114
14115 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14116 the support for the CS5536 modification thereos and few bugfixes.
14117
14118 * grub-core/Makefile.core.def (ehci): New module.
14119 * grub-core/bus/usb/ehci.c: New file.
14120 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14121 port and hubaddr. All users updated.
14122 Save port and hubaddr into dev structure.
14123 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14124 define.
14125 * include/grub/pci.h (grub_dma_phys2virt): New function.
14126 (grub_dma_virt2phys): Likewise.
14127 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14128
14129 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14132 check as some mkfs implementations omit it.
14133
14134 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14137
14138 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14141 Add new member volname2.
14142 (grub_jfs_label): Use volname2 if available.
14143
14144 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14147 over last_mounted as seen in image generated by mkfs.nilfs2.
14148 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14149
14150 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14153 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14154 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14155
14156 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14159 over the sector.
14160
14161 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14164 subvolume name (by removing a bogus and useless check).
14165
14166 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14169 sizeof while on it.
14170
14171 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14174 (grub_scsi_read_capacity10): ... this.
14175 (grub_scsi_read_capacity16): New function.
14176 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14177 0xffffffff.
14178 Fix off-by-one error.
14179 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14180 64-bit unsigned.
14181 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14182 (grub_scsi_read_capacity10): ... this.
14183 (grub_scsi_read_capacity_data): Rename to ...
14184 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14185 (grub_scsi_read_capacity16): New struct.
14186 (grub_scsi_read_capacity16_data): Likewise.
14187 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14188 grub_scsi_cmd_read_capacity10.
14189 New command grub_scsi_cmd_read_capacity16.
14190
14191 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 SCSI >2TiB support.
14194
14195 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14196 (grub_scsi_write16): Likewise.
14197 (grub_scsi_read): Use read16 when necessary.
14198 (grub_scsi_write): Likewise.
14199 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14200 (grub_scsi_write16): Likewise.
14201 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14202
14203 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14204
14205 SCSI write support (for usbms mainly).
14206
14207 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14208 a const pointer.
14209 (grub_scsi_write): Implement.
14210 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14211
14212 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14215 variable.
14216
14217 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14220
14221 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * po/POTFILES.in: Regenerate.
14224
14225 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14228 with grub_printf to avoid unnecessary fatal failure.
14229
14230 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14233 (INT_MAX): Likewise.
14234 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14235 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14236 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14237 (strcpy): Likewise.
14238 (strstr): Likewise.
14239 (strchr): Likewise.
14240 (strncpy): Likewise.
14241 (strcat): Likewise.
14242 (strncat): Likewise.
14243 (strcoll): Likewise.
14244 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14245 (GRUB_INT_MAX): Likewise.
14246
14247 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14250 unexpected error.
14251 (optimize_utf8): Likewise.
14252 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14253
14254 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * grub-core/boot/i386/pc/lnxboot.S: Use
14257 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14258 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14259 location.
14260 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14261 definition.
14262 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14263
14264 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14267 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14268 now to avoid double free.
14269 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14270 hostdisk.
14271 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14272 * util/grub-probe.c (escape_of_path): Always return a new copy.
14273 (print_full_name): Escape path.
14274 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14275 Fix hints on abstractions.
14276
14277 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14280 Don't add "root" line if no compatibility hont is available.
14281 Suggested by: Seth Goldberg.
14282
14283 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14286 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14287 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14288 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14289
14290 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14293
14294 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14295
14296 * util/grub-pe2elf.c (ehdr): Make static.
14297 (shdr): Likewise.
14298 (num_sections): Likewise.
14299 (offset): Likewise.
14300
14301 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 Eliminate ofpath limits and possible overflows.
14304
14305 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14306 (OF_PATH_MAX): Removed.
14307 (MAX_DISK_CAT): New const.
14308 (find_obppath): Use allocated rather than preallocated buffer.
14309 Return result. Argument of_path removed. All users updated.
14310 Add missing fdstat.
14311 (xrealpath): New function.
14312 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14313 Allocate rather than use preallocated buffer. All users updated.
14314 (__of_path_common): Use allocated rather than preallocatecd buffer.
14315 Return result. Argument of_path removed. All users updated.
14316 (vendor_is_ATA): Read only needed part form the file.
14317 (check_sas): Allocate depending on contents rather than fixed.
14318 (main) [STANDALONE]: Handle NULL result.
14319
14320 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14323
14324 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 Cryptodisk write support.
14327
14328 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14329 (grub_cryptodisk_decrypt): Moved logic to ...
14330 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14331 (grub_cryptodisk_write): Implement.
14332 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14333 (grub_util_fd_write): ... this. Make global.
14334 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14335
14336 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14337
14338 * include/grub/list.h (grub_list_remove): Don't crash if element is
14339 removed twice.
14340
14341 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 Rename ofconsole to console.
14344
14345 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14346 as sysnonym to console.
14347 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14348 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14349 Rename grub_ofconsole_ to grub_console_. All users updated
14350 (grub_console_term_output): Rename "ofconsole" to "console".
14351 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14352 as "console".
14353
14354 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14357 handling.
14358 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14359 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14360 GRUB_DISK_DEVICE_FILE_ID.
14361
14362 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14365 and improve performance.
14366
14367 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14368
14369 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14370 missing ieee1275/ prefix on whole disk.
14371
14372 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14375 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14376
14377 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14380
14381 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 Merge common RAID and LVM logic to an abstract diskfilter.
14384 Add LDM support using the same framework.
14385
14386 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14387 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14388 (libgrubmods): Remove grub-core/disk/raid.c and
14389 grub-core/partmap/gpt.c.
14390 * grub-core/Makefile.core.def (ldm): New module.
14391 (raid): Renamed to diskfilter. All users updated.
14392 * grub-core/disk/raid.c: Moved to ...
14393 * grub-core/disk/diskfilter.c: ... here.
14394 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14395 (lv_num): New var.
14396 (find_array): Renamed to ...
14397 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14398 (grub_is_array_readable): Renamed to ...
14399 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14400 (insert_array): New argument id.
14401 (is_node_readable): New function.
14402 (scan_device): Rename to ...
14403 (scan_disk): .. this. Restrict to one disk.
14404 (scan_devices): New function.
14405 (grub_diskfilter_iterate): Support multi-LV.
14406 Skip invisible and nameless LVs.
14407 (grub_diskfilter_memberlist): Support multi-LV.
14408 (grub_diskfilter_read_node): New function.
14409 (grub_raid_read): Most of logic moved to ...
14410 (read_segment): ... here
14411 (read_lv): New function.
14412 (grub_diskfilter_get_vg_by_uuid): New function.
14413 (grub_diskfilter_make_raid): Likewise.
14414 * grub-core/disk/ldm.c: New file.
14415 * grub-core/disk/lvm.c (vg_list): Removed.
14416 (lv_count): Likewise.
14417 (scan_depth): Likewise.
14418 (is_lv_readable): Likewise.
14419 (grub_lvm_getvalue): Advance pointer past the number.
14420 (find_lv): Removed.
14421 (do_lvm_scan): Refactored into ...
14422 (grub_lvm_detect): ... this. Support raid.
14423 (grub_lvm_iterate): Removed.
14424 (grub_lvm_memberlist): Likewise.
14425 (grub_lvm_open): Likewise.
14426 (grub_lvm_close): Likewise.
14427 (read_lv): Likewise.
14428 (read_node): Likewise.
14429 (is_node_readable): Likewise.
14430 (is_lv_readable): Likewise.
14431 (grub_lvm_read): Likewise.
14432 (grub_lvm_write): Likewise.
14433 (grub_lvm_dev): Use diskfilter
14434 (GRUB_MOD_INIT): Likewise.
14435 (GRUB_MOD_FINI): Likewise.
14436 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14437 new interface.
14438 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14439 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14440 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14441 grub_diskfilter_read_node.
14442 Fix a bug with xor.
14443 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14444 grub_diskfilter_read_node.
14445 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14446 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14447 (grub_disk_dev_iterate): Move from here...
14448 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14449 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14450 Make global.
14451 (grub_hostdisk_find_partition_start): Likewise.
14452 (grub_hostdisk_os_dev_to_grub_drive): New function.
14453 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14454 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14455 * util/getroot.c (make_device_name): ... here.
14456 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14457 Move to ...
14458 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14459 * grub-core/kern/emu/hostdisk.c
14460 (convert_system_partition_to_system_disk): Move to ...
14461 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14462 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14463 * util/getroot.c (device_is_wholedisk): ... here.
14464 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14465 * util/getroot.c (find_system_device): ... here.
14466 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14467 Move to ...
14468 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14469 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14470 Move to ...
14471 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14472 Handle LDM.
14473 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14474 Move to ...
14475 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14476 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14477 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14478 DISKFILTER.
14479 * include/grub/raid.h: Renamed to ...
14480 * include/grub/diskfilter.h: ... this.
14481 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14482 (GRUB_RAID_LAYOUT_*): Make into array.
14483 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14484 (grub_diskfilter_vg): New struct.
14485 (grub_diskfilter_pv_id): Likewise.
14486 (grub_raid_member): Removed.
14487 (grub_raid_array): Likewise.
14488 (grub_diskfilter_pv): New struct.
14489 (grub_diskfilter_lv): Likewise.
14490 (grub_diskfilter_segment): Likewise.
14491 (grub_diskfilter_node): Likewise.
14492 (grub_diskfilter_get_vg_by_uuid): New proto.
14493 (grub_raid_register): Inline.
14494 (grub_diskfilter_unregister): Likewise.
14495 (grub_diskfilter_make_raid): New proto.
14496 (grub_diskfilter_vg_register): Likewise.
14497 (grub_diskfilter_read_node): Likewise.
14498 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14499 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14500 (grub_util_is_ldm): Likewise.
14501 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14502 (grub_hostdisk_find_partition_start): Likewise.
14503 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14504 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14505 New definition.
14506 (grub_gpt_partition_map_iterate): New proto.
14507 * include/grub/lvm.h (grub_lvm_vg): Removed.
14508 (grub_lvm_pv): Likewise.
14509 (grub_lvm_lv): Likewise.
14510 (grub_lvm_segment): Likewise.
14511 (grub_lvm_node): Likewise.
14512 * util/getroot.c [...]
14513 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14514 (probe_abstraction): Likewise.
14515 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14516 (main): Remove dead logic.
14517
14518 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 Simplify root device discover and don't fail when trying to open
14521 incorrect devices.
14522
14523 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14524 function.
14525 (get_diskname_from_path): Likewise.
14526 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14527 of iterating.
14528
14529 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14532
14533 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14536 pastthe end.
14537
14538 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * util/grub-install.in: Add missing \.
14541 Reported by: gentoofan
14542
14543 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14546 (direct_read): Use correct compressed size.
14547 (grub_squash_read_data): Likewise.
14548
14549 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * docs/grub.texi (Platform limitations): New section.
14552 (Platform-specific operations): Likewise.
14553 * docs/grub-dev.texi (Porting): Likewise.
14554
14555 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 IEEE1275 disk write support.
14558
14559 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14560 const void *.
14561 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14562 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14563 and seek loginc to ...
14564 (grub_ofdisk_prepare): ... here.
14565 (grub_ofdisk_write): Implement.
14566
14567 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 ARC disk write support.
14570
14571 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14572 (reopen): New argument writable. All users updated.
14573 Handle required access mode.
14574 (grub_arcdisk_write): Implement.
14575 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14576 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14577
14578 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14581 (read_sblock): Don't attempt to read superblocks outside the disk size.
14582
14583 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14584
14585 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14586 first superblock to find the second one when possible.
14587
14588 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14589
14590 * util/grub-install.in: Fix an ARC bug.
14591 Print a warning if no platform-specific setup is available.
14592
14593 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 Use static allocation rather than scratch pointer in reed_solomon.
14596 It decreases its size significantly and avoids a variable in .text.
14597
14598 * grub-core/lib/reed_solomon.c (scratch): Removed.
14599 (chosenstat): New const or static array.
14600 (sigma): Likewise.
14601 (errpot): Likewise.
14602 (errpos): Likewise.
14603 (sy): Likewise.
14604 (mstat): Likewise.
14605 (errvals): Likewise.
14606 (eqstat): Likewise.
14607 (pol_evaluate): Replace x with log_x argument. All users updated.
14608 (syndroms): Removed.
14609 (gauss_solve): Use statically allocated arrays.
14610 (rs_recover): Likewise.
14611 Calculate syndroms directly.
14612 (decode_block): Use statically allocated arrays.
14613 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14614 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14615
14616 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 Eliminate fixed limit on reed solomon decoder length.
14619
14620 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14621 rather than hardcoding the address.
14622 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14623 no_reed_solomon_length.
14624 Move gate_a20 to no-reed-solomon part.
14625 Don't force a particular size of no reed-solomon part.
14626 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14627 Removed.
14628 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14629 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14630
14631 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 * grub-core/commands/wildcard.c (match_files): Handle filenames
14634 without explicit device.
14635 (wildcard_expand): Don't add explicit device if not already present.
14636 * tests/grub_script_echo1.in: Add a new expansion test.
14637
14638 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 Replace single-linked with double-linked lists. It results in more
14641 compact and more efficient code.
14642
14643 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14644 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14645 (grub_list_remove): Moved from here ...
14646 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14647 (grub_prio_list_insert): Set prev.
14648 * include/grub/list.h (grub_list): Add prev. All users updated.
14649
14650 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 Handle newer autotools. Add some missing quotes while on it.
14653
14654 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14655 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14656 (pkgdata_DATA): ... here.
14657 * Makefile.util.def (update-grub_lib): Removed.
14658 * conf/Makefile.common (pkglib_DATA): Removed.
14659 (pkglib_SCRIPTS): Likewise.
14660 (pkgdata_DATA): New variable.
14661 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14662 needed.
14663 Add missing quotes.
14664 Remove unused variable while on it.
14665 * tests/util/grub-shell.in: Likewise.
14666 * util/grub-install.in: Likewise.
14667 * util/grub-mkconfig.in: Likewise.
14668 * util/grub-mknetdir.in: Likewise.
14669 * util/grub-mkrescue.in: Likewise.
14670 * util/grub-mkstandalone.in: Likewise.
14671 * util/grub.d/00_header.in: Likewise.
14672 * util/grub.d/10_hurd.in: Likewise.
14673 * util/grub.d/10_illumos.in: Likewise.
14674 * util/grub.d/10_kfreebsd.in: Likewise.
14675 * util/grub.d/10_linux.in: Likewise.
14676 * util/grub.d/10_netbsd.in: Likewise.
14677 * util/grub.d/10_windows.in: Likewise.
14678 * util/grub.d/20_linux_xen.in: Likewise.
14679 * util/grub.d/30_os-prober.in: Likewise.
14680 * util/update-grub_lib.in: Removed.
14681
14682 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
14683
14684 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14685 a workaround for intel problem.
14686
14687 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
14688 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14689 2012-01-23 pfsmorigo
14690
14691 * util/grub-install.in: Support dd'in into PreP partition.
14692 * util/grub-probe.c (probe): Support discovering partition type.
14693 (main): Support -t msdos_parttype.
14694
14695 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14698 infinite recursion using counter.
14699 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14700 init to skip it if the magic check fails.
14701 (dec_stream_header): Init s->crc32.
14702
14703 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14704 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
14705 2012-01-22 Richard Laager <rlaager@wiktel.com>
14706
14707 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14708 All users updated.
14709 (find_bestub): Determine correct size.
14710 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14711 (scan_disk): Align the size down.
14712 Call check pool before find_bestub to have ashift.
14713
14714 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14717 dprintf in no-malloc zone.
14718
14719 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14720
14721 * configure.ac: Add back in test for limits.h.
14722
14723 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 Support 4K-sector NTFS.
14726
14727 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14728 (grub_ntfs_data): Remove blocksize.
14729 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14730 Remove data argument. All users updated.
14731
14732 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14733
14734 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14735 being in .text to avoid dprel references.
14736 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14737 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14738 (grub_arch_highmemsize): Likewise.
14739 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14740 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14741 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14742
14743 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14746
14747 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14748 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14749
14750 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14751
14752 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14753 GRUB_UTIL.
14754 (grub_set_datetime_cmos): Likewise.
14755
14756 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14757
14758 Make XZ compression parameters dependent on target and not host CPU.
14759
14760 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14761 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14762
14763 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14766 set but not used variable.
14767
14768 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14771 created when no uuid support is compiled into mkfs.reiser.
14772
14773 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14776 (utf8_to_macroman): Do the opposite.
14777 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14778
14779 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14780
14781 * configure.ac: Refise build qemu_mips w/o unifont.
14782
14783 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 Eliminate grub_min/grub_max prone to overflow usage.
14786
14787 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14788 (poll_nonroot_hub): Likewise.
14789 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14790 (grub_affs_label): Likewise.
14791 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14792 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14793 (grub_hfs_label): Likewise.
14794 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14795 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14796 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14797 (zap_leaf_array_get): Likewise.
14798 (dnode_get_path): Likewise.
14799 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14800 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14801 * grub-core/script/execute.c (grub_script_break): Likewise.
14802 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14803 grub_max.
14804 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14805 * include/grub/misc.h (grub_min): Removed.
14806 (grub_max): Likewise.
14807
14808 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14809
14810 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14811 direct.inode = 0.
14812
14813 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14816
14817 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14820
14821 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14824 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14825
14826 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14829 rather than a hack for grub_strncasemap.
14830
14831 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 Support multiple initrds
14834 Note: part of this was accidently committed in r3739.
14835
14836 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14837 initrd.
14838 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14839 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14840 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14841 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14842 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14843
14844 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14845
14846 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14847 disks with unknown size.
14848 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14849
14850 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 Remove defines pertaining to arbitrary limits not affecting GRUB
14853 anymore.
14854
14855 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14856 (EXT2_MAX_SYMLINKCNT): Likewise.
14857 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14858 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14859 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14860 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14861 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14862 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14863 (DN_MAX_OBJECT_SHIFT): Likewise.
14864 (DN_MAX_OFFSET_SHIFT): Likewise.
14865 (DN_MAX_OBJECT): Likewise.
14866 (DNODES_PER_LEVEL_SHIFT): Likewise.
14867 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14868 (SPA_MAXBLOCKSIZE): Likewise.
14869 (SPA_BLOCKSIZES): Likewise.
14870 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14871 (MZAP_MAX_BLKSZ): Likewise.
14872
14873 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14876 handle NULL appropriately.
14877 Remove MIN.
14878
14879 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14880
14881 Fix efiemu.
14882
14883 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14884 cpu/types.h.
14885 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14886 * configure.ac: Fix efiemu check.
14887
14888 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14891 grub_probe.
14892 Reported by: adamwill
14893
14894 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14895
14896 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14897
14898 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 Fix handling of wide characters in gfxterm.
14901
14902 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14903 (clear_char): Likewise.
14904 (paint_char): Skip code == NULL chars.
14905 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14906
14907 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 * grub-core/normal/charset.c: Move comment to right place.
14910
14911 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14914 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14915 (grub_affs_mount): Revert the correct version checking.
14916
14917 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * docs/grub.texi (Unicode): Mention several other unsupported features.
14920
14921 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14924 case statements as compile-time one.
14925 (direct_read): Prevent spurious warnings.
14926 (grub_squash_read_data): Likewise.
14927
14928 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 Various squash4 fixes and LZO and XZ support.
14931
14932 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14933 Add xzembed source files.
14934 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14935 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14936 (grub_squash_inode): New subtype long_dir.
14937 (SQUASH_TYPE_LONG_DIR): New inode type.
14938 (COMPRESSION): New enum.
14939 (XZBUFSIZ): New const.
14940 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14941 (read_chunk): Use data->decompress.
14942 (zlib_decompress): New function.
14943 (lzo_decompress): Likewise.
14944 (xz_decompress): Likewise.
14945 (squash_mount): Set new data fields.
14946 (grub_squash_iterate_dir): Handle long dir.
14947 (squash_unmount): Free xzdec and xzbuf.
14948 (grub_squash_open): Check ino type.
14949 (direct_read): Stylistic fixes. Use data->decompress.
14950 (grub_squash_read_data): Likewise.
14951 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14952 (get_byte): Likewise.
14953 (grub_zlib_disk_read): Removed.
14954 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14955 (GRUB_POSIX_BOOL_DEFINED): New define.
14956 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14957 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14958 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14959 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14960
14961 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 Don't override more informative errors.
14964
14965 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14966 * grub-core/font/font.c (open_section): Likewise.
14967 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14968 filename. Don't override errors.
14969 (grub_cmd_openbsd_ramdisk): Don't override errors.
14970 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14971 (grub_cmd_initrd): Likewise.
14972 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14973 (grub_cmd_initrd): Likewise.
14974 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14975 (grub_cmd_linux): Likewise.
14976 (grub_cmd_initrd): Likewise.
14977 (grub_cmd_payload): Likewise.
14978 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14979 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14980 (grub_cmd_module): Likewise.
14981 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14982 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14983 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14984 (grub_cmd_xnu_mkext): Likewise.
14985 (grub_cmd_xnu_ramdisk): Likewise.
14986 (grub_xnu_check_os_bundle_required): Likewise.
14987 (grub_xnu_load_kext_from_dir): Likewise.
14988 (grub_cmd_xnu_kextdir): Likewise.
14989 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14990
14991 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14994 as 1024 in block size field. Found on one of my test images.
14995 Small optimisation while on it.
14996
14997 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
15000 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
15001 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
15002 performance fixes while on it.
15003 (grub_sfs_close): Fix memory leak while on it.
15004 (grub_sfs_label): Convert Latin1 to UTF-8.
15005
15006 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
15009 space to avoid overflows.
15010 (grub_hfs_label): Convert from macroman to UTF-8.
15011
15012 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
15015
15016 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
15019
15020 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * unicode: Import Unicode 6.0 data.
15023
15024 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
15027 outside of range.
15028
15029 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 Avoid cutting in the middle of UTF-8 character.
15032
15033 * include/grub/charset.h (grub_getend): New function.
15034 * grub-core/script/function.c (grub_script_function_find): Use
15035 grub_getend.
15036 * grub-core/normal/completion.c (add_completion): Likewise.
15037
15038 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
15041 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
15042 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
15043 (GRUB_UNICODE_TAG_END): Likewise.
15044 (GRUB_UNICODE_LAST_VALID): Likewise.
15045
15046 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
15049 len and make it smaller. All users updated.
15050 * util/import_unicode.py: Put length and not end character.
15051 Check length.
15052
15053 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 Make better Unicode-compliant and unify some UTF-8 code pathes.
15056
15057 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
15058 valid character.
15059 (grub_is_valid_utf8): Use grub_utf8_process.
15060 Check resulting code range.
15061 (grub_utf8_to_ucs4): Use grub_utf8_process.
15062 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
15063 valid character.
15064
15065 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
15068
15069 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15070
15071 * docs/grub.texi (Filesystems): Mention AFS.
15072
15073 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 * docs/grub.texi (Filesystems): Clarify restrictions.
15076 (Regexp): Mention non-Unicode regexp behaviour.
15077 (Other): Mention non-Unicode matching behaviour.
15078
15079 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 Make HFS implementation use MacRoman.
15082
15083 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
15084 (macroman): New const array.
15085 (macroman_to_utf8): New function.
15086 (utf8_to_macroman): Likewise.
15087 (grub_hfs_find_dir): Use utf8_to_macroman.
15088 (grub_hfs_dir): Use macroman_to_utf8.
15089 Set case_insensitive.
15090
15091 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
15094
15095 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 Integrate hints into autogeneration scripts.
15098
15099 * docs/grub.texi (Filesystems): Add a hostdisk example.
15100 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
15101 (grub-probe): Add ofpath.
15102 * gentpl.py: Remove group nosparc64.
15103 * grub-core/commands/search.c (cache_entry): New struct.
15104 (cache): New var.
15105 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15106 * grub-core/commands/search_wrap.c (options): Add platform-specific
15107 hint options.
15108 (grub_cmd_search): Handle platform-specific hints.
15109 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15110 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15111 (grub_util_biosdisk_data): Likewise.
15112 (grub_util_biosdisk_open): Set device_map.
15113 (read_device_map): Handle "" as indication of no map.
15114 Set device_map.
15115 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15116 (grub_util_biosdisk_get_compatibility_hint): New function.
15117 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15118 * include/grub/emu/hostdisk.h
15119 (grub_util_biosdisk_get_compatibility_hint): New proto.
15120 * util/grub-install.in: Don't call grub-mkdevicemap.
15121 Add platform-specific hint to load.cfg.
15122 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15123 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15124 hints. Set root preliminary to compatibility hint, not to OS name.
15125 * util/grub-probe.c (PRINT_*): Add hints.
15126 (print): Make static.
15127 (escape_of_path): New function.
15128 (guess_bios_drive): Likewise.
15129 (guess_efi_drive): Likewise.
15130 (guess_baremetal_drive): Likewise.
15131 (print_full_name): Likewise.
15132 (probe): Handle hints.
15133 (main): Likewise.
15134 * util/ieee1275/devicemap.c: Removed.
15135 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15136 updated.
15137 (grub_util_devname_to_ofpath): Return NULL on failure.
15138
15139 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15140 resource leak.
15141 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15142
15143 * po/POTFILES.in: Regenerated.
15144
15145 Allow purely long options
15146
15147 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15148 (SHORT_ARG_USAGE): Likewise.
15149 (grub_arg_show_help): Compare opt with help_options.
15150 (parse_option): Receive opt as argument. If makes big simplificatons.
15151 All users updated
15152
15153 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15156 Restructure to avoid warning.
15157
15158 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 * util/grub-install.in: Account for possible escaped comma in device
15161 name.
15162
15163 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15166 channel.
15167
15168 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15171 allocation and zero-setting.
15172 (grub_ieee1275_get_devname): Check that alias is complete.
15173
15174 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15177 unaligned segments.
15178
15179 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15182 prefix.
15183 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15184 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15185 Add ieee1275 prefix.
15186
15187 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 * docs/grub.texi (Filesystems): Update.
15190
15191 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 Support odc, newc and bigendian cpio formats.
15194
15195 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15196 * grub-core/Makefile.core.def (newc): New module.
15197 (odc): Likewise.
15198 (cpio_be): Likewise.
15199 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15200 (MAGIC): Likewise.
15201 (MAGIC2): Likewise.
15202 (head) [MODE_ODC]: Adapt for the format.
15203 (head) [MODE_NEWC]: Likewise.
15204 (head) [!MODE_*]: Write fields of interest as arrays.
15205 (MAGIC_USTAR): Removed.
15206 (read_number) [MODE_NEWC]: Change to hex.
15207 (read_number) [!MODE_*]: Parse binary arrays.
15208 (grub_cpio_find_file): Factor out the code for better structure and
15209 always use read_number.
15210 (grub_cpio_mount): Use MAGIC and MAGIC2.
15211 (grub_cpio_dir): Exit on first hook non-0 return.
15212 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15213 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15214 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15215 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15216 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15217 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15218 * grub-core/fs/newc.c: New file.
15219 * grub-core/fs/odc.c: Likewise.
15220 * grub-core/fs/cpio_be.c: Likewise.
15221
15222 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 Fix handling of tar numbers occupying the whole field.
15225
15226 * grub-core/fs/cpio.c (read_number): New function.
15227 (grub_cpio_find_file): Use read_number instead of strtoull.
15228
15229 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15232 occupying the whole field size.
15233
15234 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15235
15236 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15237
15238 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15241
15242 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15243
15244 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15245 TARGET_IMG_LDFLAGS.
15246
15247 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15250 (mountinfo_entry): Increase the field size to take escaping into
15251 account.
15252 (find_root_device_from_libzfs): Add one byte to size of strings for
15253 security.
15254
15255 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15258 an assert.
15259 * util/grub-setup.c (setup): Likewise.
15260
15261 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15264 _LzmaDecodeA.
15265
15266 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * docs/grub.texi (Internationalisation): New section.
15269
15270 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 * docs/grub.texi (Loopback booting): New section.
15273
15274 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
15275
15276 * util/grub-mkstandalone.in: Fix minor typo errors.
15277
15278 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15281
15282 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15283 net/icmp.c and net/icmp6.c.
15284 (http): New module.
15285 (priority_queue): Likewise.
15286 * grub-core/io/bufio.c: Rewritten.
15287 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15288 TYPE_WITH_CONFIGFILE_OPTION.
15289 (legacy_commands): Add bootp and dhcp.
15290 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15291 (grub_legacy_parse): Likewise.
15292 * grub-core/lib/priority_queue.c: New file.
15293 * grub-core/net/arp.c: Add missing license header.
15294 (arp_find_entry): Removed.
15295 (arp_find_entry): Likewise.
15296 (grub_net_arp_resolve): Rename to ...
15297 (grub_net_arp_send_request): ...this.
15298 (grub_net_arp_receive): New card argument.
15299 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15300 Set router and DNS server.
15301 (grub_net_configure_by_dhcp_ack): Handle routing information.
15302 (grub_cmd_bootp): Set checksum.
15303 (grub_bootp_init): Remove net_dhcp.
15304 * grub-core/net/dns.c: New file.
15305 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15306 completion.
15307 (get_card_packet): Handle allocation.
15308 (grub_efinet_findcards): Set mtu.
15309 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15310 (get_card_packet): Handle allocation.
15311 (emucard): Set mtu.
15312 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15313 (GRUB_MOD_INIT): Set mtu.
15314 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15315 mtu.
15316 (get_card_packet): Handle allocation.
15317 (grub_ofnet_findcards): Set mtu.
15318 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15319 assert.
15320 (grub_net_recv_ethernet_packet): Handle IPv6.
15321 * grub-core/net/http.c: New file.
15322 * grub-core/net/icmp.c: Likewise.
15323 * grub-core/net/icmp6.c: Likewise.
15324 * grub-core/net/ip.c (ip6addr): New type.
15325 (ip6hdr): Likewise.
15326 (reassemble): Likewise.
15327 (cmp): New function.
15328 (reassembles): New variable.
15329 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15330 (id): New variable.
15331 (send_fragmented): New function.
15332 (grub_net_send_ip_packet): Rename to ...
15333 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15334 Handle non-UDP.
15335 (grub_net_recv_ip_packets): Rename to ...
15336 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15337 (free_rsm): New function.
15338 (free_old_fragments): Likewise.
15339 (grub_net_recv_ip4_packets): New function.
15340 (grub_net_send_ip6_packet): Likewise.
15341 (grub_net_send_ip_packet): Likewise.
15342 (grub_net_recv_ip6_packets): Likewise.
15343 (grub_net_recv_ip_packets): Likewise.
15344 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15345 (LINK_LAYER_CACHE_SIZE): New const.
15346 (link_layer_find_entry): New function.
15347 (grub_net_link_layer_add_address): Likewise.
15348 (grub_net_link_layer_resolve_check): Likewise.
15349 (grub_net_link_layer_resolve): Likewise.
15350 (grub_net_ipv6_get_slaac): Likewise.
15351 (grub_net_ipv6_get_link_local): Likewise.
15352 (grub_cmd_ipv6_autoconf): Likewise.
15353 (parse_ip): Handle one number representation.
15354 (parse_ip6): New functoion.
15355 (match_net): Handle IPv6.
15356 (grub_net_resolve_address): Handle IPv6 and DNS.
15357 (grub_net_resolve_net_address): Handle IPv6.
15358 (route_cmp): New function.
15359 (grub_net_route_address): Find best route.
15360 (grub_net_addr_to_str): Handle IPv6.
15361 (grub_net_addr_cmp): New function.
15362 (grub_net_add_addr): Register local route.
15363 (print_net_address): Handle net address.
15364 (grub_net_poll_cards): Retransmit TCP.
15365 (grub_net_poll_cards_idle_real): Likewise.
15366 (have_ahead): New function.
15367 (grub_net_seek_real): Use underlying seek.
15368 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15369 * grub-core/net/tcp.c: New file.
15370 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15371 (cmp): New function.
15372 (ack): Likewise.
15373 (tftp_receive): Handle unordered input.
15374 (destroy_pq): New function.
15375 (tftp_close): Close pq.
15376 * grub-core/net/udp.c: Put missing license header.
15377 (grub_net_udp_socket): New function.
15378 (udp_socket_register): Likewise.
15379 (grub_net_udp_close): Likewise.
15380 (grub_net_recv_udp_packet): Check checksum.
15381 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15382 * include/grub/misc.h (grub_memchr): New function.
15383 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15384 (grub_net_card_driver): Return buf in recv.
15385 (grub_net_slaac_mac_list): New struct.
15386 (grub_network_level_protocol_id): Add ipv6.
15387 (grub_net_network_level_addr): Likewise.
15388 (grub_net_network_level_net_addr): Likewise.
15389 (grub_net_app_protocol): Add seek.
15390 (grub_net_socket): Removed.
15391 (grub_net_sockets): Likewise.
15392 (grub_net_socket_register): Likewise.
15393 (grub_net_socket_unregister): Likewise.
15394 (FOR_NET_SOCKETS): Likewise.
15395 (grub_net_add_addr): Add const.
15396 (GRUB_NET_BOOTP_*): New enum.
15397 (grub_net_addr_cmp): New proto.
15398 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15399 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15400 (grub_net_hwaddr_to_str): NEw proto.
15401 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15402 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15403 (grub_dns_init): New proto.
15404 (grub_dns_fini): Likewise.
15405 (grub_net_tcp_retransmit): Likewise.
15406 (grub_net_link_layer_add_address): Likewise.
15407 (grub_net_link_layer_resolve_check): Likewise.
15408 (grub_net_link_layer_resolve): Likewise.
15409 (grub_net_dns_lookup): Likewise.
15410 (grub_net_add_dns_server): Likewise.
15411 (grub_net_remove_dns_server): Likewise.
15412 (GRUB_NET_TRIES): New const.
15413 (GRUB_NET_INTERVAL): Likewise.
15414 * include/grub/net/arp.h: Mostly rewritten.
15415 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15416 * include/grub/net/ip.h: Mostly rewritten.
15417 * include/grub/net/netbuff.h: Indent.
15418 * include/grub/net/tcp.h: New file.
15419 * include/grub/net/udp.h: Mostly rewritten.
15420 * include/grub/priority_queue.h: New file.
15421 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15422 (grub_swap_bytes64_compile_time): Likewise.
15423 (grub_cpu_to_be16_compile_time): Likewise.
15424 (grub_cpu_to_be32_compile_time): Likewise.
15425 (grub_cpu_to_be64_compile_time): Likewise.
15426 (grub_be_to_cpu64_compile_time): Likewise.
15427
15428 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15431 UINT_TO_PTR with cast.
15432
15433 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15436 don't use them.
15437
15438 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15441 already there.
15442
15443 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15446 confusing ipxe.
15447
15448 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15451 Add missing const attribute.
15452 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15453 Likewise.
15454 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15455 Likewise.
15456
15457 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15460 misaligned access.
15461 (serpent_setkey): Likewise.
15462 (serpent_encrypt_internal): Likewise.
15463 (serpent_decrypt_internal): Likewise.
15464 (serpent_encrypt): Don't put an alignment-increasing cast.
15465 (serpent_decrypt): Likewise.
15466 (serpent_test): Likewise.
15467
15468 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15471
15472 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15475
15476 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15477 grub_addr_t casts.
15478 (PTR_TO_UINT64): Likewise.
15479 (PTR_TO_UINT32): Likewise.
15480
15481 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15484 because of stack.
15485 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15486 limit.
15487
15488 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15491 text_width > available width a bit more gracefully.
15492
15493 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15496 current address calculation.
15497
15498 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15501 stack.
15502 (encode_block): Likewise.
15503
15504 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15507 certainety.
15508
15509 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15512 non-RS part to avoid RS messing with GDT.
15513 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15514 Increase to suit in realmode routines.
15515
15516 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * grub-core/kern/i386/realmode.S: Increase alignment.
15519 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15520
15521 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15524 be deterministic.
15525 (syndroms): Compute 0 syndrom.
15526 (rs_recover): Use 0 syndrom.
15527
15528 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15531
15532 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15535 brackets.
15536
15537 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15540 account.
15541 (get_top_pad): Likewise.
15542 (get_right_pad): Likewise.
15543 (get_bottom_pad): Likewise.
15544
15545 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
15548
15549 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15550
15551 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15552 attribute as the structure isn't guaranteed to be properly aligned.
15553 (grub_efi_pci_device_path): Likewise.
15554 (grub_efi_pccard_device_path): Likewise.
15555 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15556 specify the size of `memory_type'.
15557 (grub_efi_vendor_device_path): Likewise.
15558 (grub_efi_controller_device_path): Likewise.
15559 (grub_efi_acpi_device_path): Likewise.
15560 (grub_efi_expanded_acpi_device_path): Likewise.
15561 (grub_efi_atapi_device_path): Likewise.
15562 (grub_efi_scsi_device_path): Likewise.
15563 (grub_efi_fibre_channel_device_path): Likewise.
15564 (grub_efi_1394_device_path): Likewise.
15565 (grub_efi_usb_device_path): Likewise.
15566 (grub_efi_usb_class_device_path): Likewise.
15567 (grub_efi_i2o_device_path): Likewise.
15568 (grub_efi_mac_address_device_path): Likewise.
15569 (grub_efi_ipv4_device_path): Likewise.
15570 (grub_efi_ipv6_device_path): Likewise.
15571 (grub_efi_infiniband_device_path): Likewise.
15572 (grub_efi_uart_device_path): Likewise.
15573 (grub_efi_vendor_messaging_device_path): Likewise.
15574 (grub_efi_hard_drive_device_path): Likewise.
15575 (grub_efi_cdrom_device_path): Likewise.
15576 (grub_efi_vendor_media_device_path): Likewise.
15577 (grub_efi_file_path_device_path): Likewise.
15578 (grub_efi_protocol_device_path): Likewise.
15579 (grub_efi_piwg_device_path): Likewise.
15580 (grub_efi_bios_device_path): Likewise.
15581
15582 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15585 (grub_ucs4_to_utf8_alloc): Likewise.
15586 (grub_ucs4_to_utf8): Likewise.
15587 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15588 (grub_ucs4_to_utf8_alloc): Likewise.
15589
15590 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 AFFS never uses unicode.
15593
15594 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15595 (grub_latin1_to_utf8): New inline function.
15596 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15597
15598 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15601 overflow.
15602
15603 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15606 (grub_squash_dirent_header): Likewise.
15607 (read_chunk): Don't double swap.
15608 (grub_squash_iterate_dir): Fix swap sizes.
15609
15610 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15613
15614 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15615
15616 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15617 (grub_hfs_iterate_dir): Likewise.
15618
15619 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 Fix video on platforms where unaligned access is forbidden.
15622 Make several optimisations while on it.
15623
15624 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15625 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15626 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15627 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15628 Disable.
15629 (grub_video_fbblit_replace_16bit_1bit):
15630 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15631 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15632 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15633 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15634 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15635 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15636 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15637 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15638 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15639 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15640 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15641 (grub_video_fbblit_replace_index_RGB888): Likewise.
15642 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15643 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15644 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15645 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15646 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15647 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15648 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15649 Disable.
15650 (grub_video_fbblit_blend_XXX565_1bit):
15651 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15652 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15653 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15654 void *.
15655 * grub-core/video/fb/video_fb.c (common_blitter)
15656 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15657 (grub_video_fb_create_render_target_from_pointer)
15658 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15659 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15660 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15661 definition.
15662 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15663
15664 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15665
15666 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15667 HH22 and HM10 relocations.
15668
15669 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15672
15673 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15674
15675 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15676 allocation succeeded.
15677
15678 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15681 argument a u8 pointer. All users updated.
15682 Handle unaligned buffers.
15683
15684 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15687 add_part to workaround compiler bug.
15688
15689 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15690
15691 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15692
15693 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15696 Reserve alignment invariants.
15697 (grub_multiboot_load): Likewise.
15698 (retrieve_video_parameters): Likewise.
15699 (grub_multiboot_make_mbi): Likewise.
15700
15701 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15704 incorrect pointer.
15705
15706 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15709 (grub_pata_pio_write): Likewise.
15710
15711 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 Add noreturn attributes and remove unreachable code.
15714
15715 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15716 code.
15717 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15718 code. Mark as noreturn.
15719 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15720 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15721 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15722 unreachable code.
15723 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15724 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15725 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15726 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15727 * include/grub/kernel.h (grub_main): Mark as noreturn.
15728 * include/grub/reader.h (grub_rescue_run): Likewise.
15729
15730 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15733 redundant declaration.
15734
15735 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15738 redundant declaration.
15739 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15740
15741 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15744 to ensure alignment.
15745 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15746 alignment. Ensure tmp alignment.
15747 (grub_cmd_hdparm): Ensure buf alignment.
15748 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15749 to ensure alignment.
15750 (grub_ata_dumpinfo): Ensure text alignment.
15751 (grub_atapi_identify): Preserve alignment invariant.
15752 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15753
15754 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15757 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15758 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15759 * include/grub/misc.h (grub_reboot)
15760 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15761 (grub_halt) [__mips__]: Likewise.
15762
15763 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15766 Remove redundant declaration.
15767 (grub_mmap_get_post64): Likewise.
15768 (grub_mmap_get_upper): Likewise.
15769 (grub_mmap_get_lower): Likewise.
15770
15771 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15774 uint32_t * to ensure alignment.
15775 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15776
15777 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15780 uint16_t * to ensure alignment.
15781 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15782 alignment.
15783
15784 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
15787 to ensure alignment.
15788 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15789
15790 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15793 Handle unaligned pointers.
15794 (u32at): Likewise.
15795 (u64at): Likewise.
15796 (fixup): Use byte access instead of v16at.
15797 (find_attr): Fix imporper usage of v32at.
15798 (read_data): Likewise.
15799 (list_file): Handle byte-swapping and unaligned strings.
15800 (grub_ntfs_label): Likewise.
15801
15802 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15805 as it's not necessarily aligned.
15806
15807 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15810 redundant declaration.
15811 (grub_serial_init): Likewise.
15812 (grub_terminfo_init): Likewise.
15813
15814 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15817 function.
15818 (ZAP_HASH_IDX): Likewise.
15819 (ZAP_LEAF_HASH_SHIFT): Likewise.
15820 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15821 (LEAF_HASH): Likewise.
15822 (ZAP_LEAF_NUMCHUNKS): Likewise.
15823 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15824 alignment invariants. Return pointer. All users updated.
15825 (ZAP_LEAF_ENTRY): Make into inline function.
15826 (NBBY): Removed.
15827 (xor): LIkewise.
15828 (xor_out): Use grub_crypto_xor.
15829 (dnode_get_path): Use grub_get_unaligned.
15830 (nvlist_find_value): Likewise.
15831 (grub_zfs_nvlist_lookup_uint64): Likewise.
15832 (grub_zfs_nvlist_lookup_string): Likewise.
15833 (get_nvlist_size): Likewise.
15834 (grub_zfs_open): Likewise.
15835 (fill_fs_info): Likewise.
15836 (grub_zfs_dir): Likewise.
15837 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15838 alignment invariants.
15839 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15840 necessarily aligned.
15841
15842 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15845
15846 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15849 arithmetic to conserve alignment invariants.
15850
15851 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15854 redundant declaration.
15855 (grub_efiemu_mm_obtain_request): Likewise.
15856 (grub_efiemu_prepare): Likewise.
15857
15858 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15861 to match types.
15862
15863 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15866 case of aunaligned recptr.
15867 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15868 alignment.
15869 (grub_hfsplus_btree_search): Handle unaligned index.
15870
15871 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15872
15873 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15874 to get freetag and skip.
15875
15876 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15879 array.
15880 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15881 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15882
15883 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15886 name for checksum and fix allocation algorithm.
15887
15888 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * include/grub/types.h (grub_properly_aligned_t): New type.
15891 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15892 (grub_get_unaligned16): Add explicit casts.
15893 (grub_get_unaligned32): Likewise.
15894 (grub_get_unaligned64): Likewise.
15895 (grub_set_unaligned16): New function.
15896 (grub_set_unaligned32): Likewise.
15897
15898 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15901
15902 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15905 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15906 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15907
15908 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15911 conditionals.
15912
15913 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15916 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15917
15918 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 Unify and improve RAID and crypto xor.
15921
15922 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15923 changed to grub_crypto_xor
15924 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15925 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15926 Use bigger types when possible.
15927
15928 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * grub-core/disk/raid.c (scan_devices): Fix condition.
15931
15932 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15933
15934 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15935 Make name a const ptr.
15936
15937 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15938
15939 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15940 first argument a const pointer.
15941 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15942 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15943 proto.
15944 (grub_children_iterate): Likewise.
15945 (grub_machine_mmap_iterate): Remove redundant declaration.
15946
15947 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15948
15949 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15950 (grub_cmd_acpi) [!x86]: Disable EBDA.
15951
15952 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 Enable UTF8 in gnulib regexp.
15955
15956 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15957 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15958 (isupper): Use grub_isupper.
15959 (isascii): New inline function.
15960 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15961 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15962 * grub-core/normal/charset.c (grub_utf8_process): New function.
15963 (grub_utf8_to_utf16): Use grub_utf8_process.
15964 (grub_encode_utf8_character): New function.
15965 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15966 * include/grub/charset.h (grub_utf8_process): New declaration.
15967 (grub_encode_utf8_character): Likewise.
15968 * include/grub/misc.h (grub_islower): New inline function.
15969 (grub_isupper): Likewise.
15970 (grub_strchrsub): Moved down to fix the definitions.
15971
15972 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15975 specification.
15976
15977 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * include/grub/loader.h (grub_loader_register_preboot_hook):
15980 Use struct preboot * and not void * for handle. All users updated.
15981 (grub_loader_unregister_preboot_hook): Likewise.
15982
15983 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15986 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15987 UTF-16-BE. All users updated.
15988 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15989 (grub_hfsplus_iterate_dir): Likewise.
15990 (grub_hfsplus_label): Likewise.
15991
15992 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15995
15996 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 Add missing const qualifiers.
15999
16000 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
16001 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
16002 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
16003 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
16004 (grub_lvm_check_flag): Likewise.
16005 * grub-core/efiemu/i386/coredetect.c
16006 (grub_efiemu_get_default_core_name): Likewise
16007 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
16008 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
16009 * grub-core/fs/ntfs.c (fixup): Likewise.
16010 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
16011 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
16012 (fzap_lookup): Likewise.
16013 (zap_lookup): Likewise.
16014 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
16015 * grub-core/lib/legacy_parse.c (check_option): Likewise.
16016 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
16017 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
16018 (grub_freebsd_add_meta_module): Likewise.
16019 (grub_cmd_freebsd_module): Likewise.
16020 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
16021 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
16022 (grub_xnu_writetree_get_size): Likewise.
16023 (grub_xnu_writetree_toheap_real): Likewise.
16024 (grub_xnu_find_key): Likewise.
16025 (grub_xnu_create_key): Likewise.
16026 (grub_xnu_create_value): Likewise.
16027 (grub_xnu_register_memory): Likewise.
16028 (grub_xnu_check_os_bundle_required): Likewise.
16029 (grub_xnu_scan_dir_for_kexts): Likewise.
16030 (grub_xnu_load_kext_from_dir): Likewise.
16031 * grub-core/normal/color.c (color_list): Likewise.
16032 * grub-core/normal/completion.c (current_word): Likewise.
16033 * grub-core/normal/menu_entry.c (insert_string): Likewise.
16034 * grub-core/term/serial.c (grub_serial_find): Likewise.
16035 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
16036 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
16037 Likewise.
16038 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
16039 (grub_freebsd_add_meta_module): Likewise.
16040 * include/grub/lib/arg.h (grub_arg_option): Likewise.
16041 * include/grub/net.h (grub_net_card_driver): Likewise.
16042 (grub_net_card): Likewise.
16043 (grub_net_app_protocol): Likewise.
16044 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
16045 * include/grub/serial.h (grub_serial_find): Likewise.
16046 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
16047 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
16048 (grub_xnu_create_value): Likewise.
16049 (grub_xnu_find_key): Likewise.
16050 (grub_xnu_scan_dir_for_kexts): Likewise.
16051 (grub_xnu_load_kext_from_dir): Likewise.
16052
16053 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
16054 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
16055 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
16056 Moved from here ...
16057 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
16058
16059 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
16060
16061 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
16062
16063 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
16064
16065 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
16066 (read_device): Fix size calculation.
16067
16068 2011-11-25 Robert Millan <rmh@gnu.org>
16069
16070 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
16071 (find_root_device_from_libzfs): Add zpool output parser to be used
16072 as fallback when libzfs isn't available.
16073
16074 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
16075
16076 * po/Makefile.in.in: Add missing escape-continuation.
16077
16078 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
16079
16080 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
16081
16082 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
16085
16086 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
16089
16090 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
16093
16094 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 * grub-core/lib/adler32.c: Add missing license specification.
16097 * grub-core/lib/crc64.c: Likewise.
16098 * grub-core/loader/i386/pc/plan9.c: Likewise.
16099 * grub-core/partmap/plan.c: Likewise.
16100
16101 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
16102
16103 Add facility to debug GRUB with gdb under qemu.
16104
16105 * grub-core/gdb_grub.in: New file.
16106 * grub-core/gmodule.pl.in: Likewise.
16107 * grub-core/Makefile.core.def (gmodule.pl): New script.
16108 (gdb_grub): Likewise.
16109
16110 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16111
16112 * util/grub-mount.c (argp_parser): Accept relative pathes.
16113 * util/grub-fstest.c (argp_parser): Likewise.
16114
16115 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16116
16117 Plan9 support.
16118
16119 * Makefile.util.def (libgrubmods): Add
16120 grub-core/partmap/plan.c.
16121 * docs/grub.texi: Notice Plan9 support.
16122 * grub-core/Makefile.core.def (plan9): New module.
16123 (part_plan): Likewise.
16124 * grub-core/loader/i386/pc/plan9.c: New file.
16125 * grub-core/partmap/plan.c: Likewise.
16126 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16127 define.
16128 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16129 * include/grub/mm.h (grub_extend_alloc): New inline function.
16130
16131 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 Make Reed-Solomon faster by using power of generator representation of
16134 GF(256)*.
16135
16136 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16137 (gf_double_t): Likewise.
16138 (gf_invert): Removed.
16139 (gf_powx): New array.
16140 (gf_powx_inv): Likewise.
16141 (scratch): Move higher.
16142 (gf_reduce): Removed.
16143 (gf_mul): Use powx.
16144 (gf_invert): Likewise.
16145 (init_inverts): Replaced with ...
16146 (init_powx): ...this. All users updated.
16147 (pol_evaluate): Replace multiplications with additions.
16148 (rs_encode): Likewise.
16149 (gauss_eliminate): Call gf_invert.
16150 (grub_reed_solomon_add_redundancy): Call init_powx.
16151 (grub_reed_solomon_recover): Call init_powx unconditionally.
16152
16153 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16154
16155 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16156
16157 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16160 disk->partiton for safety.
16161
16162 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16165 Fix a memory leak.
16166 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16167
16168 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16171
16172 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16173
16174 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16175
16176 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16177
16178 Fix spaces handling in proc/self/mountinfo.
16179
16180 * util/getroot.c (unescape): New function.
16181 (grub_find_root_device_from_mountinfo): Use unescape.
16182
16183 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 Support ZFS embedding.
16186
16187 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16188 (grub_zfs_fs): Register grub_zfs_embed.
16189
16190 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16191
16192 Fix MIPS compilation.
16193
16194 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16195 * include/grub/offsets.h: Rename decompressor fields from
16196 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16197 * util/grub-mkimage.c (image_targets): Use new names.
16198
16199 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16200
16201 Defer multiboot device parsing until we're in compressed part.
16202
16203 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16204 bsd_part. setdevice has fallen into disuse.
16205 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16206 (bsd_part): Likewise.
16207 (boot_dev): New variable.
16208 (multiboot_trampoline): Don't parse multiboot device.
16209 Pass multiboot device in %edx.
16210 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16211 grub_boot_device.
16212 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16213 Likewise.
16214 * grub-core/kern/i386/pc/startup.S: Save edx.
16215 (grub_boot_drive): Removed.
16216 (grub_install_dos_part): Likewise.
16217 (grub_install_bsd_part): Likewise.
16218 (grub_boot_device): New variable.
16219 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16220 (grub_install_bsd_part): Likewise.
16221 (grub_boot_drive): Likewise.
16222 (grub_boot_device): New variable.
16223 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16224 Removed.
16225 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16226 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16227 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16228 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16229 * util/grub-install.in: Remove redundant condition.
16230
16231 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 Fix bug introduced by previous commit.
16234
16235 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16236
16237 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 Use decompressors framework on i386-pc. It increases core size
16240 by 46 bytes but improves compatibility and maintainability.
16241
16242 * grub-core/Makefile.core.def (lzma_decompress): New image.
16243 (kernel): Add i386_pc_ldflags.
16244 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16245 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16246 to real_to_prot, prot_to_real and device info.
16247 * include/grub/offsets.h: Renamed decompressor offsets.
16248 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16249 (image_target_desc): Remove raw_size and rename decompressor fields.
16250 (compress_kernel): Handle lzma.
16251 (generate_image): Handle decompressors on i386-pc.
16252
16253 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * configure.ac: Add -fno-asynchronous-unwind-tables.
16256
16257 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 Move assembly code to C by using intwrap. It increases core size
16260 by 88 bytes but improves compatibility and maintainability.
16261
16262 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16263 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16264 ... here. Translated to C.
16265 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16266 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16267 ... here. Translated to C.
16268 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16269 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16270 ... here. Translated to C.
16271 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16272 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16273 ... here. Translated to C.
16274 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16275 * grub-core/term/i386/pc/console.c (grub_console_cls):
16276 ... here. Translated to C.
16277 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16278 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16279 ... here. Translated to C.
16280 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16281 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16282 Translated to C.
16283 * grub-core/term/i386/pc/console.c (int10_9): New function.
16284 (grub_console_putchar): Likewise.
16285 * include/grub/i386/pc/console.h: Removed the not anymore shared
16286 functions.
16287
16288 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16289
16290 Move grub_chainloader_real_boot out of the kernel.
16291
16292 * grub-core/Makefile.am: Remove machine/loader.h.
16293 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16294 Removed.
16295 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16296 variable.
16297 (grub_relocator16_keep_a20_enabled): Likewise.
16298 (grub_relocator16_boot): Fill new variables.
16299 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16300 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16301 relocator.
16302 (grub_chainloader_unload): Likewise.
16303 (grub_chainloader_cmd): Likewise.
16304 * include/grub/i386/pc/loader.h: Removed.
16305 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16306 and esi. All initialisers updated.
16307
16308 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16309 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
16310
16311 * Makefile.util.def (grub-mount): New util.
16312 * .bzrignore: Add grub-mount.
16313 * configure.ac: Check for fuse and enable grub-mount if available.
16314 * docs/man/grub-mount.h2m: New file.
16315 * util/grub-mount.c: Likewise.
16316
16317 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16318
16319 * grub-core/commands/efi/fixvideo.c: Gettextize.
16320 * grub-core/commands/hashsum.c: Likewise.
16321 * grub-core/commands/i386/cmostest.c: Likewise.
16322 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16323 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16324 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16325 * grub-core/commands/lsmmap.c: Likewise.
16326 * grub-core/commands/menuentry.c: Likewise.
16327 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16328 * grub-core/commands/setpci.c: Likewise.
16329 * grub-core/loader/i386/bsd.c: Likewise.
16330 * grub-core/loader/i386/linux.c: Likewise.
16331 * util/getroot.c: Likewise.
16332 * util/grub-editenv.c: Likewise.
16333 * util/grub-fstest.c: Likewise.
16334 * util/grub-mkfont.c: Likewise.
16335 * util/grub-mkimage.c: Likewise.
16336 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16337 * util/grub-pe2elf.c: Likewise.
16338 * util/grub-probe.c: Likewise.
16339 * util/grub-setup.c: Likewise.
16340 * util/ieee1275/ofpath.c: Likewise.
16341 * util/misc.c: Likewise.
16342 * util/raid.c: Likewise.
16343
16344 2011-11-11 Robert Millan <rmh@gnu.org>
16345
16346 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16347 __attribute__((unused)) from `os_dev', which *is* being used.
16348
16349 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16352 forgotten define.
16353 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16354 GRUB_IA64_DL_GOT_ALIGN.
16355 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16356 GRUB_IA64_DL_TRAMP_ALIGN.
16357
16358 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16359
16360 Replace grub_fatal with normal errors in i386 linux loader.
16361
16362 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16363 (allocate_pages): Check find_efi_mmap_size return value.
16364 (grub_e820_add_region): Return error.
16365 (grub_linux_boot): Check mmap return value.
16366
16367 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * grub-core/commands/acpihalt.c: Gettextized.
16370 * grub-core/commands/cacheinfo.c: Likewise.
16371 * grub-core/commands/cmp.c: Likewise.
16372 * grub-core/commands/efi/loadbios.c: Likewise.
16373 * grub-core/commands/gptsync.c: Likewise.
16374 * grub-core/commands/ieee1275/suspend.c: Likewise.
16375 * grub-core/commands/legacycfg.c: Likewise.
16376 * grub-core/commands/memrw.c: Likewise.
16377 * grub-core/commands/minicmd.c: Likewise.
16378 * grub-core/commands/parttool.c: Likewise.
16379 * grub-core/commands/time.c: Likewise.
16380 * grub-core/commands/videoinfo.c: Likewise.
16381 * grub-core/disk/geli.c: Likewise.
16382 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16383 * grub-core/disk/luks.c: Likewise.
16384 * grub-core/disk/lvm.c: Likewise.
16385 * grub-core/font/font_cmd.c: Likewise.
16386 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16387 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16388 * grub-core/gfxmenu/view.c: Likewise.
16389 * grub-core/kern/emu/hostdisk.c: Likewise.
16390 * grub-core/kern/emu/main.c: Likewise.
16391 * grub-core/kern/emu/misc.c: Likewise.
16392 * grub-core/kern/emu/mm.c: Likewise.
16393 * grub-core/kern/mips/arc/init.c: Likewise.
16394 * grub-core/kern/mips/loongson/init.c: Likewise.
16395 * grub-core/kern/partition.c: Likewise.
16396 * grub-core/lib/i386/halt.c: Likewise.
16397 * grub-core/lib/mips/arc/reboot.c: Likewise.
16398 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16399 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16400 * grub-core/loader/i386/xnu.c: Likewise.
16401 * grub-core/loader/multiboot.c: Likewise.
16402 * grub-core/net/bootp.c: Likewise.
16403 * grub-core/net/net.c: Likewise.
16404 * grub-core/normal/term.c: Likewise.
16405 * grub-core/partmap/bsdlabel.c: Likewise.
16406 * grub-core/parttool/msdospart.c: Likewise.
16407 * grub-core/term/gfxterm.c: Likewise.
16408 * grub-core/term/terminfo.c: Likewise.
16409 * grub-core/video/i386/pc/vbe.c: Likewise.
16410 * util/grub-menulst2cfg.c: Likewise.
16411 * util/grub-mkdevicemap.c: Likewise.
16412 * util/grub-mklayout.c: Likewise.
16413 * util/grub-mkrelpath.c: Likewise.
16414 * util/grub-script-check.c: Likewise.
16415 * util/ieee1275/grub-ofpathname.c: Likewise.
16416 * util/resolve.c: Likewise.
16417
16418 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 Support %1$d syntax.
16421
16422 * tests/printf_unit_test.c: New file.
16423 * Makefile.util.def (printf_test): New test.
16424 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16425
16426 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16429 fix.
16430
16431 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16434 dprintf.
16435 * grub-core/font/font.c (grub_font_load): Likewise.
16436
16437 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16438
16439 * util/grub-macho2img.c: Add comment concerning gettext.
16440 * grub-core/lib/legacy_parse.c: Likewise.
16441
16442 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16445 (grub_xvasprintf): Likewise.
16446
16447 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16448
16449 Add const keyword to grub_env_get and gettextize week days.
16450
16451 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16452 (grub_read_hook_datetime): Return const char *.
16453 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16454 updated.
16455 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16456 Mark for gettext.
16457 (grub_get_weekday_name): Return const char *. Call gettext.
16458 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16459 char * and len as the argument. All users updated.
16460 (grub_script_argv_split_append): Receive const char *.
16461 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16462 * include/grub/env.h (grub_env_get): Likewise.
16463 (grub_env_read_hook_t): Return const char *.
16464 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16465 (grub_script_argv_split_append): Likewise.
16466
16467 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16468
16469 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16470
16471 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16474 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16475
16476 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16479 Fix prototype.
16480
16481 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16482
16483 Fix mips compilation.
16484
16485 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16486 normal decoder.
16487 (hashes): Use in embed decoder as well (for sizes).
16488 (dec_stream_header): Fix embed decompressor logic.
16489 (dec_stream_footer): Likewise.
16490
16491 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16494 an error and not a fatal on unrecognised relocation types.
16495
16496 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16497
16498 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16499 Issue error rather than printf on unknown arguments.
16500
16501 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16504 Make buf a const.
16505
16506 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16509 Fix module name.
16510
16511 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16514 leftover debug printf.
16515
16516 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16519
16520 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16523 A stylistic fix.
16524
16525 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16528
16529 2011-11-10 Shea Levy <slevy@tieronedesign.com>
16530
16531 Allow all modules to perform serial IO
16532
16533 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16534 * include/grub/serial.h (grub_serial_port_configure): New inline
16535 function.
16536 (grub_serial_port_fetch): Likewise.
16537 (grub_serial_port_put): Likewise.
16538 (grub_serial_port_fini): Likewise.
16539 (grub_serial_find): New proto.
16540
16541 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 Put symlink at the end of the node and fix a potential
16544 memory corruption.
16545
16546 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16547 Make symlink into an array.
16548 (set_rockridge): Set have_symlink and alloc_dirents.
16549 (grub_iso9660_read_symlink): Use new layout.
16550 (grub_iso9660_iterate_dir): Fix memory corruption.
16551 Use new layout.
16552 (grub_iso9660_dir): Set have_symlink.
16553 (grub_iso9660_open): Likewise.
16554
16555 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 Remove local keyword.
16558
16559 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16560 (version_test_gt): Likewise.
16561 (version_find_latest): Likewise.
16562 (gettext_printf): Likewise.
16563 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16564
16565 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16566
16567 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16568
16569 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 Fix ZFS memory and resource leaks.
16572
16573 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16574 All users updated.
16575 Free type on exit.
16576 (fill_vdev_info): New parameter inserted. All users updated.
16577 (check_pool_label): Likewise.
16578 (scan_disk): Likewise.
16579 (scan_devices): Close non-inserted disks.
16580 (fzap_iterate): Free l.
16581 (unmount_device): Free children descripto memory.
16582
16583 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16586 argument (access out of bounds).
16587
16588 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16591 >= 6 drives.
16592
16593 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16596 Fix declaration.
16597
16598 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 Fix several memory leaks.
16601
16602 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16603 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16604 (grub_cpio_dir): Likewise.
16605 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16606 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16607 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16608 (grub_romfs_label): Likewise.
16609 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16610 (squash_unmount): New function.
16611 (grub_squash_dir): Fix memory leak.
16612 (grub_squash_open): Likewise.
16613 (grub_squash_read): Likewise.
16614 (grub_squash_mtime): Likewise.
16615 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16616 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16617 * util/grub-fstest.c (fstest): Likewise.
16618
16619 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16622 avoid accessing beyond the array.
16623
16624 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16627
16628 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 Several AFFS fixes.
16631
16632 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16633 (GRUB_AFFS_FLAG_FFS): Removed.
16634 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16635 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16636 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16637 (grub_fshelp_node): Make block 32-bit.
16638 Add block_cache and last_block_cache.
16639 (grub_affs_read_block): Fill and use block cache.
16640 (grub_affs_read_file): Removed.
16641 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16642 boot block.
16643 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16644 safety.
16645 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16646 space.
16647 (grub_affs_close): Free block cache.
16648 (grub_affs_read): Use grub_fshelp_read_file directly.
16649
16650 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16653 with no error set.
16654
16655 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16658 used variable.
16659 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16660 Likewise.
16661
16662 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16663
16664 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16665
16666 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16667 byteswap when needed.
16668
16669 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 Fix FreeBSD compilation.
16672
16673 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16674 to avoid circular dependency.
16675 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16676 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16677 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16678
16679 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 Fix ZFS crypto error types.
16682
16683 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16684 (grub_gcm_decrypt): Likewise.
16685 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16686 from PBKDF2.
16687
16688 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16689
16690 Illumos support.
16691
16692 * Makefile.util.def (10_illumos): New script.
16693 * configure.ac: Set COND_HOST_ILLUMOS.
16694 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16695 Support Illumos calls.
16696 (find_partition_start) [__sun__]: Likewise.
16697 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16698 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16699 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16700 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16701 device.
16702 * util/grub-probe.c (probe) [__sun__]: Do character check.
16703 * util/grub.d/10_illumos.in: New file.
16704
16705 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16706
16707 Support escaped commas in hostdisk.
16708
16709 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16710 (find_grub_drive): Use unescape_cmp.
16711 (make_device_name): Escape commas.
16712
16713 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16716
16717 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16718
16719 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16720 variable.
16721
16722 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16723
16724 Support trampoline jumps on powerpc.
16725
16726 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16727 __ia64__ path.
16728 (grub_dl_load_segments): Set mod->sz.
16729 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16730 segments.
16731 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16732 (jump): Likewise.
16733 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16734 function.
16735 (trampoline): New struct.
16736 (trampoline_template): New const.
16737 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16738 * include/grub/dl.h (grub_dl): Add sz element.
16739 [__powerpc__]: Follow __ia64__.
16740 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16741 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16742 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16743 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16744
16745 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 ZFS crypto support.
16748
16749 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16750 * grub-core/Makefile.core.def (zfscrypt): New module.
16751 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16752 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16753 it. All users updated.
16754 (grub_zfs_decrypt): New var.
16755 (grub_zfs_load_key): Likewise.
16756 (zio_checksum_functions): Add SHA256+MAC.
16757 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16758 (zio_read): Handle encrypted blocks.
16759 (zap_verify): Remove incorrect check.
16760 (fzap_iterate): Handle non-standard fzap.
16761 (zap_iterate): Likewise.
16762 (zap_iterate_u64): New function.
16763 (dnode_get_fullpath): Load keys.
16764 * grub-core/fs/zfs/zfscrypt.c: New file.
16765 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16766 (grub_crypto_ecb_encrypt): Make input const.
16767 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16768 (grub_crypto_ecb_encrypt): Make input const.
16769 (GRUB_CIPHER_AES): New macro.
16770 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16771 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16772 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16773 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16774 prefix. All users updated.
16775 (grub_zfs_add_key): New proto.
16776 (grub_zfs_decrypt): Likewise.
16777 (grub_zfs_load_key): Likewise.
16778 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16779 * util/grub-fstest.c (options): Add -K option.
16780 (argp_parser): Likewise.
16781
16782 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 Support zle compression on ZFS.
16785
16786 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16787 (decomp_table): Add zle.
16788 * include/grub/zfs/zio.h (zio_compress): Add zle.
16789
16790 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 Support BtrFS embedding.
16793
16794 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16795 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16796 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16797 * util/grub-setup.c (setup): Use fs embedding if available.
16798 Add additional sanity check.
16799
16800 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 * util/grub-install.in: Fix condition for config_opt.
16803
16804 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 Support third redundancy strip on raidz3.
16807
16808 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16809 Return error on singularity. All users updated.
16810 (read_device): Don't stop on 3rd failure on raidz3.
16811
16812 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16813
16814 Support case-insensitive ZFS subvolumes.
16815
16816 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16817 All users updated.
16818 (zap_hash): Likewise.
16819 (name_cmp): New function.
16820 (zap_leaf_array_equal): New parameter case_insensitive.
16821 All users updated.
16822 (zap_leaf_lookup): Likewise.
16823 (fzap_lookup): Likewise.
16824 (zap_lookup): Likewise.
16825 (dnode_get_path): New parameter case_insensitive. Retrieve case
16826 sensitiviness of a volume. All users updated.
16827 (dnode_get_fullpath): New parameter case_insensitive.
16828 All users updated.
16829 (grub_zfs_dir): Set info.case_insensitiveness.
16830
16831 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 Support second redundancy strip on raidz(2,3).
16834
16835 * grub-core/fs/zfs/zfs.c (powx): New array.
16836 (powx_inv): Likewise.
16837 (poly): New const.
16838 (xor_out): New function.
16839 (gf_mul): Likewise.
16840 (recovery): Likewise.
16841 (read_device): Use second redundancy strip.
16842
16843 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 Use a power of generator representation of GF(256) multiplication group
16846 to save space time and complexity.
16847
16848 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16849 (raid6_table2): Likewise.
16850 (powx): New array.
16851 (powx_inv): Likewise.
16852 (poly): New const.
16853 (grub_raid_block_mul): Replace with ...
16854 (grub_raid_block_mulx): ...this.
16855 (grub_raid6_init_table): Rewritten.
16856 (grub_raid6_recover): Use power of generator representation.
16857
16858 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16859
16860 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16861 for the right device.
16862
16863 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16866 expected by grub-mkimage and it's more clear since there is no implicit
16867 padding.
16868
16869 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16872 disk.
16873 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16874
16875 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16876
16877 * util/grub-mkrescue.in: Fix handling xorriso option.
16878
16879 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16882 NULL.
16883
16884 2011-11-03 crocket <crockabiscuit@gmail.com>
16885
16886 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16887
16888 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16889
16890 XZ CRC64 and SHA256 support.
16891
16892 * Makefile.util.def (libgrubmods): Add crc64.c.
16893 * grub-core/Makefile.core.def (crc64): New module.
16894 * grub-core/lib/crc64.c: New file.
16895 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16896 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16897 Fix the type.
16898 (MAX_HASH_SIZE): New define.
16899 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16900 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16901 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16902 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16903 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16904 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16905 Handle non-crc32 hashes.
16906 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16907 (dec_stream_header): Handle non-crc32 hashes.
16908 (dec_stream_footer): Likewise.
16909 (dec_block_header): Likewise.
16910 (dec_main): Likewise.
16911 (xz_dec_init): Likewise.
16912 (xz_dec_reset): Likewise.
16913 (xz_dec_end): Likewise.
16914 * util/import_gcry.py: Add CRC64 line.
16915
16916 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16919 as well.
16920
16921 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 Make reiserfs label retrieval similar to other *_label functions.
16924
16925 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16926 (REISERFS_MAX_LABEL_LENGTH): Removed.
16927 (REISERFS_LABEL_OFFSET): Likewise.
16928 (grub_reiserfs_label): Rewritten.
16929
16930 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16933 field.
16934
16935 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16938
16939 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16942 drive failure on both raidz and raidz2.
16943
16944 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 Fix RAIDZ(2) for >= 5 devices.
16947
16948 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16949 asize argument. All users updated.
16950
16951 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 Fix RAIDZ(2).
16954
16955 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16956 (fill_vdev_info_real): Set ashift.
16957 (read_device): Rewrite RAIDZ part based on reverse engineering.
16958
16959 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16962 don't report potentially unavialiable fields in debug output.
16963 (find_path): Fix double-free and memory leak.
16964
16965 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 Read label on UFS1.
16968
16969 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16970 (grub_ufs_fs): Always set .label.
16971
16972 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16973
16974 Use shifts in UFS.
16975
16976 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16977 (grub_ufs_data): New field log2_blksz.
16978 (grub_ufs_read_file): Use shifts.
16979 (grub_ufs_mount): Check block size and logarithm it.
16980
16981 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16984 long symlinks.
16985
16986 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 Handle symlinks and long names on tar and cpio.
16989
16990 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16991 (ATTR_FILE): Likewise.
16992 (ATTR_DIR): Likewise.
16993 (ATTR_LNK): Likewise.
16994 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16995 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16996 L and K entries.
16997 (grub_cpio_mount): Zero-fill data.
16998 (handle_symlink): New function.
16999 (grub_cpio_dir): Handle symlinks.
17000 (grub_cpio_open): Likewise.
17001 (grub_cpio_close) [MODE_USTAR]: Free linkname.
17002
17003 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17004
17005 Fix iso9660 filename limitations and fix memory leaks.
17006
17007 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
17008 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
17009
17010 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17011
17012 Fix JFS file name length limitations.
17013
17014 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
17015 (grub_jfs_diropen): Fix maximum filename length.
17016 (grub_jfs_getent): Fix filename length.
17017 (grub_jfs_lookup_symlink): Fix size checks.
17018
17019 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
17022 string.
17023
17024 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17025
17026 Leverage BFS implementation to read AFS.
17027
17028 * Makefile.util.def (libgrubmods): Add afs.c.
17029 * grub-core/Makefile.core.def (afs): New module
17030 * grub-core/fs/afs.c: New file.
17031 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
17032
17033 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
17036
17037 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 * grub-core/fs/bfs.c: Run indent.
17040
17041 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 BFS implementation based on the specification.
17044
17045 * grub-core/fs/bfs.c: New file.
17046 * Makefile.util.def (libgrubmods): Add bfs.c.
17047 * grub-core/Makefile.core.def (bfs): New module.
17048
17049 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
17050
17051 * util/grub-fstest.c (cmd_cp): Clarify error message.
17052 (cmd_cmp): Likewise.
17053
17054 2011-10-30 Yves Blusseau <blusseau@zetam.org>
17055
17056 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
17057 and befs_be.
17058
17059 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
17060
17061 Remove afs and befs because of copyright problem.
17062
17063 * grub-core/fs/afs.c: Removed.
17064 * grub-core/fs/afs_be.c: Removed.
17065 * grub-core/fs/befs.c: Removed.
17066 * grub-core/fs/befs_be.c: Removed.
17067 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
17068 * grub-core/Makefile.core.def (afs): Removed.
17069 (afs_be): Likewise.
17070 (befs): Likewise.
17071 (befs_be): Likewise.
17072
17073 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 Prefer rockridge over Joliet.
17076
17077 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
17078 to ...
17079 (set_rockridge): ... here.
17080 (grub_iso9660_mount): Check rockridge on the primary label when
17081 discovering. Ignore Joliet if Rockridge is present.
17082
17083 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17084
17085 Use shifts in nilfs2.
17086
17087 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
17088 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
17089 (grub_nilfs2_palloc_entries_per_group): Replace with ...
17090 (grub_nilfs2_log_palloc_entries_per_group): ... this.
17091 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
17092 (grub_nilfs2_entries_per_block): Replaced with ...
17093 (grub_nilfs2_log_entries_per_block_log): ... this.
17094 (grub_nilfs2_blocks_per_group): Replaced with ...
17095 (grub_nilfs2_blocks_per_group_log): ... this.
17096 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
17097 (grub_nilfs2_blocks_per_desc_block_log): ... this.
17098 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
17099 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
17100 (grub_nilfs2_palloc_entry_offset): Replaced ...
17101 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
17102 (grub_nilfs2_dat_translate): Use shifts.
17103 (grub_nilfs2_read_inode): Likewise.
17104 (GRUB_MOD_INIT): Ensure that logs are correct.
17105
17106 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 Use shifts in minix filesystem.
17109
17110 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17111 (GRUB_MINIX_ZONE2SECT): Likewise.
17112 (grub_minix_data): Replace block_size with log_block_size.
17113 (grub_minix_read_file): Use shifts.
17114 (grub_minix_mount): Check block size and take a logarithm.
17115
17116 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17117
17118 Use shifts in squash4.
17119
17120 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17121 (squash_mount): Check block size and take logarithm.
17122 (direct_read): Use shifts.
17123
17124 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 Correct befs block counting logic.
17127
17128 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17129 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17130 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17131 (grub_afs_read_inode): Use block_shift.
17132 (RANGE_SHIFT): New definition.
17133 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17134 unexpected conditions, use shifts and appropriate types.
17135 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17136
17137 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 * grub-core/disk/raid.c (scan_devices): Check partition.
17140 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17141
17142 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 Support BFS (befs) UUID.
17145
17146 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17147 (grub_afs_small_data_element_header): New struct.
17148 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17149 (grub_afs_read_attribute) [MODE_BFS]: New function.
17150 (grub_afs_iterate_dir): Allocate for complete inode.
17151 (grub_afs_mount): Likewise.
17152 (grub_afs_uuid) [MODE_BFS]: New function.
17153 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17154
17155 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17156
17157 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17158 (zfs_unmount): Fix memory leak.
17159
17160 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 Support NTFS reparse points.
17163
17164 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17165 (symlink_descriptor): New struct.
17166 (grub_ntfs_read_symlink): New function.
17167 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17168 (grub_ntfs_open): Likewise.
17169
17170 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17171
17172 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17173
17174 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 fstest xnu_uuid subcommand.
17177
17178 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17179 grub-core/commands/xnu_uuid.c.
17180 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17181 (fstest): Handle xnu_uuid.
17182 (options): Document xnu_uuid.
17183 (argp_parser): Parse xnu_uuid.
17184
17185 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17188 -l argument. Add newline at the end if printing.
17189 (GRUB_MOD_INIT): Document -l.
17190
17191 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17194
17195 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17196
17197 ZFS multi-device and version 33 support.
17198
17199 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17200 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17201 (grub_zfs_data): Add multidev-ice-related fields.
17202 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17203 (dva_get_offset): Make dva const.
17204 (zfs_fetch_nvlist): New function.
17205 (fill_vdev_info_real): Likewise.
17206 (fill_vdev_info): Likewise.
17207 (check_pool_label): Likewise.
17208 (scan_disk): Likewise.
17209 (scan_devices): Likewise.
17210 (read_device): Likewise.
17211 (read_dva): Likewise.
17212 (zio_read_gang): Use read_dva.
17213 (zio_read_data): Likewise.
17214 (zap_leaf_lookup): Add missing endian conversion.
17215 (zap_verify): Add missing endian conversion. All users updated.
17216 (fzap_lookup): Likewise.
17217 (fzap_iterate): Likewise.
17218 (dnode_get_path): Handle SA bonus.
17219 (nvlist_find_value): Make input const. All users updated.
17220 (unmount_device): New function.
17221 (zfs_unmount): Use unmount_device.
17222 (zfs_mount): Use scan_disk.
17223 (zfs_mtime): New function.
17224 (grub_zfs_open): Handle system attributes.
17225 (fill_fs_info): Likewise.
17226 (grub_zfs_dir): Likewise.
17227 (grub_zfs_fs): Add mtime.
17228 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17229 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17230 (SA_MTIME_OFFSET): Likewise.
17231 (SA_SYMLINK_OFFSET): Likewise.
17232 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17233 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17234 (fstest): Support zfsinfo.
17235 (argp_parser): Likewise.
17236
17237 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17240 error.
17241
17242 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 ZFS fixes.
17245
17246 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17247 sharing the same block. Iterate over correct number of indices.
17248 (dnode_get_path): Handle symlinks correctly.
17249
17250 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17253
17254 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17255
17256 Read label on HFS+.
17257
17258 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17259 (grub_hfsplus_btree_search): Fix types.
17260 (grub_hfsplus_label): Implement.
17261
17262 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17265
17266 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17269
17270 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 Fix symlink handling on iso9660.
17273
17274 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17275 All users updated.
17276 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17277 (grub_iso9660_read_symlink): Moved most of code ...
17278 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17279
17280 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17283 Use union to avoid breaking strict-aliasing rules.
17284
17285 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 Support multi-extent iso files.
17288
17289 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17290 Add node.
17291 (grub_fshelp_node): Revamp. All users updated.
17292 (FLAG_*): New enum.
17293 (read_node): New function.
17294 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17295 All users updated.
17296 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17297 (get_node_size): New function.
17298 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17299 entries.
17300 Fix memory leak on . and ..
17301 (grub_iso9660_read): Use read_node.
17302 (grub_iso9660_close): Free node.
17303
17304 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17305
17306 Fix tar 4G limit and handle paths containing dot.
17307
17308 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17309 (canonicalize): New function.
17310 (grub_cpio_find_file): Use canonicalize. Store offs in
17311 grub_disk_addr_t.
17312 (grub_cpio_dir): Use grub_disk_addr_t.
17313 (grub_cpio_open): Likewise.
17314
17315 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17318
17319 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17320 unused flags.
17321 (grub_squash_inode): Add long_file and block_size.
17322 (grub_squash_cache_inode): New struct.
17323 (grub_squash_dirent): Make types into enum.
17324 (SQUASH_TYPE_LONG_REGULAR): New type.
17325 (grub_squash_frag_desc): Add field size.
17326 (SQUASH_BLOCK_FLAGS): New enum.
17327 (grub_squash_data): Use grub_squash_cache_inode.
17328 (grub_fshelp_node): Make ino_chunk 64-bit.
17329 (read_chunk): Minor argument change. All users updated.
17330 (squash_mount): Use correct le_to_cpu.
17331 (grub_squash_open): Handle LONG_REGULAR.
17332 (direct_read): New function.
17333 (grub_squash_read_data): Handle blocks correctly.
17334
17335 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17338
17339 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17340
17341 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17342
17343 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 Fix 2G limit on ZFS.
17346
17347 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17348 types.
17349 (uberblock_verify): Likewise.
17350 (dmu_read): Likewise.
17351 (grub_zfs_read): Likewise. Remove invalid cast.
17352
17353 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17354
17355 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17356 (grub_jfs_blkno): Fix incorrect shift.
17357 (grub_jfs_read_file): Use more appropriate types.
17358
17359 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 Support triple indirect on minix2 and minix3.
17362
17363 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17364 Declare triple_indir_zone.
17365 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17366 indirect.
17367
17368 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17369
17370 Minix FS fixes.
17371
17372 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17373 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17374 Rename ctime to mtime. All users updated.
17375 (grub_minix_get_file_block): Fix types and double indirect computations.
17376
17377 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17380 if no label is found.
17381 (grub_fat_iterate_dir): Fix file size type.
17382 (grub_fat_iterate_dir): Likewise.
17383
17384 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17387 save some space.
17388 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17389 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17390
17391 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17392
17393 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17394
17395 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17396
17397 * util/import_gcry.py: Accept space between # and include.
17398
17399 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17402
17403 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17406
17407 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17408 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17409 yylex_strncpy.
17410 * grub-core/script/yylex.l: Add fine-grained #pragma.
17411
17412 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17415 New inline function.
17416 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17417 Likewise.
17418 (memset) [GRUB_UTIL]: Likewise.
17419 (memcmp) [GRUB_UTIL]: Likewise.
17420
17421 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17422
17423 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17424 inline function rather than a define.
17425
17426 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17427
17428 * util/grub-setup.c: Add missing include.
17429
17430 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 * util/ieee1275/grub-ofpathname.c: Add missing include.
17433
17434 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17435
17436 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17437 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17438 Likewise.
17439
17440 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17443 grub_memcmp usage.
17444
17445 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * util/grub-install.in: Add datarootdir as per automake manual
17448 suggestion.
17449 * util/grub-mknetdir.in: Likewise.
17450
17451 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17454 suggestion.
17455 * util/grub.d/10_kfreebsd.in: Likewise.
17456 * util/grub.d/10_linux.in: Likewise.
17457 * util/grub.d/10_netbsd.in: Likewise.
17458 * util/grub.d/10_windows.in: Likewise.
17459 * util/grub.d/20_linux_xen.in: Likewise.
17460
17461 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 Remove redundant grub_kernel_image_size.
17464
17465 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17466 _edata and _start.
17467 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17468 the small code. It moves it only by few bytes but simplifies the code.
17469 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17470 _start.
17471 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17472 (grub_kernel_image_size): Removed.
17473 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17474 (grub_kernel_image_size): Removed.
17475 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17476 compiled with Apple toolchain.
17477 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17478 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17479 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17480 (grub_total_module_size): Likewise.
17481 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17482 Removed.
17483 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17484 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17485 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17486 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17487 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17488 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17489 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17490 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17491 Removed.
17492 (grub_total_module_size): Removed.
17493 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17494 (image_targets): Likewise.
17495 Set .compressed_size to no field on sparc.
17496 (generate_image): Remove kernel_image_size handling.
17497
17498 2011-10-19 Szymon Janc <szymon@janc.net.pl>
17499
17500 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17501 NULL pointer dereference.
17502
17503 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17506 done with a dedicated section.
17507
17508 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17509 Ensure the correct position of boot_path.
17510 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17511 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17512 other fields.
17513 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17514 * include/grub/boot.h: Removed. All references removed.
17515 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17516 Removed.
17517 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17518
17519 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17522 name.
17523
17524 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17527
17528 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17531 Don't add the bogus brackets.
17532
17533 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17534
17535 ExFAT support.
17536
17537 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17538 * grub-core/Makefile.core.def (exfat): New module.
17539 * grub-core/fs/exfat.c: New file.
17540 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17541 (GRUB_FAT_ATTR_*): Make into an enum.
17542 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17543 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17544 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17545 (GRUB_FAT_MAXFILE): Removed.
17546 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17547 (grub_current_fat_bpb_t): New type.
17548 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17549 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17550 (grub_fat_dir_node_t): New type.
17551 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17552 (fat_log2) [MODE_EXFAT]: Removed.
17553 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17554 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17555 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17556 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17557 (grub_fat_label) [MODE_EXFAT]: New function.
17558 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17559 reserved_first_sector to 0.
17560
17561 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 Move grub_reboot out of the kernel.
17564
17565 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17566 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17567 * grub-core/lib/efi/reboot.c: ... here.
17568 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17569 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17570 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17571 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17572 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17573 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17574 * grub-core/lib/ieee1275/reboot.c: ... here.
17575 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17576 * grub-core/lib/mips/arc/reboot.c: ... here.
17577 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17578 * grub-core/lib/mips/loongson/reboot.c: ...here.
17579 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17580 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17581 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17582 * include/grub/i386/reboot.h: New file.
17583 * include/grub/mips/loongson/ec.h: Fix includes.
17584 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17585 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17586 * grub-core/lib/i386/reboot.c: New file.
17587
17588 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17589
17590 Make grub_prefix into module to fix the arbitrary limit and save
17591 some space.
17592
17593 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17594 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17595 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17596 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17597 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17598 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17599 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17600 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17601 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17602 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17603 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17604 * include/grub/ia64/efi/kernel.h: Removed.
17605 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17606 (grub_prefix): Removed.
17607 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17608 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17609 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17610 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17611 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17612 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17613 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17614 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17615 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17616 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17617 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17618 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17619 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17620 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17621 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17622 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17623 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17624 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17625 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17626 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17627 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17628 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17629 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17630 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17631 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17632 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17633 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17634 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17635 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17636 from module.
17637 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17638 prefix_end.
17639 (image_targets): Likewise.
17640 (generate_image): Put prefix as a module.
17641
17642 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 Replace grub_module_iterate with FOR_MODULES.
17645
17646 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17647 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17648 (grub_efi_modules_addr): ...this.
17649 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17650 (grub_efi_init): Set grub_modbase.
17651 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17652 (grub_modbase): New variable.
17653 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17654 (grub_modbase): New variable.
17655 (grub_machine_init): Set grub_modbase.
17656 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17657 (grub_modbase): New variable.
17658 (grub_machine_init): Set grub_modbase.
17659 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17660 (grub_modbase): New variable.
17661 (grub_machine_init): Set grub_modbase.
17662 * grub-core/kern/main.c (grub_module_iterate): Remove.
17663 (grub_modules_get_end): Use grub_modbase.
17664 (grub_load_modules): Use FOR_MODULES.
17665 (grub_load_config): Likewise.
17666 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17667 (grub_modbase): New variable.
17668 (grub_machine_init): Set grub_modbase.
17669 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17670 (grub_modbase): New variable.
17671 (grub_machine_init): Set grub_modbase.
17672 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17673 Removed.
17674 (grub_modbase): New variable.
17675 (grub_machine_init): Set grub_modbase.
17676 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17677 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17678 (grub_module_iterate): Likewise.
17679 (grub_modbase): New variable declaration.
17680 (FOR_MODULES): New macro.
17681
17682 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17685 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17686
17687 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17688
17689 Fix few obvious type discrepancies.
17690
17691 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17692 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17693 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17694 variable.
17695 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17696 and connected types.
17697 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17698 offset.
17699 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17700 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17701 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17702 and connected types.
17703
17704 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17705
17706 Fix python 3.x incompatibilities.
17707
17708 * gentpl.py: Put brackets around print strings.
17709 * util/import_gcry.py: Open explicitly as utf-8.
17710 Use in instead of has_key.
17711
17712 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17713
17714 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17715 (GRUB_XFS_INO_AGBITS): Make into inline function.
17716 (GRUB_XFS_INO_INOINAG): Likewise.
17717 (GRUB_XFS_INO_AG): Likewise.
17718 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17719 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17720 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17721 (GRUB_XFS_EXTENT_SIZE): Likewise.
17722 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17723 (GRUB_XFS_NEXT_DIRENT): Likewise.
17724 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17725 (grub_xfs_read_file): Fix offset type.
17726
17727 2011-10-15 Robert Millan <rmh@gnu.org>
17728
17729 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17730
17731 2011-10-15 Robert Millan <rmh@gnu.org>
17732
17733 Fix build problem on FreeBSD and GNU/kFreeBSD.
17734
17735 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17736
17737 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17740
17741 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17742 types.
17743 (grub_hfsplus_btree_recoffset): Likewise.
17744 (grub_hfsplus_btree_recptr): Likewise.
17745 (grub_hfsplus_find_block): Likewise.
17746 (grub_hfsplus_btree_search): Likewise.
17747 (grub_hfsplus_read_block): Likewise.
17748 (grub_hfsplus_read_file): Likewise.
17749 (grub_hfsplus_mount): Likewise.
17750 (grub_hfsplus_btree_iterate_node): Likewise.
17751 (grub_hfsplus_btree_search): Likewise.
17752 (grub_hfsplus_iterate_dir): Likewise.
17753 (grub_hfsplus_read): A small code simplification.
17754
17755 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * grub-core/kern/emu/hostdisk.c
17758 (convert_system_partition_to_system_disk): Don't assume that children
17759 of mapper nodes are mapper nodes.
17760
17761 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17764 * include/grub/misc.h (grub_isxdigit): New function.
17765 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17766 switched to grub_isxdigit.
17767 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17768 number starting with a letter.
17769
17770 2011-10-09 Robert Millan <rmh@gnu.org>
17771
17772 LVM support for FreeBSD and GNU/kFreeBSD.
17773
17774 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17775 GNU/kFreeBSD.
17776 (LVM_DEV_MAPPER_STRING): Move from here ...
17777 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17778 * util/getroot.c: Include `<grub/util/lvm.h>'.
17779 (grub_util_get_dev_abstraction): Enable
17780 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17781 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17782 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17783 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17784 support it.
17785 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17786 GNU/kFreeBSD.
17787 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17788 when LVM abstraction is required for ${GRUB_DEVICE}.
17789
17790 2011-10-06 Szymon Janc <szymon@janc.net.pl>
17791
17792 Add support for LZO compression in GRUB:
17793 - import of minilzo library,
17794 - LZO decompression for btrfs,
17795 - lzop files decompression.
17796
17797 * grub-core/io/lzopio.c: New file.
17798 * grub-core/lib/adler32.c: Likewise.
17799 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17800 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17801 * grub-core/lib/minilzo/minilzo.c: Likewise.
17802 * grub-core/lib/minilzo/minilzo.h: Likewise.
17803 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17804 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17805 grub-core/lib/minilzo/minilzo.c to common.
17806 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17807 cflags in cppflags.
17808 * grub-core/Makefile.core.def (btrfs): Likewise.
17809 * grub-core/Makefile.core.def (lzopio): New module.
17810 (adler32): Likewise.
17811 * grub-core/fs/btrfs.c: Include minilzo.h.
17812 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17813 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17814 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17815 (grub_btrfs_lzo_decompress): New function.
17816 (grub_btrfs_extent_read): Add support for LZO compression type.
17817 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17818 (GRUB_USHRT_MAX): Likewise.
17819 (GRUB_UINT_MAX): Likewise.
17820 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17821 (UINT_MAX): Likewise.
17822 (CHAR_BIT): Likewise.
17823 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17824 grub-core/lib/posix_wrap/limits.h
17825 (UCHAR_MAX): Likewise.
17826 * include/grub/file.h (grub_file_filter_id): New compression filter
17827 GRUB_FILE_FILTER_LZOPIO.
17828 * include/grub/file.h (grub_file_filter_id): Set
17829 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17830 * include/grub/types.h (grub_get_unaligned16): New function.
17831 (grub_get_unaligned32): Likewise.
17832 (grub_get_unaligned64): Likewise.
17833 * util/import_gcry.py (cryptolist): Add adler32.
17834
17835 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17838 in perspective decreases the complexity of build system and fixes
17839 compilation right now.
17840
17841 2011-10-01 Ales Nesrsta <starous@volny.cz>
17842
17843 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17844 (fixed problem related to using UHCI with coreboot).
17845
17846 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17847
17848 * gentpl.py: Use Autogen macros so that the output template file
17849 (Makefile.tpl) size is reduced.
17850
17851 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
17852
17853 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17854 extra_dist.
17855
17856 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17857
17858 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17859 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17860
17861 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17862
17863 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17864 _fullpath.
17865
17866 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17867
17868 Remove extra declaration of sleep for mingw32.
17869
17870 * util/misc.c (sleep) [__MINGW32__]: Removed.
17871 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17872
17873 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17874
17875 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17876 type and packname.
17877 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17878 Resurrected.
17879 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17880 (grub_netbsd_btinfo_bootwedge): New struct.
17881 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17882 New function.
17883 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17884
17885 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17886
17887 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17888 loader.
17889
17890 2011-09-28 Andreas Born <futur.andy@googlemail.com>
17891
17892 Fix incorrect identifiers in bash-completion.
17893
17894 * util/bash-completion.d/grub-completion.bash.in
17895 (_grub_mkpasswd-pbkdf2): Rename to ...
17896 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17897 (_grub_script-check): Rename to ...
17898 (_grub_script_check): ... this. All users updated.
17899
17900 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17903 Return 0 if disk isn't biosdisk.
17904
17905 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17906
17907 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17908 on NetBSD.
17909 * Makefile.util.def (grub-fstest): Likewise.
17910
17911 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17912
17913 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17914 Get sector size from disk label.
17915
17916 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
17917
17918 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17919 */README* as well as README*.
17920 Reported by: Axel Beckert.
17921
17922 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17925 case of less than 256 MiB of RAM.
17926
17927 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 * grub-core/commands/wildcard.c (make_regex): Handle @.
17930
17931 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17932
17933 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17934
17935 2011-08-21 Szymon Janc <szymon@janc.net.pl>
17936
17937 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17938 AC_LANG_CONFTEST macros.
17939
17940 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17941
17942 Add grub-fstest option to uncompress data for commands.
17943
17944 * util/grub-fstest.c (uncompress): New var.
17945 (options): New option -u.
17946
17947 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17948
17949 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17950 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17951
17952 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17953
17954 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17955 file type was not recognized correctly (not gzip or corrupted).
17956
17957 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17960 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17961
17962 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17963
17964 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17965 loongson.
17966 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17967 video_radeon_fuloong2e.
17968 * grub-core/video/radeon_fuloong2e.c: New file.
17969 * include/grub/video.h (grub_video_id_t): Add new ID
17970 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17971
17972 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17975 define.
17976 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17977 that PRID matches the detected subplatform and reset the subplatform
17978 if it doesn't.
17979
17980 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17983
17984 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17985
17986 Fix PCI iterating on functions >= 4.
17987
17988 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17989 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17990 Removed.
17991 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17992 (grub_pci_read): Fix bitmask.
17993 (grub_pci_read_word): Likewise.
17994 (grub_pci_read_byte): Likewise.
17995 (grub_pci_write): Likewise.
17996 (grub_pci_write_word): Likewise.
17997 (grub_pci_write_byte): Likewise.
17998
17999 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
18002 can still be specified in TARGET_CFLAGS)
18003
18004 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
18005
18006 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
18007
18008 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
18009 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
18010 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
18011 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
18012 (FULOONG): Rename to ...
18013 (FULOONG2F): ... this. All users updated.
18014 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
18015 (machtype_fuloong2f_str): ... this.
18016 (machtype_fuloong2e_str): New string.
18017 Check for machtype_fuloong2e_str.
18018 * grub-core/loader/mips/linux.c (loongson_machtypes)
18019 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
18020 * grub-core/term/serial.c (loongson_defserial)
18021 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
18022 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
18023 loongson_defserial.
18024 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
18025 Rename to ...
18026 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
18027 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
18028 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
18029 to IMAGE_FULOONG2F_FLASH. All users updated.
18030 (image_targets): Rename images.
18031 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
18032
18033 2011-08-19 Szymon Janc <szymon@janc.net.pl>
18034
18035 Make enable of disk cache statistics code configurable.
18036
18037 * configure.ac: --enable-cache-stats added.
18038 * config.h.in (DISK_CACHE_STATS): New define.
18039 * grub-core/Makefile.core.def (cacheinfo): New command.
18040 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
18041 * grub-core/commands/cacheinfo.c: New file.
18042 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
18043 moved to cacheinfo.c.
18044 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
18045 debug code.
18046 * include/grub/disk.h: Likewise.
18047
18048 2011-08-19 Szymon Janc <szymon@janc.net.pl>
18049
18050 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
18051 * grub-core/Makefile.am: Likewise.
18052
18053 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
18056 non-zero pull.
18057
18058 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18059
18060 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
18061 All users updated.
18062 (grub_jfs_lookup_symlink): Use correct starting inode.
18063
18064 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 * util/grub-setup.c (main): Add missing gcry initialisation.
18067
18068 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
18069
18070 Don't accept text modes on EFI when booting Linux.
18071
18072 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
18073 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
18074
18075 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
18076 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18077
18078 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
18079 use of "/path/.." as in grub-install for EFI as well as handling
18080 symlinks correctly.
18081 Fixes Debian bug #637768.
18082
18083 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18084
18085 * util/grub-probe.c: Remove duplicate #include.
18086
18087 2011-08-10 Robert Millan <rmh@gnu.org>
18088
18089 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
18090
18091 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
18092 function.
18093 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
18094 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
18095
18096 2011-08-03 Robert Millan <rmh@gnu.org>
18097
18098 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
18099 la_array as packed.
18100 Reported by: Zachary Bedell
18101
18102 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18103
18104 * configure.ac: The Loongson port requires grub-mkfont due to its
18105 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18106 be built.
18107
18108 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18109
18110 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18111 processing arguments (otherwise help2man fails when GRUB has not yet
18112 been installed).
18113
18114 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 New script grub-mkstandalone.
18117
18118 * Makefile.util.def (grub-mkstandalone): New script.
18119 * docs/man/grub-mkstandalone.h2m: New file.
18120 * util/grub-mkstandalone.in: Likewise.
18121
18122 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 Support ATA disks with 4K sectors.
18125
18126 * include/grub/ata.h (grub_ata): New member log_sector_size.
18127 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18128 (grub_ata_identify): Read sector size.
18129 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18130
18131 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * util/grub-install.in: Don't use uhci outside of x86.
18134
18135 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18136
18137 * util/grub-mkrescue.in: Add missing quotes.
18138
18139 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18142 dereference.
18143
18144 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18147
18148 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 * include/grub/video.h: add missing EXPORT_FUND on
18151 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18152
18153 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * include/grub/mips/kernel.h: Fix define conflict.
18156
18157 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18160 all four ways.
18161
18162 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
18163
18164 Preferred resolution detection for VBE.
18165
18166 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18167 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18168 the Flat Panel extension, in line with the X.org VESA driver.
18169 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18170 New function.
18171 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18172 (grub_vbe_bios_read_edid): Likewise.
18173 (grub_vbe_get_preferred_mode): Likewise.
18174 (grub_video_vbe_setup): When the mode is "auto", try to get the
18175 preferred mode from VBE, and use the largest mode that is no larger
18176 than the preferred mode (some BIOSes expose a preferred mode that is
18177 not in their mode list!). If this fails, fall back to 640x480 as a
18178 safe conservative choice.
18179 (grub_video_vbe_get_edid): New function.
18180 (grub_video_vbe_adapter): Add get_edid.
18181 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18182 (struct grub_video_adapter): Add get_edid.
18183 (grub_video_edid_checksum): Add prototype.
18184 (grub_video_edid_preferred_mode): Likewise.
18185 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18186 structure.
18187
18188 * grub-core/commands/videoinfo.c (print_edid): New function.
18189 (grub_cmd_videoinfo): Print EDID if available.
18190
18191 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18192 is more appropriate on a wider range of platforms than 640x480.
18193 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18194 documentation.
18195
18196 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18199
18200 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18201
18202 * po/POTFILES.in: Regenerate.
18203
18204 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18205
18206 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18207 incorrect memory usage.
18208
18209 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 * util/grub-install.in: Source grub-mkconfig_lib.
18212
18213 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18214
18215 Remove getroot.c from core on emu platform.
18216
18217 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18218 kern/emu/raid.c.
18219 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18220 useless.
18221 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18222 * util/getroot.c (get_win32_path): ... here.
18223 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18224 * util/getroot.c (fini_libzfs): ... here.
18225 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18226 * util/getroot.c (grub_get_libzfs_handle): ... here.
18227 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18228 Moved from here...
18229 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18230 * grub-core/kern/emu/misc.c
18231 (grub_make_system_path_relative_to_its_root): Moved from here...
18232 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18233 * grub-core/kern/emu/getroot.c: Moved from here ...
18234 * util/getroot.c: ... here. All users updated.
18235 * grub-core/kern/emu/raid.c: Moved from here ...
18236 * util/raid.c: ... here. All users updated.
18237
18238 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18239
18240 * po/POTFILES.in: Regenerate.
18241
18242 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 Fix compilation on GNU/Linux.
18245
18246 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18247 Disable geli.
18248 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18249 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18250 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18251
18252 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18253 2011-07-07 Michael Gorven <michael@gorven.za.net>
18254 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18255
18256 LUKS and GELI support.
18257
18258 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18259 grub-core/disk/luks.c, grub-core/disk/geli.c,
18260 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18261 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18262 grub-core/lib/arg.c.
18263 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18264 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18265 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18266 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18267 (grub-bin2h): Add libgcry.a.
18268 (grub-mkimage): Likewise.
18269 (grub-mkrelpath): Likewise.
18270 (grub-script-check): Likewise.
18271 (grub-editenv): Likewise.
18272 (grub-mkpasswd-pbkdf2): Likewise.
18273 (grub-pe2elf): Likewise.
18274 (grub-fstest): Likewise.
18275 (grub-mkfont): Likewise.
18276 (grub-mkdevicemap): Likewise.
18277 (grub-probe): Likewise.
18278 (grub-ofpath): Likewise.
18279 (grub-mklayout): Likewise.
18280 (example_unit_test): Likewise.
18281 (grub-menulst2cfg): Likewise.
18282 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18283 * grub-core/Makefile.core.def (cryptodisk): New module.
18284 (luks): Likewise.
18285 (geli): Likewise.
18286 * grub-core/disk/AFSplitter.c: New file.
18287 * grub-core/disk/cryptodisk.c: Likewise.
18288 * grub-core/disk/geli.c: Likewise.
18289 * grub-core/disk/luks.c: Likewise.
18290 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18291 grub_util_is_lvm.
18292 (grub_util_get_dm_abstraction): New function.
18293 (grub_util_follow_gpart_up): Likewise.
18294 (grub_util_get_geom_abstraction): Likewise.
18295 (grub_util_get_dev_abstraction): Use new functions.
18296 (grub_util_pull_device): Pull GELI and LUKS.
18297 (grub_util_get_grub_dev): Handle LUKS and GELI.
18298 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18299 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18300 (follow_geom_up): Removed.
18301 (grub_util_fd_seek): New function.
18302 (open_device): Use grub_util_fd_seek.
18303 (nread): Rename to ..
18304 (grub_util_fd_read): ... this. All users updated.
18305 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18306 (grub_crypto_cbc_decrypt): Likewise.
18307 (grub_crypto_hmac_write): Likewise.
18308 (grub_crypto_hmac_buffer): Likewise.
18309 (grub_password_get): Extend to util.
18310 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18311 New member modname.
18312 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18313 * include/grub/cryptodisk.h: New file.
18314 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18315 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18316 LUKS and GELI.
18317 (grub_util_follow_gpart_up): New proto.
18318 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18319 (grub_util_fd_read): Likewise.
18320 (grub_cryptodisk_cheat_mount): Likewise.
18321 (grub_util_cryptodisk_print_uuid): Likewise.
18322 (grub_util_get_fd_sectors): Likewise.
18323 * util/grub-fstest.c (mount_crypt): New var.
18324 (fstest): Mount crypto if requested.
18325 (options): New option -C.
18326 (argp_parser): Parse -C.
18327 (main): Init and fini gcry.
18328 * util/grub-install.in: Support cryptodisk install.
18329 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18330 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18331 cryptodisk.
18332 (prepare_grub_to_access_device): Likewise.
18333 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18334 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18335 (probe_cryptodisk_uuid): New function.
18336 (probe_abstraction): Likewise.
18337 (probe): Use new functions.
18338 * util/import_gcry.py: Create Makefile.utilgcry.def.
18339 Add modname member.
18340
18341 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 Lazy device scanning.
18344
18345 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18346 (grub-setup): Remove util/raid.c.
18347 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18348 * grub-core/disk/lvm.c (scan_depth): New variable.
18349 (grub_lvm_iterate): Rescan if necessary.
18350 (find_lv): New function based on grub_lvm_open.
18351 (grub_lvm_open): Use find_lv. Rescan on error.
18352 (is_node_readable): New function.
18353 (is_lv_readable): Likewise.
18354 (grub_lvm_scan_device): Skip already found disks.
18355 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18356 Stop if searched device is found and readable.
18357 * grub-core/disk/raid.c (inscnt): New variable.
18358 (scan_depth): Likewise.
18359 (scan_devices): New function based on grub_raid_register. Abort if
18360 looked for device is found.
18361 (grub_raid_iterate): Rescan if needed.
18362 (find_array): NEw function based on -grub_raid_open.
18363 (grub_raid_open): Use find_array and rescan.
18364 (insert_array): Set became_readable_at.
18365 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18366 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18367 New function.
18368 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18369 (grub_util_pull_device): New function.
18370 (grub_util_get_grub_dev): Call grub_util_pull_device.
18371 * util/raid.c: Moved to ..
18372 * grub-core/kern/emu/raid.c: ... here.
18373 (grub_util_raid_getmembers): New parameter "bootable".
18374 All users updated. Support 1.x.
18375 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18376 All users updated.
18377 * include/grub/disk.h (grub_disk_pull_t): New enum.
18378 (grub_disk_dev): Change iterate prototype.
18379 All users updated.
18380 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18381 New proto.
18382 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18383 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18384 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18385 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18386 All users updated.
18387 * include/grub/util/raid.h: Removed.
18388
18389 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * po/POTFILES.in: Regenerate.
18392
18393 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18394
18395 Unify sparc init with other ieee1275.
18396
18397 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18398 instead of kern/sparc64/ieee1275/init.c.
18399 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18400 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18401 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18402 grub/machine/kernel.h.
18403 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18404 (grub_claim_heap) [__sparc__]: Use sparc version.
18405 (grub_machine_init): Moved args parsing to
18406 (grub_parse_cmdline): ...this.
18407 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18408 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18409 New definition.
18410 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18411
18412 Move BOOTP to separate file.
18413
18414 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18415 * grub-core/net/net.c: Move all BOOTP functions to
18416 * grub-core/net/bootp.c: ... here.
18417
18418 Use frame interface on PXE.
18419
18420 * grub-core/Makefile.core.def (pxecmd): Removed.
18421 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18422 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18423 * grub-core/i386/pc/pxe.c: Moved from here ...
18424 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18425 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18426 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18427
18428 EFI network support.
18429
18430 * grub-core/Makefile.core.def (efinet): New module.
18431 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18432 here...
18433 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18434 All users updated.
18435 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18436 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18437 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18438 * grub-core/net/drivers/efi/efinet.c: New file.
18439 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18440 (grub_efi_net_config): New extern var.
18441
18442 Various cleanups and bugfixes.
18443
18444 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18445 error.
18446 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18447 disk declared as partition.
18448 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18449 leak on failure.
18450 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18451 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18452 (grub_debug_zalloc): Likewise.
18453 (grub_debug_realloc): Likewise.
18454 (grub_debug_memalign): Likewise.
18455 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18456 Check that target is IPv4.
18457 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18458 local-mac-address as fallback.
18459 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18460 memory leak.
18461 * grub-core/net/ip.c (ipchksum): Rename to ...
18462 (grub_net_ip_chksum): ... this. All users updated.
18463 (grub_net_recv_ip_packets): Special handling for DHCP.
18464 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18465
18466 Unify prefix handling
18467
18468 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18469 (grub_machine_get_bootlocation): ... this.
18470 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18471 (grub_machine_get_bootlocation): ... this.
18472 (grub_prefix): New variable.
18473 (prefix): Removed.
18474 (root_dev): New variable.
18475 (dir): Likewise.
18476 (main): Use new variables.
18477 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18478 Revamped into ...
18479 (grub_machine_get_bootlocation): ... this.
18480 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18481 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18482 (grub_machine_get_bootlocation): ... this.
18483 (grub_machine_set_prefix): Removed.
18484 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18485 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18486 Revamped into ...
18487 (grub_machine_get_bootlocation): ... this.
18488 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18489 (grub_set_prefix_and_root): ... this. All users updated.
18490 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18491 Revamped into ...
18492 (grub_machine_get_bootlocation): ... this.
18493 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18494 (grub_machine_get_bootlocation): New proto.
18495 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18496
18497 Less intrusive and more reliable seek on network implementation.
18498
18499 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18500 (grub_file_seek): Don't call grub_file_net_seek.
18501 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18502 (grub_net_fs_read_real): .. this.
18503 (grub_net_seek_real): Use net->offset.
18504 (grub_net_fs_read): Seek if necessary.
18505
18506 Unify IEEE1275 netwotk config with the other platforms.
18507
18508 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18509 New variable.
18510 (grub_machine_get_bootlocation): Support network.
18511 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18512 Support type and device parsing.
18513 (grub_ieee1275_get_device_type): New function.
18514 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18515 into ...
18516 (grub_ieee1275_net_config_real): ... this.
18517 (grub_ofnet_probecards): Removed.
18518 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18519 * include/grub/ieee1275/ofnet.h: Removed.
18520 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18521 extern var.
18522 (grub_ieee1275_get_device_type): New function.
18523
18524 Unify network device closing across platforms and make more robust.
18525
18526 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18527 grub_grubnet_fini.
18528 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18529 already.
18530 * grub-core/net/net.c (grub_net_network_level_interface_register):
18531 Update num_ifaces.
18532 (grub_net_card_unregister): Close all interfaces.
18533 (receive_packets): Don't poll if no iterfaces are registered.
18534 Open if necessary.
18535 (grub_net_fini_hw): New function.
18536 (grub_net_restore_hw): Likewise.
18537 (fini_hnd): New variable.
18538 (GRUB_MOD_INIT): Register preboot hook.
18539 (GRUB_MOD_FINI): Run and unregister preboot hook.
18540
18541 Poll network cards when idle.
18542
18543 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18544 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18545 * grub-core/net/net.c (receive_packets): Save last poll time.
18546 (grub_net_poll_cards_idle_real): New function.
18547 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18548 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18549 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18550
18551 Rename ofnet interfaces.
18552
18553 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18554 (grub_ofnet_findcards): Use ofnet_%s names.
18555
18556 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18557
18558 Cleanup socket opening.
18559
18560 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18561 (grub_net_fs_close): Likewise.
18562 (grub_net_fs_read_real): Use eof member.
18563 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18564 (+grub_net_udp_close): New inline function.
18565
18566 * include/grub/net/tftp.h: Moved to the top of ...
18567 * grub-core/net/tftp.c: ... here.
18568 * include/grub/net/ip.h: Moved mostly to the top of ...
18569 * grub-core/net/ip.c: ... here.
18570 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18571 * grub-core/net/ethernet.c: ... here.
18572
18573 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18574
18575 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18576 FS name.
18577
18578 * include/grub/net/ip.h (ipv4_ini): Removed.
18579 (ipv4_fini): Likewise.
18580
18581 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18582 (grub_net_send_ip_packets): Likewise.
18583
18584 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18587 grub_read_cmos prototype.
18588
18589 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18590
18591 VGA text support in qemu-mips
18592
18593 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18594 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18595 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18596 text.
18597 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18598 * grub-core/kern/vga_init.c: ... this.
18599 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18600 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18601 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18602 Adjust.
18603 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18604 GRUB_MACHINE_PCI_IO_BASE.
18605
18606 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 MIPS qemu flash support.
18609
18610 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18611 magic.
18612 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18613 (grub_machine_init): Probe memory if its size isn't known.
18614 * util/grub-mkimage.c (image_targets): Add flash targets.
18615 (generate_image): Handle flash targets.
18616
18617 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 MIPS qemu at_keyboard support.
18620
18621 * gentpl.py (videoinkernel): Add qemu-mips.
18622 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18623 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18624 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18625 modules.
18626 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18627 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18628 * grub-core/term/serial.c (grub_serial_register)
18629 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18630
18631 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 CMOS support on sparc.
18634
18635 * gentpl.py (cmos): Add powerpc and sparc.
18636 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18637 powerpc and sparc.
18638 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18639 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18640 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18641 grub_set_datetime_cmos.
18642 * grub-core/lib/ieee1275/cmos.c: New file.
18643 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18644 (find_rtc): Set no_ieee1275_rtc on error.
18645 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18646 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18647 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18648 fail. Move value to argument. All users updated
18649 (grub_cmos_write): Likewise.
18650 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18651 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18652 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18653 grub_get_datetime_cmos and grub_set_datetime_cmos.
18654
18655 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18656
18657 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18658 sourcing grub-mkconfig_lib.
18659 * util/update-grub_lib.in: Likewise.
18660 * util/grub.d/00_header.in: Likewise.
18661 * util/grub.d/10_hurd.in: Likewise.
18662 * util/grub.d/10_kfreebsd.in: Likewise.
18663 * util/grub.d/10_linux.in: Likewise.
18664 * util/grub.d/10_netbsd.in: Likewise.
18665 * util/grub.d/10_windows.in: Likewise.
18666 * util/grub.d/20_linux_xen.in: Likewise.
18667 * util/grub.d/30_os-prober.in: Likewise.
18668
18669 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
18670
18671 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18672 default_bg_color rather than black.
18673 (grub_gfxterm_fullscreen): Likewise.
18674 (grub_gfxterm_background_color_cmd): Save new background color in
18675 default_bg_color.
18676
18677 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18680
18681 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18684 mismerge.
18685
18686 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 Chainloading on coreboot support.
18689
18690 * grub-core/Makefile.core.def (chain): Add coreboot.
18691 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18692
18693 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18696 if it happens.
18697
18698 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 Implement time command.
18701
18702 * grub-core/Makefile.core.def (time): New module.
18703 * grub-core/commands/time.c: New file.
18704 * grub-core/script/parser.y: Remove "time" keyword.
18705 * grub-core/script/yylex.l: Likewise.
18706
18707 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18708
18709 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18710
18711 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18714 when handling leftovers.
18715
18716 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18717
18718 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18719 so that help2man doesn't fail.
18720
18721 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18722
18723 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18724 type in pointers on sparc64.
18725 (get_card_packet): Likewise.
18726
18727 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
18728
18729 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18730 with `*'.
18731 (grub_cmd_videoinfo): Fetch current video mode.
18732
18733 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18734
18735 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18736 because of underlying system restrictions.
18737
18738 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18741 necessary.
18742
18743 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18744
18745 Coreboot video support.
18746
18747 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18748 (vbe): Likewise.
18749 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18750 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18751 here ...
18752 * grub-core/kern/i386/int.S: ... here.
18753 * grub-core/video/i386/pc/vbe.c: Updated includes.
18754 * grub-core/video/i386/pc/vga.c: Likewise.
18755 * include/grub/i386/coreboot/memory.h
18756 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18757 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18758 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18759 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18760 Disable interrupts.
18761 * include/grub/i386/pc/vga.h: Removed. All users updated.
18762
18763 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18764
18765 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18766 definitions for dprintf.
18767 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18768
18769 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18772 prototype.
18773 (get_card_packet): Likewise.
18774
18775 2011-06-26 Yves Blusseau <blusseau@zetam.org>
18776
18777 Display the path of the file when file is not found
18778
18779 * grub-core/fs/fat.c: Display the filename when file is not found.
18780 * grub-core/fs/fshelp.c: Likewise.
18781 * grub-core/fs/hfs.c: Likewise.
18782 * grub-core/fs/jfs.c: Likewise.
18783 * grub-core/fs/minix.c: Likewise.
18784 * grub-core/fs/ufs.c: Likewise.
18785 * grub-core/fs/btrfs.c: Likewise.
18786 * grub-core/commands/i386/pc/play.c: Likewise.
18787
18788 2011-06-26 Szymon Janc <szymon@janc.net.pl>
18789
18790 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18791 pointer checks before calling grub_free().
18792 * grub-core/commands/wildcard.c (match_devices): Likewise.
18793 * grub-core/commands/wildcard.c (match_files): Likewise.
18794 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18795 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18796 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18797 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18798 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18799 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18800 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18801 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18802 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18803
18804 2011-06-25 Patrick <p55@mailinator.com>
18805
18806 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18807
18808 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18809
18810 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18811 (grub_pxe_send): Likewise.
18812 (GRUB_MOD_INIT): Fix types.
18813
18814 2011-06-24 Szymon Janc <szymon@janc.net.pl>
18815
18816 * grub-core/io/xzio.c: Fix code style issues
18817
18818 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18819 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
18820
18821 Network infrastructure.
18822 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18823
18824 * include/grub/net/arp.h: New file.
18825 * include/grub/net/device.h: Likewise.
18826 * include/grub/net/ethernet.h: Likewise.
18827 * include/grub/net/ip.h: Likewise.
18828 * include/grub/net/netbuff.h: Likewise.
18829 * include/grub/net/tftp.h: Likewise.
18830 * include/grub/net/udp.h: Likewise.
18831 * include/grub/ieee1275/ofnet.h: Likewise.
18832 * include/grub/emu/export.h: Likewise.
18833 * include/grub/net.h: Likewise.
18834 * grub-core/net/arp.c: Likewise.
18835 * grub-core/net/ethernet.c: Likewise.
18836 * grub-core/net/ip.c: Likewise.
18837 * grub-core/net/udp.c: Likewise.
18838 * grub-core/net/tftp.c: Likewise.
18839 * grub-core/net/netbuff.c: Likewise.
18840 * grub-core/net/net.c: Likewise.
18841 * grub-core/net/drivers/emu/emunet.c: Likewise.
18842 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18843 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18844 export.h.
18845 * grub-core/Makefile.core.def (net): New module.
18846 (tftp): Likewise.
18847 (ofnet): Likewise.
18848 (emunet): Likewise.
18849 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18850 network protocols.
18851 * grub-core/kern/device.c (grub_net_open) : New variable.
18852 (grub_device_open): Handle network device.
18853 (grub_device_close): Likewise.
18854 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18855 (grub_grubnet_fini): Likewise.
18856 (grub_file_seek): Seek in network device.
18857 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18858 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18859 network root.
18860 (grub_machine_fini): Call grub_grubnet_fini.
18861 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18862 network.
18863 (grub_ieee1275_get_aliasdevname): New function.
18864 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18865 Add unofficial Solaris network info.
18866 (grub_multiboot_make_mbi): Likewise.
18867 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18868 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18869 * include/grub/device.h (grub_fs): Removed.
18870 * include/grub/err.h (grub_err_t): Add network-related values.
18871 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18872 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18873 (grub_ieee1275_get_aliasdevname): New proto.
18874 * include/grub/net.h: Rewritten.
18875
18876 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18877
18878 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18879 names.
18880
18881 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18882
18883 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18884 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18885 it truncates the output.
18886 Reported by: Ximin Luo.
18887
18888 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18889
18890 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18891
18892 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18893
18894 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18895 partmap before abstraction.
18896
18897 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18898
18899 * util/grub-mkconfig_lib.in: Add missing quotes.
18900
18901 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18904 old method if mountinfo would return /dev/root and /dev/root doesn't
18905 exist.
18906
18907 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 ZFS zlib support
18910
18911 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18912 (decomp_table): Add zlib entries.
18913 (zio_read): USe 8 bits for compression function rather than 3.
18914 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18915
18916 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 * grub-core/disk/ahci.c: Add missing license statements.
18919 * grub-core/fs/romfs.c: Likewise.
18920 * grub-core/lib/ia64/setjmp.S: Likewise.
18921 * grub-core/loader/i386/pc/freedos.c: Likewise.
18922 * grub-core/loader/ia64/efi/linux.c: Likewise.
18923 * grub-core/video/colors.c: Likewise.
18924 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18925
18926 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 AHCI support.
18929
18930 * grub-core/Makefile.core.def (ata_pthru): Removed.
18931 (ahci): New module.
18932 (pata): Likewise.
18933 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18934 on unload.
18935 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18936 readwrite.
18937 (grub_hdparm_do_check_powermode_cmd): Likewise.
18938 (grub_hdparm_do_smart_cmd): Likewise.
18939 (grub_hdparm_set_val_cmd): Likewise.
18940 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18941 * grub-core/disk/ahci.c: New file.
18942 * grub-core/disk/ata.c: Factor out the low-level part into ...
18943 * grub-core/disk/pata.c: ... here.
18944 * grub-core/disk/ata_pthru.c: Contents moved to ...
18945 * grub-core/disk/pata.c: ... here.
18946 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18947 (grub_scsi_iterate): Use grub_scsi_names.
18948 (grub_scsi_open): Likewise.
18949 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18950 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18951 (grub_ata_regs_t): New struct.
18952 (grub_disk_ata_pass_through_parms): Likewise.
18953 (grub_ata_device): Renamed to ...
18954 (grub_ata): ... this.
18955 (grub_ata_dev): New struct.
18956 Removed all low-level inline functions.
18957 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18958 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18959 iterate hooks and open. All users updated.
18960 * util/grub-install.in: Handle AHCI disk module.
18961
18962 2011-06-23 Szymon Janc <szymon@janc.net.pl>
18963
18964 Add support for DRI and RSTn markers in JPEG files.
18965
18966 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18967 (JPEG_MARKER_RST0): Likewise.
18968 (JPEG_MARKER_RST1): Likewise.
18969 (JPEG_MARKER_RST2): Likewise.
18970 (JPEG_MARKER_RST3): Likewise.
18971 (JPEG_MARKER_RST4): Likewise.
18972 (JPEG_MARKER_RST5): Likewise.
18973 (JPEG_MARKER_RST6): Likewise.
18974 (JPEG_MARKER_RST7): Likewise.
18975 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18976 (grub_jpeg_decode_dri): New function.
18977 (grub_jpeg_decode_sos): Move image data related part into
18978 grub_jpeg_decode_data function.
18979 (grub_jpeg_decode_data): New function.
18980 (grub_jpeg_reset): New function.
18981 (grub_jpeg_decode_jpeg): Handle new markers.
18982
18983 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18984
18985 * util/ieee1275/ofpath.c (check_sas): Close fd.
18986 (main): Free of_path.
18987 Reported by: David Volgyes <dvolgyes>.
18988
18989 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18992 Reported by: David Volgyes <dvolgyes>.
18993
18994 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18995
18996 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18997 file after stat.
18998 Reported by: David Volgyes <dvolgyes>.
18999
19000 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19001
19002 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
19003
19004 Reported by: David Volgyes <dvolgyes>.
19005
19006 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
19009 Prevent memory leak.
19010
19011 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19012
19013 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
19014 (main): Close file.
19015 Reported by: David Volgyes <dvolgyes>.
19016
19017 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19018
19019 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
19020 to continue if allocation is failed.
19021
19022 Reported by: David Volgyes <dvolgyes>.
19023
19024 2011-06-23 David Volgyes <dvolgyes>
19025
19026 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
19027 dereference.
19028
19029 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 Fix spurious warning.
19032
19033 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
19034 (acorn_partition_map_find): Use .bin member.
19035
19036 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
19039 /dev/root as a valid device.
19040
19041 2011-06-23 Jim Meyering <meyering@redhat.com>
19042
19043 Avoid NULL deref in grub_device_open.
19044
19045 * grub-core/kern/device.c (grub_device_open): Don't dereference
19046 a NULL pointer upon failed grub_env_get.
19047
19048 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
19049
19050 Support non-512B sectors and agglomerate reads.
19051
19052 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
19053 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
19054 (disk_io_guid): Removed.
19055 (make_devices): Locate solely by BlockIO.
19056 (grub_efidisk_open): Fill log_sector_size and total_sectors.
19057 (grub_efidisk_read): Use read_blocks.
19058 (grub_efidisk_write): Use write_blocks.
19059 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
19060 log_sector_size.
19061 (get_safe_sectors): Handle non-512B sectors.
19062 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
19063 sectors.
19064 (grub_biosdisk_write): Handle non-512B sectors.
19065 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
19066 (grub_scsi_read): Remove special non-512B block handling (now handled
19067 one level up).
19068 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
19069 and do sanity checks.
19070 (grub_disk_adjust_range): Handle non-512B sectors.
19071 (transform_sector): New function.
19072 (grub_disk_read_small): Likewise.
19073 (grub_disk_read): Rewritten.
19074 (grub_disk_write): Handle non-512B sectors.
19075 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
19076 log_sector_size.
19077 (open_device): Use log_sector_size.
19078 (grub_util_biosdisk_read): Likewise.
19079 (grub_util_biosdisk_write): Likewise.
19080 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
19081 non-512B sectors.
19082 (pc_partition_map_embed): Likewise.
19083 * include/grub/disk.h (grub_disk): New field log_sector_size.
19084 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
19085 (GRUB_DISK_CACHE_BITS): Increased to 6.
19086 * util/grub-fstest.c (fstest): New command testload.
19087 (argp_parser): Likewise.
19088
19089 2011-06-16 Robert Millan <rmh@gnu.org>
19090
19091 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
19092 `ata' driver on kernel of FreeBSD 9.
19093
19094 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
19095 (get_ataraid_disk_name): New functions.
19096 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
19097 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
19098 get_ataraid_disk_name() and get_ada_disk_name().
19099
19100 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
19101
19102 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
19103 input format.
19104
19105 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
19106
19107 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19108 `ftp.gnu.org' for `alpha.gnu.org'.
19109
19110 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19111
19112 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19113 partitions under /dev/disk/by-id/.
19114
19115 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19116
19117 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19118 after ten consecutive open failures. Scanning all the way up to
19119 10000 is excessive and can cause serious performance problems in
19120 some configurations.
19121 Fixes Ubuntu bug #787461.
19122
19123 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19124
19125 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19126 opening new one.
19127
19128 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
19129 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19130
19131 Don't stat devices unless we have to.
19132
19133 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19134 dir == /dev/mapper.
19135 (grub_guess_root_device): Use already known os_dev if possible.
19136 * grub-core/kern/emu/hostdisk.c
19137 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19138 if device is known to be a dm one.
19139
19140 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
19141
19142 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19143 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19144 Reported by: Pawel Tecza.
19145
19146 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19149 (lsefisystab): Likewise.
19150 (lssal): Likewise.
19151 (lsefimmap): Likewise.
19152 (hdparm): Enable on qemu-mips.
19153 (setjmp): Add ia64 nodist.
19154 (serial): Simplify tags.
19155
19156 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19157
19158 * Makefile.util.def (grub-ofpathname): Install manual page.
19159
19160 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19161
19162 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19163
19164 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19165
19166 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19167
19168 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19171 into dprintf.
19172
19173 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 Use full 64-bit division.
19176
19177 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19178 (grub_divmod64): ... this.
19179 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19180 version.
19181
19182 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19183
19184 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19185 `source'.
19186
19187 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19188
19189 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19190 to avoid accidents when debugging with 'sh -x'.
19191 * grub-core/gensyminfo.sh.in: Likewise.
19192 * tests/example_scripted_test.in: Likewise.
19193 * tests/grub_cmd_regexp.in: Likewise.
19194 * tests/grub_script_blanklines.in: Likewise.
19195 * tests/grub_script_dollar.in: Likewise.
19196 * tests/grub_script_expansion.in: Likewise.
19197 * tests/grub_script_final_semicolon.in: Likewise.
19198 * tests/partmap_test.in: Likewise.
19199 * tests/util/grub-shell-tester.in: Likewise.
19200 * tests/util/grub-shell.in: Likewise.
19201
19202 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19203
19204 Move gfxmenu color handling to video, so that gfxterm can use it
19205 too.
19206
19207 * grub-core/gfxmenu/named_colors.c: Move to ...
19208 * grub-core/video/colors.c: ... here. Rename
19209 grub_gui_get_named_color to grub_video_get_named_color.
19210 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19211 * grub-core/video/colors.c (my_isxdigit): ... here.
19212 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19213 Move to ...
19214 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19215 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19216 to ...
19217 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19218
19219 * include/grub/gui.h (grub_gui_color_t): Move to ...
19220 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19221 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19222 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19223 * include/grub/gui.h (grub_gui_map_color): Move to ...
19224 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19225 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19226 to ...
19227 * include/grub/video.h (grub_video_get_named_color): ... here.
19228 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19229 * include/grub/video.h (grub_video_parse_color): ... here.
19230
19231 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19232 video/colors.c.
19233 (gfxmenu): Remove gfxmenu/named_colors.c.
19234 (video) [videomodules]: Add video/colors.c.
19235
19236 Add a background_color command.
19237
19238 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19239 function.
19240 (GRUB_MOD_INIT): Register background_color command.
19241 (GRUB_MOD_FINI): Unregister background_color command.
19242 (redraw_screen_rect): Allow blend/replace of text layer to be
19243 controlled independently from whether there is a background bitmap.
19244 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19245 changing bitmap.
19246
19247 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19248
19249 Patch BPB in ntldr and chainloader --bpb.
19250
19251 * grub-core/fs/fat.c: Include grub/fat.h.
19252 (grub_fat_bpb): Moved to ...
19253 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19254 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19255 grub/ntfs.h.
19256 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19257 Moved from here...
19258 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19259 here.
19260 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19261 New function.
19262 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19263 (GRUB_MOD_INIT): Show --bpb.
19264 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19265 * grub-core/normal/main.c (features): New variable.
19266 (GRUB_MOD_INIT): Set feature_* variables.
19267 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19268 proto.
19269 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19270
19271 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19274 for cleanness.
19275
19276 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 FreeDOS direct loading support.
19279
19280 * docs/grub.texi (Supported OS): Add FreeDOS.
19281 * grub-core/Makefile.core.def (freedos): New module.
19282 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19283 variable.
19284 (grub_relocator16_boot): Handle %ebx.
19285 * grub-core/lib/i386/relocator16.S: Likewise.
19286 * grub-core/loader/i386/pc/freedos.c: New file.
19287
19288 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 Long Linux command line support.
19291
19292 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19293 (maximal_cmdline_size): New variable.
19294 (allocate_pages): Use maximal_cmdline_size.
19295 (grub_cmd_linux): Set and use maximal_cmdline_size.
19296 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19297 (allocate_pages): Use maximal_cmdline_size.
19298 (grub_cmd_linux): Set and use maximal_cmdline_size.
19299 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19300 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19301 and cmdline_size.
19302
19303 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19304 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19305
19306 Improve devmapper support
19307
19308 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19309 (grub_util_is_lvm): New function.
19310 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19311 than lvm if not dmraid.
19312 Handle mapped md nodes.
19313 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19314 (grub_util_device_is_mapped): ... this. Make always available. All users
19315 updated.
19316 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19317 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19318 dmraid nodes.
19319 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19320
19321 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19324
19325 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19326 * grub-core/modinfo.sh.in: New file.
19327 * grub-core/Makefile.core.def (modinfo.sh): New script.
19328 * util/grub-mknetdir.in: Use modinfo.sh.
19329 * util/grub-mkrescue.in: Likewise.
19330
19331 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19334 Fix potential usage of Elf32 instead of Elf64 when compiling on
19335 32-bit architecture. Add endianness macros while on it.
19336
19337 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19338
19339 Use mipsel- rather than mips- in directories involving mipsel ports to
19340 allow both endiannesses coexist.
19341
19342 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19343 mips. All conditions adjusted.
19344 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19345 variable.
19346 * util/grub-install.in: Adjust conditions to take renaming into account.
19347 * util/grub-mkimage.c (image_targets): Likewise. New target
19348 mips-qemu_mips-elf for bigendian mips.
19349
19350 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19351
19352 Avoid unnecessary copying on MIPS.
19353
19354 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19355 early if src == dest.
19356 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19357 compression is none.
19358
19359 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 Reduce memory footprint on SGI by putting modules before the kernel
19362 as opposed to after.
19363
19364 * grub-core/Makefile.core.def (kernel): Increase linking address.
19365 (none_decompress): Likewise.
19366 (xz_decompress): Likewise.
19367 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19368 address.
19369 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19370 layout change.
19371 (grub_arch_modules_addr): New function.
19372 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19373 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19374 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19375 here.
19376 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19377 (grub_total_modules_size): ... this. Make global.
19378 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19379 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19380 New definition.
19381 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19382 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19383 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19384 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19385 * util/grub-mkimage.c (image_target_desc): New flag
19386 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19387 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19388 (generate_image): Handle images with modules before kernel.
19389
19390 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19391
19392 Prevent potential loss of memory map by overwrite on qemu-mips.
19393
19394 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19395 Save ram size in $s4.
19396 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19397 All users changed to grub_arch_memsize.
19398 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19399 Loongson.
19400 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19401 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19402 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19403 external variable.
19404
19405 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19406
19407 * .bzrignore: Remove grub-dumpbios.
19408
19409 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19410
19411 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19412 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19413 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19414 existing options which append).
19415 * docs/grub.texi (Simple configuration): Document new options.
19416 Reported by: Ian Jackson. Fixes Debian bug #617538.
19417
19418 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19419
19420 * util/grub-fstest.c (cmd_cat): New function.
19421 (fstest): Handle CMD_CAT.
19422 (options): Add cat.
19423 (argp_parser): Handle cat.
19424
19425 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19426
19427 * Makefile.util.def (grub-bin2h): Don't install.
19428 * docs/man/grub-bin2h.h2m: Remove.
19429
19430 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19433 place.
19434
19435 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19436
19437 Reenable qemu-mips port.
19438
19439 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19440 Fix small arc bug while on it.
19441 * gentpl.py: Handle qemu_mips.
19442 * grub-core/Makefile.am: Likewise.
19443 * grub-core/Makefile.core.def: Likewise.
19444 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19445 inappropriate includes.
19446 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19447 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19448 * grub-core/kern/main.c (grub_modules_get_end)
19449 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19450 * grub-core/kern/mips/qemu-mips: Moved to ..
19451 * grub-core/kern/mips/qemu_mips: ... this.
19452 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19453 (grub_machine_init): Call terminfo_init and serial_init.
19454 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19455 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19456 New variable.
19457 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19458 parameter passing.
19459 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19460 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19461 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19462 * include/grub/mips/qemu_mips/cmos.h: New file.
19463 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19464 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19465 Removed.
19466 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19467 Use correct mips-style address.
19468 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19469 (GRUB_TICKS_PER_SECOND): Removed.
19470 (grub_get_rtc): Likewise.
19471 (grub_cpu_idle): Likewise.
19472 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19473 New definition.
19474 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19475 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19476 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19477 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19478 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19479 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19480 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19481 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19482
19483 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 SGI ARCS port.
19486
19487 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19488 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19489 platforms.
19490 * configure.ac: New target mips-arc.
19491 * gentpl.py: Likewise.
19492 * grub-core/Makefile.am: Likewise.
19493 * grub-core/Makefile.core.def: Likewise.
19494 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19495 (none_decompress): Likewise.
19496 (lsdev): New module.
19497 (datetime): Use lib/arc/datetime.c on ARC.
19498 (part_dvh): New module.
19499 * grub-core/commands/arc/lsdev.c: New file.
19500 * grub-core/disk/arc/arcdisk.c: Likewise.
19501 * grub-core/kern/mips/arc/init.c: Likewise.
19502 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19503 aligned addresses.
19504 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19505 support.
19506 (grub_arch_dl_relocate_symbols): Likewise.
19507 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19508 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19509 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19510 platforms.
19511 * grub-core/lib/arc/datetime.c: New file.
19512 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19513 pci.h on non-loongson.
19514 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19515 (grub_linux_boot): Set unused registers to 0.
19516 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19517 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19518 * grub-core/mmap/mips/uppermem.c: ...here.
19519 * grub-core/partmap/dvh.c: New file.
19520 * grub-core/term/arc/console.c: Likewise.
19521 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19522 (grub_terminfo_set_current): Add terminal "arc".
19523 (grub_terminfo_readkey): Support ARC sequences.
19524 * include/grub/arc/arc.h: New file.
19525 * include/grub/arc/console.h: Likewise.
19526 * include/grub/disk.h (grub_disk_dev_id): Add
19527 GRUB_DISK_DEVICE_ARCDISK_ID.
19528 * include/grub/mips/arc/kernel.h: New file.
19529 * include/grub/mips/arc/memory.h: Likewise.
19530 * include/grub/mips/arc/time.h: Likewise.
19531 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19532 * include/grub/mips/kernel.h (grub_halt): ... here.
19533 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19534 here...
19535 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19536 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19537 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19538 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19539 proto.
19540 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19541 from here ...
19542 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19543 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19544 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19545 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19546 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19547 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19548 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19549 (grub_phys_addr_t): Moved from here ...
19550 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19551 (grub_vtop): Moved from here ...
19552 * include/grub/mips/memory.h (grub_vtop): ... here.
19553 (grub_map_memory): Moved from here ...
19554 * include/grub/mips/memory.h (grub_map_memory): ... here.
19555 (grub_unmap_memory): Moved from here ...
19556 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19557 (grub_machine_mmap_iterate): Moved from here ...
19558 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19559 (grub_mmap_get_lower): Moved from here ...
19560 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19561 (grub_mmap_get_upper): Moved from here ...
19562 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19563 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19564 here ...
19565 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19566 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19567 here ...
19568 * include/grub/mips/time.h (grub_get_rtc): ... here.
19569 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19570 here ...
19571 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19572 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19573 here ...
19574 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19575 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19576 definition.
19577 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19578 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19579 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19580 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19581 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19582 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19583 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19584 (GRUB_MACHINE_LINK_ADDR): Likewise.
19585 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19586 to 6.
19587 * util/grub-install.in: Run dvhtool on ARC.
19588 * util/grub-mkimage.c (image_targets): Add mips-arc.
19589 (generate_image): Handle ECOFF output for mips-arc.
19590
19591 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19594 blocks.
19595
19596 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19599 after enabling port.
19600
19601 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19602
19603 Skip incorrect USB devices.
19604
19605 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19606 configcnt == 0.
19607 * include/grub/usb.h (grub_usb_err_t): New enum value
19608 GRUB_USB_ERR_BADDEVICE.
19609
19610 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 Fuloong video init support.
19613
19614 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19615 well.
19616 (grub_vga_read_arx): New function.
19617 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19618 definition.
19619 (framebuffer): New members io, mmioptr and mmiobase.
19620 (read_sis_cmd): New function.
19621 (write_sis_cmd): Likewise.
19622 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19623 rather than 640x400.
19624 * grub-core/video/sis315_init.c: New file.
19625
19626 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19629 non-loongson.
19630 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19631 to grub_dl_register_symbol.
19632
19633 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 Fix compilation errors.
19636
19637 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19638 potentially unused.
19639 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19640 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19641 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19642 to loongson machines.
19643
19644 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19645
19646 Several FS mtime support.
19647
19648 * grub-core/fs/affs.c (grub_affs_time): New struct.
19649 (grub_affs_file): New field mtime.
19650 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19651 type. Removed 'size'. New field 'di'. All users updated.
19652 (grub_affs_mount): Simplify checsum checking.
19653 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19654 (grub_affs_dir): Handle mtime.
19655 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19656 (grub_cpio_dir): Likewise.
19657 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19658 (grub_hfs_filerec): New field mtime.
19659 (grub_hfs_dir): Handle mtime.
19660 (grub_hfs_mtime): New function.
19661 (grub_hfs_fs): Register grub_hfs_mtime.
19662 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19663 (grub_iso9660_dir): New field mtime.
19664 (grub_fshelp_node): New field dirent.
19665 (iso9660_to_unixtime): New function.
19666 (iso9660_to_unixtime2): Likewise.
19667 (grub_iso9660_read_symlink): Use node->dirent.
19668 (grub_iso9660_iterate_dir): Likewise.
19669 (grub_iso9660_dir): Set mtime.
19670 (grub_iso9660_mtime): New function.
19671 (grub_iso9660_fs): Register grub_iso9660_mtime.
19672 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19673 (grub_jfs_inode): New fields atime, ctime and mtime.
19674 (grub_jfs_dir): Set mtime.
19675 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19676 * grub-core/fs/ntfs.c (list_file): Set mtime.
19677 (grub_ntfs_dir): Likewise.
19678 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19679 (grub_reiserfs_iterate_dir): Set mtime.
19680 (grub_reiserfs_dir): Likewise.
19681 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19682 (grub_fshelp_node): Likewise.
19683 (grub_sfs_iterate_dir): Set mtime.
19684 (grub_sfs_dir): Likewise.
19685 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19686 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19687 (grub_xfs_inode): New fields atime, mtime, ctime.
19688 (grub_xfs_dir): Set mtime.
19689 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19690 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19691 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19692
19693 Support UDF symlinks.
19694
19695 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19696 (grub_ufs_read_symlink): New function. All users updated.
19697
19698 Check amiga partmap checksum.
19699
19700 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19701 (grub_amiga_partition): Likewise.
19702 (amiga_partition_map_checksum): New function.
19703 (amiga_partition_map_iterate): Check checksum.
19704
19705 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19706
19707 ROMFS support.
19708
19709 * Makefile.util.def (libgrubmods.a): Add romfs.
19710 * grub-core/Makefile.core.def (romfs): New module.
19711 * grub-core/fs/romfs.c: New file.
19712
19713 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19714
19715 Squashfs v4 support.
19716
19717 * Makefile.util.def (libgrubmods.a): Add squash4.
19718 * grub-core/Makefile.core.def (squash4): New module.
19719 * grub-core/fs/squash4.c: New file.
19720 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19721 disk_input_start, disk_input.
19722 (get_byte): Handle disk_input.
19723 (grub_zlib_disk_read): New function.
19724 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19725
19726 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19727 2011-05-15 Feiran Zheng <famcool@gmail.com>
19728
19729 * Makefile.util.def (libgrubmods.a): Add minix3.
19730 * grub-core/Makefile.core.def (minix3): New module.
19731 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19732 (GRUB_MINIX_BSIZE): Removed.
19733 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19734 (grub_minix_ino_t): New type.
19735 (grub_minix_le_to_cpu_ino): New macro.
19736 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19737 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19738 (grub_minix_data): New field block_size.
19739 (grub_minix_read_file): Handle 64-bit correctly.
19740 * grub-core/fs/minix3.c: New file.
19741
19742 2011-05-15 Tristan Gingold <gingold@free.fr>
19743 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
19744 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 IA64 support.
19747
19748 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19749 * configure.ac: Add ia64-efi target.
19750 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19751 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19752 * gentpl.py: Add ia64_efi platform.
19753 Rename x86_efi to efi and Add ia64-efi. All users updated.
19754 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19755 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19756 Remove kern/generic/rtc_get_time_ms.c on EFI.
19757 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19758 kern/ia64/dl_helper.c on ia64-efi.
19759 Add kern/emu/cache.c on emu.
19760 (linux): Use on loader/ia64/efi/linux.c on ia64.
19761 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19762 whether symbol is a function.
19763 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19764 (grub_symbol): New field 'isfunc'.
19765 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19766 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19767 (grub_dl_load_segments): Place all sections into the same region.
19768 [__ia64__]: Create trampolines and got.
19769 [GRUB_MACHINE_EMU]: Call mprotect.
19770 (grub_dl_resolve_symbols): Resolve symbol type as well.
19771 [__ia64__]: Create function descriptors.
19772 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19773 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19774 (grub_get_rtc): New function.
19775 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19776 * grub-core/kern/emu/cache.S: Renamed to ...
19777 * grub-core/kern/emu/cache_s.S: ... this.
19778 [__ia64__]: Add a nop.
19779 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19780 [__ia64__]: New function.
19781 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19782 * grub-core/kern/ia64/dl.c: New file.
19783 * grub-core/kern/ia64/dl_helper.c: Likewise.
19784 * grub-core/kern/ia64/efi/init.c: New file.
19785 * grub-core/kern/ia64/efi/startup.S: Likewise.
19786 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19787 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19788 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19789 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19790 * grub-core/loader/ia64/efi/linux.c: New file.
19791 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19792 (GRUB_MOD_DEP): Likewise.
19793 (grub_dl) [__ia64__]: New fields got and tramp.
19794 (grub_dl): New field 'base'.
19795 (grub_dl_register_symbol): New argument isfunc. All users updated.
19796 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19797 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19798 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19799 (grub_ia64_dl_get_tramp_got_size): New proto.
19800 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19801 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19802 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19803 * include/grub/efi/api.h: Skip call wrappers on ia64.
19804 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19805 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19806 * include/grub/elf.h (ELF_ST_INFO): New definition.
19807 * include/grub/ia64/efi/kernel.h: New file.
19808 * include/grub/ia64/efi/memory.h: Likewise.
19809 * include/grub/ia64/efi/time.h: Likewise.
19810 * include/grub/ia64/kernel.h: Likewise.
19811 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19812 * include/grub/ia64/time.h: New file.
19813 * include/grub/ia64/types.h: Likewise.
19814 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19815 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19816 New protos.
19817 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19818 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19819 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19820 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19821 All users updated.
19822 (EFI64_HEADER_SIZE): New definition. All users updated.
19823 (image_targets): Add ia64-efi.
19824 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19825 jumpers_addr. All users updated.
19826 Create function descriptors.
19827 (count_funcs): New function.
19828 (unaligned_uint32): New struct.
19829 (MASK20): New definition.
19830 (MASK19): Likewise.
19831 (MASKF21): Likewise.
19832 (add_value_to_slot_20b): New function.
19833 (add_value_to_slot_21_real): Likewise.
19834 (add_value_to_slot_21): Likewise.
19835 (ia64_kernel_trampoline): New struct.
19836 (nopm): New variable.
19837 (jump): Likewise.
19838 (make_trampoline): New function.
19839 (relocate_addresses): Handle ia64.
19840 (make_reloc_section): Likewise.
19841 (load_image): Likewise.
19842
19843 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19846 warning. Move variables before code while on it.
19847
19848 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19849
19850 Fuloong support.
19851
19852 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19853 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19854 * grub-core/boot/mips/loongson/fuloong.S: New file.
19855 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19856 Explicitly init CS5536.
19857 [FULOONG]: Don't use serial until CS5536 is available.
19858 Set GPIO based on dumps.
19859 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19860 [FULOONG]: Handle GPIO and memory controller differences.
19861 Parse machine type in $a2.
19862 * grub-core/boot/mips/startup_raw.S: Determine and save the
19863 architecture.
19864 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19865 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19866 init on architecture type.
19867 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19868 SIS315E. Don't init at_keyboard on fuloong.
19869 (grub_halt): Support Fuloong.
19870 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19871 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19872 (loongson_machtypes): New array.
19873 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19874 type.
19875 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19876 config. All users updated. Handle CS5536 serial.
19877 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19878 default port on machine type. Register serial as inactive.
19879 * grub-core/video/sis315pro.c: New file.
19880 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19881 definition.
19882 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19883 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19884 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19885 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19886 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19887 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19888 to ...
19889 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19890 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19891 definition.
19892 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19893 (grub_arch_machine): New extern var.
19894 * include/grub/mips/loongson/serial.h
19895 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19896 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19897 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19898 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19899 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19900 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19901 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19902 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19903 * include/grub/term.h (grub_term_register_input_inactive): New inline
19904 function.
19905 (grub_term_register_output_inactive): Likewise.
19906 * include/grub/video.h (grub_video_driver_id): New value
19907 GRUB_VIDEO_DRIVER_SIS315PRO.
19908 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19909 New field "names". All users updated.
19910 New field value IMAGE_FULOONG_FLASH.
19911 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19912
19913 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19914
19915 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19916 and add some clarification.
19917
19918 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19919
19920 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19921 platforms if kernel is compressed.
19922
19923 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19924
19925 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19926 unused modules since currently referrence counter isn't reliable and
19927 there isn't much memory to recover there anyway.
19928
19929 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19930
19931 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19932 rather than resetting it to allow modules to reference themselves
19933 in init.
19934
19935 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19938 counter on dependencies since grub_dl_unref already handles this.
19939
19940 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19943 on error if not already done.
19944
19945 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 Fix few potential memory misusage.
19948
19949 * grub-core/font/font.c (load_font_index): Don't free char_index to
19950 avoid double free.
19951 (grub_font_load): Zero-fill font at alloc for safety.
19952 Close file on error.
19953 (free_font): Free bmp_idx.
19954
19955 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * docs/grub.texi (Installation): Fix several outdated claims.
19958
19959 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 Handle module_license on windows.
19962
19963 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19964 sections shifted.
19965 (insert_string): Make argument const char * instead of char *.
19966 (write_section_data): Handle long section names.
19967 Handle module_license.
19968
19969 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19972 handle class-free menuentries.
19973 (grub_normal_add_menu_entry): Add a check to be sure.
19974
19975 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19978 PgUp and PgDown.
19979
19980 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19981
19982 * configure.ac: Bump version to 1.99.
19983
19984 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19985
19986 Give ATA device a bit more time on first try in order to allow disks
19987 to spin up.
19988
19989 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19990 if dev->present is 1. Reset dev->present on failure.
19991 (grub_ata_device_initialize): Set dev->present to 1.
19992 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19993 (grub_ata_device): New member 'present'.
19994
19995 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 * util/grub-mkimage.c (generate_image): Update hash.
19998
19999 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 Flush caches on DMA memory.
20002
20003 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
20004 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
20005 (grub_dma_free): Likewise.
20006 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
20007
20008 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
20011 to avoid asm treating ld and sd as macros.
20012
20013 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
20016 decompressor.
20017
20018 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20019
20020 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
20021 grub_decompress_core since later would fail if grub_decompress_core
20022 is too far.
20023
20024 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
20027 R_MIPS_JALR since it's used by newer compiler.
20028
20029 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
20032
20033 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
20036 file_path to 0 for surety.
20037 (grub_chainloader_boot): Set exit_data to NULL.
20038 Unset the loader once done.
20039 (grub_cmd_chainloader): Fix confusing error message if file is empty.
20040
20041 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20042
20043 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
20044 unknown key into a dprintf.
20045
20046 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
20049 on first non-existant partition.
20050
20051 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
20054 openning fails.
20055 Reported by: Mark Korenberg.
20056
20057 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
20060 overflow.
20061
20062 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 * util/grub-mkimage.c (main): Explicitely flush and sync the output
20065 before closing to ensure that it will be readable by grub-setup.
20066
20067 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
20070 (devpath_1): Use MAKE_PIWG_PATH.
20071 (devpath_2): Likewise.
20072 (devpath_3): Likewise.
20073 (devpath_4): Likewise.
20074 (devpath_5): Likewise.
20075 (devpath_6): Likewise.
20076
20077 The appleldr.mod was checked that to be binary identical to previous
20078 version.
20079
20080 2011-05-05 Zach <mikezackles>
20081
20082 Support 2010 Macbooks.
20083
20084 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
20085 (devs): Add devpath_6.
20086
20087 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
20090 /dev/random. /dev/urandom is good enough for our purposes (salting).
20091
20092 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
20095
20096 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
20099 hexadecimal.
20100
20101 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
20104 and not 0 on failure.
20105
20106 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20107
20108 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20109 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20110 disk; otherwise grub_fs_probe will not fall back to the next
20111 filesystem.
20112 (grub_pxefs_open): Likewise, for consistency.
20113 Reported and tested by: Ezekiel Grave.
20114
20115 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20116
20117 * tests/partmap_test.in: Don't hardcode path to parted.
20118 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20119
20120 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
20121
20122 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20123 of `ls' to find out which devices are available.
20124
20125 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20128 than source address for efi mmap buffer.
20129
20130 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20131
20132 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20133 wrong action on non-detecting the magic.
20134
20135 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20136
20137 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20138 already supplied by another part of the module (fixes compilation on
20139 FreeBSD).
20140
20141 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20144 match the one used by mdadm.
20145
20146 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20147
20148 * po/README: Add instructions for creating po/LINGUAS.
20149
20150 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20151
20152 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20153 #551428.
20154
20155 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20156 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20157 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20158 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20159 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20160 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20161 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20162 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20163 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20164 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20165 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20166 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20167 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20168 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20169 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20170 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20171 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20172 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20173 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20174 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20175 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20176 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20177
20178 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20179
20180 * grub-core/kern/emu/getroot.c
20181 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20182 test that was incorrectly reintroduced in r3214.
20183 Reported by: Ian Dall. Fixes Savannah bug #33133.
20184
20185 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20186
20187 Fix stack pointer handling in 16-bit relocator.
20188
20189 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20190 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20191 Fixes Ubuntu bug #683904.
20192
20193 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * configure.ac: Bump version to 1.99~rc2.
20196
20197 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20198
20199 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20200 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20201 * grub-core/lib/x86_64/setjmp.S: Likewise.
20202 * grub-core/lib/mips/setjmp.S: Likewise.
20203 * grub-core/lib/powerpc/setjmp.S: Likewise.
20204 * grub-core/lib/sparc64/setjmp.S: Likewise.
20205
20206 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20209 * grub-core/lib/efi/datetime.c: Likewise.
20210
20211 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20212
20213 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20214 New function.
20215 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20216 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20217 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20218
20219 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20220
20221 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20222 bitmap.
20223 (grub_gfxterm_term_init): Likewise.
20224
20225 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 Take into account the decorations the computing menu entry width.
20228
20229 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20230 (grub_gfxmenu_create_box): Register get_border_width.
20231 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20232 if available.
20233 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20234 get_border_width.
20235
20236 2011-04-18 Endres Puschner <code@e7p.de>
20237
20238 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20239 Don't skip first class.
20240
20241 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20244 chunks.
20245 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20246
20247 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20248
20249 Complete 64-bit division support.
20250
20251 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20252 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20253 * include/grub/misc.h (grub_divmod64): Rename to ...
20254 (grub_divmod64_full): ... this.
20255 (grub_divmod64): New inline function.
20256
20257 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20260
20261 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20262
20263 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20264 performing the necessary test.
20265
20266 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20267
20268 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20269 (kfreebsd.elf): Likewise.
20270 (pc-chainloader.elf): Likewise.
20271 (ntldr.elf): Likewise.
20272
20273 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 Identify RAID by its UUID rather than (guessed) name.
20276
20277 * grub-core/disk/raid.c (ascii2hex): New function.
20278 (grub_raid_open): Accept mduuid/%s specification.
20279 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20280 (get_mdadm_uuid): ... this.
20281 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20282
20283 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20284
20285 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20286 to negative size.
20287
20288 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20289
20290 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20291 btrfs subvolume.
20292 * util/grub.d/20_linux_xen.in: Likewise.
20293
20294 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20295
20296 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20297 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20298
20299 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20300 Build a list of relevant visible mounts using the mnt_id and
20301 parent_mnt_id fields, and then scan that list at the end.
20302
20303 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20304
20305 * docs/grub.texi (normal): New section.
20306 (normal_exit): New section.
20307 (Embedded configuration): Add reference to normal.
20308 (GRUB only offers a rescue shell): Likewise.
20309 * docs/grub-dev.texi (Error Handling): Fix typo.
20310
20311 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20312
20313 * NEWS: Drop obsolete entry about probe-only btrfs support.
20314
20315 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20316
20317 * util/import_gcry.py: Fix typo.
20318
20319 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * NEWS: Add btrfs support.
20322
20323 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20324 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20325
20326 BtrFS support. Written by me (Vladimir) with important bugfixes and
20327 even more important testing by Colin.
20328
20329 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20330 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20331 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20332 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20333 mem_input_off and mem_input. All users updated to accept in-RAM input.
20334 (gzio_seek): New function.
20335 (test_zlib_header): Likewise.
20336 (grub_gzio_read): Likewise.
20337 (grub_zlib_decompress): Likewise.
20338 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20339 Accept partial and non-virtual mounts.
20340 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20341 avoid receiving /dev/dm-X as device.
20342 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20343 Handle bind and partial mounts.
20344 * grub-core/lib/crc.c: New file.
20345 * include/grub/deflate.h: Likewise.
20346 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20347 proto.
20348 * include/grub/lib/crc.h: New file.
20349
20350 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20351
20352 Implement automatic module license checking according to new GNU
20353 guidelines.
20354
20355 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20356 (grub_dl_load_core): Use grub_dl_check_license.
20357 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20358 (GRUB_MOD_LICENSE): Likewise.
20359 (GRUB_MOD_DUAL_LICENSE): Likewise.
20360 All modules updated.
20361
20362 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20363
20364 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20365 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20366 loaders.
20367 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20368
20369 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20372
20373 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20374
20375 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20376 failed.
20377
20378 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20381 parenthesis in the middle of the filename.
20382
20383 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20384
20385 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20386 rather than trying to put initrd way too high.
20387 Reported by: Ryan Lortie <desrt@desrt.ca>
20388
20389 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20392 improperly removed string.
20393
20394 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20397 is_disk.
20398 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20399 (open_device) Likewise.
20400 (grub_util_biosdisk_close): Likewise.
20401 Reported by: Mark Korenberg.
20402
20403 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20404
20405 * util/grub-mkconfig_lib.in: Add missing quotes.
20406
20407 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
20408
20409 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20410 is NULL.
20411
20412 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20413
20414 Dynamically count the number of lines for the lower banner.
20415
20416 * grub-core/normal/menu_entry.c (per_term_screen): New member
20417 num_entries.
20418 (print_down): Use num_entries.
20419 (update_screen): Likewise.
20420 (grub_menu_entry_run): Set num_entries.
20421 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20422 num_entries.
20423 (grub_print_message_indented): Move real part to ...
20424 (grub_print_message_indented_real): ... here. Additional argument
20425 dry_run.
20426 (draw_border): Additional argument num_entries.
20427 (print_message): Additional argument dry_run.
20428 (print_entries): Receive menu viewer data.
20429 (grub_menu_init_page): New argment num_entries.
20430 (menu_text_set_chosen_entry): Use num_entries.
20431 (grub_menu_try_text): Likewise.
20432 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20433 All users updated.
20434 (grub_ucs4_count_lines): New function.
20435 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20436 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20437 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20438 (grub_term_border_height): Likewise.
20439 (grub_term_num_entries): Likewise.
20440
20441 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20444 Remove now unused string.
20445
20446 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20447
20448 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20449 build system.
20450 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20451
20452 (Comment): Fix typo.
20453 (Getting started): General copy-editing.
20454 (Typical Development Experience): Likewise.
20455 (Error Handling): Likewise.
20456 (Video API): Likewise.
20457
20458 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20459
20460 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20461 throughout.
20462
20463 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20466 directory.
20467
20468 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20469
20470 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20471 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20472 "development".
20473
20474 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20475
20476 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20477 grub_strcpy since the lines aren't necessarily 0-terminated.
20478
20479 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20480
20481 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20482 root on legacy.
20483
20484 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20485
20486 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20487 (GRUB_MOD_INIT): DEVICE isn't optional.
20488
20489 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20492 word on new line if it's too long anyway. Fixes a hang.
20493
20494 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20497 const.
20498 * util/grub-setup.c (main): Reuse md device name if available.
20499 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20500 not GRUB name as argument.
20501 Based on patch by: Florian Wagner <fwagner>.
20502
20503 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20506 Place mbi on low memory for better compatibility.
20507
20508 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20511
20512 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20513 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20514
20515 * autogen.sh: Ensure that collate and ctype locale is C.
20516 * conf/Makefile.common: Likewise.
20517
20518 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 * grub-core/normal/menu.c: Add missing include.
20521
20522 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
20525
20526 2011-04-08 Martin Zuther <mzuther@mzuther.de>
20527
20528 * util/grub-mkconfig.in: Ignore emacsen backup.
20529
20530 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20533 on open.
20534 (grub_util_biosdisk_close): Likewise.
20535
20536 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20537
20538 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20539 const attribute and use grub_isdigit.
20540
20541 2011-04-06 Andrey <dev_null@ukr.net>
20542
20543 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20544 gcc warning.
20545
20546 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20549 useful grub_dprintf's.
20550
20551 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20552
20553 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20554
20555 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20558
20559 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20560
20561 Output errors if theme loading failed.
20562
20563 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20564 grub_gfxterm_fullscreen on error paths to ...
20565 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20566 theme loading error.
20567
20568 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20571 space for older compilers.
20572 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20573
20574 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20577 and report them as not RAID members since they are useless for GRUB.
20578 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20579
20580 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20581
20582 Increase LVM implementation robustness in order not to crash on
20583 configurations like pvmove. Previously code assumed that in some places
20584 only lvs or only pvs are used whereas it seems that they are used
20585 interchangeably.
20586
20587 * grub-core/disk/lvm.c (read_node): New function.
20588 (read_lv): Use read_node.
20589 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20590 Match volumes only at the end when all lvs are found. Take both
20591 pvs (first) and lvs (second) into account.
20592 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20593 mirror_* into node_*. All users updated.
20594 (grub_lvm_stripe): Merge this ...
20595 (grub_lvm_mirror): ... and this ...
20596 (grub_lvm_node): ... into this. All users updated.
20597
20598 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20599
20600 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20601 of function to allow further scanning for LVMs.
20602
20603 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20604
20605 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20606 on failed seek as it breaks open fd reusage.
20607
20608 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 * util/grub-install.in: Add a recommendation to use --recheck before
20611 reporting bugs.
20612
20613 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20614
20615 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20616 are obtained.
20617
20618 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 GRUB developper manual based on existing Internals section and
20621 contributions by the various authors with active copyright assignment.
20622
20623 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20624 * docs/font_char_metrics.png: New file.
20625 * docs/font_char_metrics.txt: Likewise.
20626 * docs/grub-dev.texi: Likewise.
20627 * docs/grub.texi (Internals): Move from here ...
20628 * docs/grub-dev.texi: ... here.
20629
20630 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20631
20632 Store the loopback device as data on loopback grub_disk structures,
20633 rather than the file it points to. This fixes use of freed memory
20634 if an existing loopback device is replaced.
20635
20636 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20637 disk->data, not dev->file.
20638 (grub_loopback_read): Adjust file assignment to match.
20639 Fixes Ubuntu bug #742967.
20640
20641 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20642
20643 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20644 when replacing an existing device.
20645
20646 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20647
20648 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20649 memory corruptions.
20650
20651 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20652 unsigned.
20653 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20654 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20655 (grub_jfs_read_inode): Likewise.
20656 (grub_jfs_opendir): Likewise. Remove now useless casts.
20657 (grub_jfs_getent): Likewise.
20658 Make ino a grub_uint32_t rather than int.
20659 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20660 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20661 division and module with bit operations.
20662 (grub_jfs_find_file): Make ino a grub_uint32_t.
20663 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20664
20665 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20666
20667 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20668 warning. (This was in fact always initialised before use, but GCC
20669 wasn't smart enough to prove that.)
20670 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20671
20672 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20675 stack alignment.
20676 (efi_wrap_1): Likewise.
20677 (efi_wrap_2): Likewise.
20678 (efi_wrap_3): Likewise.
20679 (efi_wrap_4): Likewise.
20680 (efi_wrap_5): Likewise.
20681 (efi_wrap_6): Likewise.
20682 (efi_wrap_10): Likewise.
20683 Based on information by: Red Hat/Peter Jones.
20684
20685 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20686
20687 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20688 set-but-not-used variable.
20689
20690 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20691
20692 * docs/grub.texi (Simple configuration): Be more explicit about
20693 GRUB_DEFAULT, and add an example.
20694 Reported by: Leslie Rhorer.
20695
20696 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20697
20698 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20699 shell".
20700
20701 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20702
20703 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20704 * util/grub.d/20_linux_xen.in: Likewise.
20705
20706 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 * util/grub.d/10_linux.in: Try alternative config filenames where
20709 we parse config file.
20710 * util/grub.d/20_linux_xen.in: Likewise.
20711
20712 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20713
20714 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20715 * util/grub.d/20_linux_xen.in: Likewise.
20716
20717 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 * grub-core/disk/raid.c (insert_array): Add few potentially
20720 useful grub_util_info.
20721 (grub_raid_register): Likewise.
20722
20723 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20724
20725 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20726 Preserve partition number in mdadm code path.
20727
20728 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20731 few potentially useful grub_util_info.
20732
20733 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20736
20737 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20738
20739 * docs/grub.texi (default): Use @example rather than nested
20740 itemized lists to avoid breaking gendocs.
20741
20742 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20743
20744 * docs/grub.texi (Future): Update.
20745
20746 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20747
20748 * docs/grub.texi (Environment): New chapter.
20749 (Changes from GRUB Legacy): Link to "Environment block" section for
20750 details of limitations.
20751 (Simple configuration): Likewise. Link to documentation of gfxmode
20752 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20753 respectively.
20754 (Shell-like scripting): Note that normal variables are stored in the
20755 environment.
20756 (gettext): Link to documentation of lang and locale_dir.
20757 (list_env): New section.
20758 (load_env): New section.
20759 (save_env): New section.
20760
20761 (Reporting bugs): Fix typo.
20762
20763 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20764
20765 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20766 the example.
20767
20768 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20769
20770 * grub-core/term/at_keyboard.c (set_scancodes)
20771 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20772
20773 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20774
20775 * docs/grub.texi (Menu-specific commands): Remove some semantics
20776 that were true in GRUB Legacy but not in GRUB 2.
20777 (submenu): New section.
20778 (false): New section.
20779 (read): New section.
20780 (true): New section.
20781
20782 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20783
20784 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20785
20786 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20787
20788 * docs/grub.texi (Simple configuration): Explain some of the
20789 current limitations of grub-mkconfig.
20790 Reported by: Leslie Rhorer.
20791
20792 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20793
20794 Old macs search for boot.efi rather than for bootia32.efi.
20795
20796 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20797 * util/grub-mkrescue.in: Likewise.
20798 Suggested by: Peter Jones.
20799
20800 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20801
20802 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20803
20804 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20807 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20808 (grub_lvm_mirror): New struct.
20809 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20810 (grub_lvm_iterate): Iterate only visible volumes.
20811 (grub_lvm_read): Factor out to ..
20812 (read_lv): ... this. Support mirrors.
20813 (grub_lvm_read): New wrapper function.
20814 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20815 stripped or mirrored.
20816
20817 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20818
20819 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20820
20821 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20822
20823 * docs/grub.texi (loopback): New section.
20824
20825 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20826
20827 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20828 removed -p option.
20829
20830 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20831
20832 * docs/grub.texi (BIOS installation): New section, partly based on
20833 previous text in other sections.
20834 (Installing GRUB using grub-install): Replace BIOS discussion with a
20835 cross-reference.
20836 (Images): Likewise.
20837
20838 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20839
20840 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20841 [HAVE_DIOCGDINFO]: Add safety checks.
20842
20843 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20844
20845 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20846 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20847
20848 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20849
20850 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20851 real_sb->size is zero (e.g. RAID-0), get the disk size from
20852 real_sb->data_size instead.
20853 Fixes Ubuntu bug #743136.
20854
20855 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20858 printf clauses for printing size and start.
20859
20860 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20861
20862 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20863 Reported and tested by: Timothy Nikkel.
20864
20865 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20866
20867 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20868 (dirty_region_add_real): ... this.
20869 (dirty_region_add): Don't discard margin refresh when performing
20870 scheduled repaint.
20871
20872 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20873
20874 * grub-core/lib/relocator.c (allocate_regstart)
20875 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20876 terminals are capabple of malloc-free operation.
20877 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20878 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20879
20880 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20881
20882 * util/grub-setup.c: Copy the partition table zone if floppy support
20883 is disabled, even if no partition table is found.
20884
20885 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20886 during POST if an invalid partition table is contained in the PBR
20887 of the active partition when GRUB is installed to a partition.
20888
20889 2011-03-28 Colin Watson <cjwatson@debian.org>
20890
20891 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20892 comment.
20893
20894 2011-03-28 Colin Watson <cjwatson@debian.org>
20895
20896 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20897 to be specific about what kind of RAID device we're scanning for.
20898
20899 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20900
20901 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20902 return freed string.
20903
20904 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20907
20908 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20909
20910 Use libgeom on FreeBSD to detect partitions.
20911
20912 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20913 (grub-mkrelpath): Likewise.
20914 (grub-script-check): Likewise.
20915 (grub-editenv): Likewise.
20916 (grub-mkpasswd-pbkdf2): Likewise.
20917 (grub-fstest): Likewise.
20918 (grub-mkfont): Likewise.
20919 (grub-mkdevicemap): Likewise.
20920 (grub-probe): Likewise.
20921 (grub-setup): Likewise.
20922 (grub-ofpathname): Likewise.
20923 (grub-mklayout): Likewise.
20924 (example_unit_test): Likewise.
20925 (grub-menulst2cfg): Likewise.
20926 * grub-core/Makefile.core.def (grub-emu): Likewise.
20927 (grub-emu-lite): Likewise.
20928 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20929 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20930 define HAVE_DIOCGDINFO.
20931 (follow_geom_up) [FreeBSD]: New function.
20932 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20933 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20934 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20935 unconditionally of HAVE_DIOCGDINFO.
20936
20937 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20938
20939 Fix FreeBSD compilation problem.
20940
20941 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20942 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20943
20944 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
20945
20946 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20947 Switch back to page zero before loading a kernel, since some kernel
20948 drivers expect that.
20949 Thanks to: Felix Kuehling.
20950
20951 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20952
20953 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20954 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20955 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20956
20957 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20958
20959 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20960 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20961
20962 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20965 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20966 malloc is disabled.
20967
20968 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20969
20970 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20971 for modules headers when counting the needed allocation size.
20972
20973 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20974
20975 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20976 if no ASCII character is found to prevent crash.
20977
20978 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20979
20980 * grub-core/video/bitmap.c (match_extension): Ignore case.
20981
20982 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20983
20984 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20985
20986 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20987
20988 * grub-core/script/parser.y: Declare "time" as valid argument.
20989
20990 2011-03-23 Peter Jones <pjones@redhat.com>
20991
20992 Fix incorrect assert failure reporting.
20993
20994 * grub-core/tests/example_functional_test.c (example_test): Add
20995 a failure comment.
20996 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20997 (failure_start): ...this. Check that malloc succeeded.
20998 Don't call xvasprintf. Return failure struct.
20999 (failure_append_vtext): New function.
21000 (failure_append_text): Likewise.
21001 (add_failure): Likewise.
21002 (grub_test_assert_helper): Likewise.
21003 * include/grub/test.h (grub_test_assert_helper): New declaration.
21004 (grub_test_assert): Macro rewritten.
21005
21006 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21007
21008 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
21009
21010 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
21013
21014 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
21017 into GRUB-style one.
21018
21019 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21020
21021 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
21022 error and not grub_errno.
21023 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
21024
21025 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
21028 GRUB_USB_SPEED_NONE in case of failure and not the error code.
21029
21030 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21031
21032 * grub-core/efiemu/i386/pc/cfgtables.c
21033 (grub_machine_efiemu_init_tables): Make declaration a prototype.
21034 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
21035 (grub_xnu_unlock): Likewise.
21036 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
21037
21038 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21039
21040 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
21041 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
21042 * grub-core/commands/hashsum.c (aliases): Likewise.
21043 * grub-core/commands/setpci.c (pci_registers): Likewise.
21044 * grub-core/disk/usbms.c (attach_hook): Likewise.
21045 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
21046 (zio_checksum_table): Likewise.
21047 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
21048 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
21049 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
21050 * grub-core/lib/relocator.c (leftovers): Likewise.
21051 (extra_blocks): Likewise.
21052 * grub-core/loader/i386/bsd.c (relocator): Likewise.
21053 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
21054 (modules_last): Likewise.
21055 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
21056 (devices): Likewise.
21057 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
21058 (modules_last): Likewise.
21059 * grub-core/normal/auth.c (users): Likewise.
21060 * grub-core/normal/context.c (initial_menu): Likewise.
21061 (current_menu): Likewise.
21062 * grub-core/normal/crypto.c (crypto_specs): Likewise.
21063 * grub-core/term/serial.c (grub_serial_ports): Likewise.
21064 (grub_serial_terminfo_input_template): Likewise.
21065 (grub_serial_terminfo_output_template): Likewise.
21066 (grub_serial_terminfo_input): Likewise.
21067 (grub_serial_terminfo_output): Likewise.
21068 (registered): Likewise.
21069 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
21070
21071 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21072
21073 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
21074 grub_video_mode_type_t.
21075 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
21076 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
21077 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
21078
21079 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21080
21081 * util/grub-install.in: Correct the x86-64 name as x86_64.
21082
21083 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
21084
21085 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
21086 initial chunk read from the kernel always includes GRUB's multiboot
21087 header, which is now outside the first sector.
21088
21089 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21090
21091 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
21092 cached mmap_size, so that this works correctly when called multiple
21093 times.
21094 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
21095
21096 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21097
21098 * docs/grub.texi (Simple configuration): Tidy up formatting.
21099
21100 2011-03-07 Szymon Janc <szymon@janc.net.pl>
21101
21102 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
21103 Set-but-not-used variable removed.
21104
21105 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21106
21107 Workaround yet another IEEE1275 bug.
21108
21109 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21110 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21111 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21112 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21113 is set.
21114 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21115 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21116
21117 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21118
21119 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21120 error.
21121
21122 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
21123
21124 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21125 empty, since in that case we can only generate either nothing or a
21126 syntactically invalid configuration file.
21127 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21128
21129 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21130
21131 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21132 (Making a GRUB bootable CD-ROM): Likewise.
21133 (Invoking grub-mkrescue): New section.
21134 Reported by: Yann Dirson. Fixes Debian bug #612585.
21135
21136 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21137
21138 * util/grub-install.in: Remove unnecessary brackets from tr
21139 arguments.
21140 * util/grub.d/10_hurd.in: Likewise.
21141 * util/grub.d/10_kfreebsd.in: Likewise.
21142 * util/grub.d/10_linux.in: Likewise.
21143 * util/grub.d/20_linux_xen.in: Likewise.
21144 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21145
21146 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
21147
21148 * include/grub/file.h (not_easly_seekable): Rename to ...
21149 (not_easily_seekable): ... this. Update all users.
21150
21151 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
21152
21153 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21154 grub-mkrescue.
21155
21156 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 * util/grub-mkimage.c (generate_image): Refuse to create the images
21159 bigger than the actual flash (512K) in Loongson machines. 512K is also
21160 the biggest chip supported by them.
21161
21162 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21163
21164 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21165
21166 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
21167
21168 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21169 super_offset field.
21170
21171 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 * util/grub-install.in: Ignore install device on platforms
21174 where it doesn't make sense. Always use UUIDs except on pc, efi and
21175 sparc64.
21176 Reported by: Daniel Kahn Gillmor.
21177
21178 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21181
21182 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21185 (iterate_real): Don't rely on partition being non-NULL.
21186
21187 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21190 supported platforms. Put a compile time assert for this rather than
21191 generate a warning with 32-bit shift.
21192
21193 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21194
21195 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21196 logical expression more readable.
21197
21198 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21199
21200 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21201 even if some elements have a name.
21202 Reported by: Alexander GQ Gerasiov.
21203
21204 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21205
21206 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21207 path unreadable if `grub-probe -t abstraction' fails, for example if
21208 memberlist fails on an LVM volume group.
21209 Reported by: Darius Jahandarie.
21210
21211 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21212
21213 * docs/grub.texi (Simple configuration): Document
21214 GRUB_PRELOAD_MODULES.
21215
21216 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
21217
21218 * .bzrignore: Remove nonexistent grub-pbkdf2.
21219
21220 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21221
21222 * configure.ac: Bump version to 1.99~rc1.
21223
21224 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21225
21226 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21227 for safety.
21228
21229 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21232 module.
21233
21234 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21237
21238 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21239
21240 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21241 diskdevid.
21242
21243 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 Fix compilation on cygwin.
21246
21247 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21248 -R .drectve on cygwin.
21249 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21250 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21251 (COND_CYGWIN): New condition.
21252 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21253 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21254 not @TARGET_OBJ2ELF@.
21255 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21256 type to determine whether aux is to be used.
21257
21258 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21261 realpath'ed device string.
21262 Handle floppy (somewhat).
21263 Issue error in unknown case rather than garbage.
21264 Reported by: Axel Beckert.
21265
21266 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21267
21268 * util/grub.d/00_header.in (load_video): Handle the case when no video
21269 drivers available.
21270 Thanks to: Axel Beckert.
21271
21272 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21273
21274 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21275 variable. Fixes problem on big endian platforms.
21276
21277 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21280 It doesn't work well there.
21281
21282 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21285 warning.
21286 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21287 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21288 counter.
21289
21290 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21291
21292 Use alias->path rather than buggy "canon".
21293
21294 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21295 (ofdisk_hash_add): New argument curcan. All users updated.
21296
21297 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21298
21299 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21300
21301 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21304 loadmask before doing any calculations. Use correct type for offset.
21305 (grub_linux_load64): Likewise.
21306
21307 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21308
21309 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21310 with NULL.
21311 (console_grub_equivalences_unshift): Likewise.
21312 Reported by: Daniel Dehennin.
21313
21314 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21317 (set_env_limn_ro): Likewise.
21318 (GRUB_MOD_INIT): Likewise.
21319 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21320 ARRAY_SIZE while on it.
21321 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21322 * grub-core/normal/context.c (grub_env_export): Move from here ...
21323 * grub-core/kern/env.c (grub_env_export): ... here.
21324 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21325 prefix.
21326 * grub-core/kern/main.c (grub_main): Export root and prefix.
21327 * include/grub/env.h (grub_env_export): Export.
21328 Reported by: Seth Goldberg.
21329
21330 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21333 Take into account space used by ELF sections and multiboot palette.
21334 Reported by: Grégoire Sutre.
21335
21336 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21337
21338 * BUGS: New file.
21339
21340 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21341
21342 Pass more appropriate video id to Linux.
21343
21344 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21345 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21346 fill have_vga.
21347 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21348 shift params->lfb_size.
21349 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21350
21351 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21352
21353 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21354
21355 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21358 separator and pass bootpath/devid even if only one of them is available.
21359 Reported by: Seth Goldberg.
21360
21361 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21362
21363 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21364 implementations bug on them.
21365
21366 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21367 memory.
21368 (filter_memory_map): Likewise.
21369
21370 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21371
21372 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21373 Reported by: nebuchadnezzar.
21374
21375 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21376
21377 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21378 Reported by: nebuchadnezzar.
21379
21380 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21381
21382 Submenu default support.
21383
21384 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21385 auto_boot. All users updated.
21386 Declared static.
21387 Handle chosen and default with submenus.
21388 (grub_menu_execute_with_fallback): Declared static.
21389 Don't notify failure if autobooted. Upper level does it.
21390 (menuentry_eq): New function.
21391 (get_entry_number): Use menuentry_eq.
21392 (show_menu): New parameter "autobooted". All users updated.
21393 (grub_show_menu): Likewise.
21394 * include/grub/normal.h (grub_show_menu): Likewise.
21395 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21396 (grub_menu_execute_with_fallback): Likewise.
21397
21398 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 * util/grub-mklayout.c (usage): Update help text.
21401
21402 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21403
21404 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21405
21406 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 * util/grub-menulst2cfg.c (main): Trim the line.
21409
21410 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21411
21412 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21413 (grub_machine_init): Don't check amount of low memory as reportedly
21414 INT 12h can be broken and if low memory is too low we wouldn't have
21415 gotten into grub_machine_init anyway.
21416
21417 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21420 (grub_machine_mmap_iterate): Take low memory into account
21421
21422 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21425 badfs.
21426 Reported by: TiCPU.
21427
21428 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21431 members errors.
21432
21433 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21434
21435 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21436 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21437
21438 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21439
21440 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21441 openbsd and netbsd types being in part_bsd module.
21442
21443 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21444
21445 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21446 (_FILE_OFFSET_BITS): Likewise.
21447 Reported by: Seth Goldberg.
21448
21449 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21450
21451 * configure.ac: Check for libdevmapper header.
21452
21453 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21456 avoid aliasing.
21457 (fzap_lookup): Likewise.
21458 (dnode_get): Likewise.
21459 (make_mdn): Likewise.
21460 (zfs_mount): Likewise.
21461 (fzap_iterate): Use temporary pointer to avoid aliasing.
21462 (grub_zfs_read): Likewise.
21463 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21464 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21465 pointers to avoid aliasing.
21466 (grub_cmd_xnu_kernel64): Likewise.
21467 (grub_xnu_load_driver): Likewise.
21468
21469 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21472 aliasing warning.
21473 (grub_cmd_terminal_output): Likewise.
21474 Reported and tested by: Grégoire Sutre.
21475
21476 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21479 warning.
21480 Reported and tested by: Grégoire Sutre.
21481
21482 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21483
21484 * configure.ac: Do CPU substitution even if it's specified explicitly.
21485 Reported and tested by: Alain Greppin.
21486
21487 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21490 Reported and tested by: Alain Greppin.
21491
21492 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21493
21494 Satisfy some bison versions need for inttypes.h.
21495
21496 * grub-core/lib/posix_wrap/inttypes.h: New file.
21497 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21498 (int16_t): Likewise.
21499 (int32_t): Likewise.
21500 (int64_t): Likewise.
21501 Reported and tested by: Alain Greppin.
21502
21503 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21504
21505 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21506 Silence spurious warning.
21507 Reported and tested by: Alain Greppin.
21508
21509 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21510
21511 * docs/grub.texi (Support automatic decompression): Update with xz
21512 decompression support.
21513
21514 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21515
21516 Improve loaders' kernel command line handling.
21517
21518 * grub-core/lib/cmdline.c: New file.
21519 * include/grub/lib/cmdline.h: Likewise.
21520 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21521 grub_create_loader_cmdline to create kernel command line.
21522 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21523 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21524 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21525 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21526 (linux): Add lib/cmdline.c on common.
21527
21528 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21531 inopos might be unaligned.
21532
21533 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21534
21535 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21536 endian transformations.
21537 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21538 Based on report by: Doug Nazar.
21539
21540 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
21541
21542 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21543 array->members[i].start_sector.
21544 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21545
21546 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21549 Reported and tested by: Grégoire Sutre.
21550
21551 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21552
21553 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21554 avoid causing test failures by clearing the screen.
21555
21556 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21557
21558 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21559 Fix prefix check to handle the case where dir ends with a slash
21560 (most significantly, "/" itself).
21561 Reported by: Michael Vogt.
21562
21563 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 Run terminfo_cls on initing terminfo output to clear the screen and
21566 move the cursor to (0,0).
21567
21568 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21569 Call grub_terminfo_output_init.
21570 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21571 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21572 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21573
21574 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21575
21576 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21577 only when needed.
21578
21579 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21580
21581 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21582 CTRL.
21583
21584 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 The E820 type 5 is BADRAM, not EXEC_CODE.
21587
21588 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21589 (GRUB_E820_BADRAM): New define.
21590 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21591 into reserved. Propagate BADRAM.
21592 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21593 (GRUB_E820_BADRAM): New define.
21594
21595 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21598 Ignore the memory post-4G.
21599 (grub_relocator_firmware_alloc_region): Additional debug statement.
21600
21601 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21604 names.
21605 Reported by: David Pravec.
21606
21607 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21608
21609 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21610 BIOSes.
21611
21612 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21613
21614 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21615 Prevent overflow.
21616 (grub_reed_solomon_recover): Likewise.
21617
21618 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21619
21620 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21621
21622 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21623
21624 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21625 variable.
21626
21627 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
21628
21629 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21630 descriptions of extract_legacy_entries_source and
21631 extract_legacy_entries_configfile.
21632 Reported by: Seung Soo, Ha.
21633
21634 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
21635
21636 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21637 on devices that do not implement function 0.
21638
21639 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21640
21641 * grub-core/fs/hfsplus.c: Make parent unsigned.
21642 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21643 overflows.
21644 (grub_hfsplus_cmp_extkey): Likewise
21645
21646 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * util/grub-install.in: Correctly use bootloader_id and not
21649 GRUB_DISTRIBUTOR on efibootmgr line.
21650
21651 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21652
21653 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21654
21655 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
21656
21657 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21658 Xen and reorder menu item wording to make it clearer that this entry
21659 will launch Xen. Print separate messages when loading Xen and
21660 Linux.
21661
21662 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21665 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21666 loop in case of incorrect amiga partmap.
21667
21668 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21669
21670 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21671 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21672 Reported by:EHeM.
21673
21674 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21675
21676 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21677 spurious warning.
21678 Reported by: crocket
21679
21680 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21681
21682 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21683 Preload EFIemu.
21684 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21685
21686 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21687
21688 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21689 is loaded
21690 (grub_cmd_xnu_kextdir): Likewise.
21691 (grub_cmd_xnu_splash): Likewise.
21692
21693 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 Avoid using Reed-Solomon with 0 redundancy.
21696
21697 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21698 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21699 or 0 redundancy.
21700 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21701 (grub_reed_solomon_recover): Likewise.
21702
21703 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 Don't use disk subsystem in freebsd_boot.
21706
21707 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21708 (freebsd_biosdev): Likewise.
21709 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21710 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21711
21712 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21713
21714 Handling of files of unknown size is currently limited. They can't be
21715 used e.g. for initrd or modules. Moreover gzip handling of not
21716 easily seekable files is buggy. Disable unknown file size for now. May
21717 be inefficient but works.
21718
21719 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21720 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21721
21722 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21723
21724 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21725 floppy probe.
21726
21727 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21728
21729 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21730
21731 2010-12-25 Shea Levy <shlevy>
21732
21733 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21734
21735 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21738 Windows Server 2008.
21739 Reported by: Devin Giddings.
21740
21741 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21744 writing an error message because of async power management.
21745 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21746 (grub_reboot): Likewise.
21747
21748 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21749
21750 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21751 keep unit tests from failing when they shouldn't.
21752
21753 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21754
21755 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21756 previous patch increased the size of the RS code by 20 bytes (at
21757 least with gcc-4.4), so increase this by 20 bytes to match.
21758 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21759
21760 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21761
21762 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21763 scratch area. Make sure to initialise chosen in standalone mode as
21764 well as non-standalone.
21765 Reported by: Robert Hooker and Andy Whitcroft.
21766 Tested by: Andy Whitcroft.
21767
21768 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21769
21770 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21771 constructing a new unescaped string and passing it to grub_xputs in
21772 one go, rather than passing characters to grub_printf one at a time.
21773
21774 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21775
21776 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21777 initialising utf16.
21778
21779 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21780
21781 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21782 comment. Add an extra layer of quotation, requiring the output of
21783 this function to be used in a printf format string.
21784 (gettext_printf): New function.
21785 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21786 Extract translatable strings from here-documents and use a temporary
21787 variable instead, so that xgettext can find them.
21788 * util/grub.d/10_kfreebsd.in: Likewise.
21789 * util/grub.d/10_linux.in: Likewise.
21790 * util/grub.d/20_linux_xen.in: Likewise.
21791
21792 * po/grub.d.sed: New file.
21793 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21794 arguments. Set c-format flags on all strings extracted from
21795 util/grub.d/ (xgettext refuses to include these itself for strings
21796 it extracted from a shell file, but these really are c-format).
21797
21798 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21799
21800 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21801 Avoid next pointing to nowhere.
21802
21803 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21804
21805 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21806 rather than assuming than rootblock is exactly in the middle.
21807 (grub_affs_label): Likewise.
21808
21809 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21810
21811 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21812 reserved_first_sector to 0.
21813 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21814 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21815 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21816
21817 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21818
21819 Fix handling of UTF-16 UDF labels.
21820
21821 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21822 (read_string): .. here.
21823 (grub_udf_label): Use read_string.
21824
21825 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21826
21827 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21828 editor under argument scope.
21829 Reported by: Jordan Uggla
21830
21831 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21834
21835 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
21836
21837 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21838 line, and other keys scroll an entire page (previous handling was
21839 for \r and \n to scroll a page and other keys to scroll two lines).
21840
21841 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21844 Set ptrdest to correct get_physical_target_address rather than
21845 incorrect get_virtual_current_address.
21846
21847 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21848
21849 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21850 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21851
21852 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21853
21854 * .bzrignore: Ignore grub-core/rs_decoder.S.
21855
21856 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21857
21858 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21859 .mo/.mo.gz opening sequence to ...
21860 (grub_mofile_open_lang): ... here.
21861 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21862 * util/grub.d/00_header.in (grub_lang): Include country part of
21863 locale.
21864 Reported by: Mario Limonciello.
21865
21866 2010-12-09 Robert Millan <rmh@gnu.org>
21867
21868 * NEWS: Document addition of ZFS support.
21869
21870 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
21871
21872 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21873 rather than `/ 2', as the latter requires -Wa,--divide which would
21874 require bumping our minimum binutils version.
21875
21876 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21877
21878 * util/grub-script-check.c (main): Print script line number on
21879 error.
21880
21881 2010-12-01 Robert Millan <rmh@gnu.org>
21882
21883 * grub-core/fs/zfs/zfs.c: New file.
21884 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21885 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21886 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21887 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21888
21889 * include/grub/zfs/dmu.h: Likewise.
21890 * include/grub/zfs/dmu_objset.h: Likewise.
21891 * include/grub/zfs/dnode.h: Likewise.
21892 * include/grub/zfs/dsl_dataset.h: Likewise.
21893 * include/grub/zfs/dsl_dir.h: Likewise.
21894 * include/grub/zfs/sa_impl.h: Likewise.
21895 * include/grub/zfs/spa.h: Likewise.
21896 * include/grub/zfs/uberblock_impl.h: Likewise.
21897 * include/grub/zfs/vdev_impl.h: Likewise.
21898 * include/grub/zfs/zap_impl.h: Likewise.
21899 * include/grub/zfs/zap_leaf.h: Likewise.
21900 * include/grub/zfs/zfs.h: Likewise.
21901 * include/grub/zfs/zfs_acl.h: Likewise.
21902 * include/grub/zfs/zfs_znode.h: Likewise.
21903 * include/grub/zfs/zil.h: Likewise.
21904 * include/grub/zfs/zio.h: Likewise.
21905 * include/grub/zfs/zio_checksum.h: Likewise.
21906
21907 * Makefile.util.def: Build ZFS into libgrubmods.
21908 * grub-core/Makefile.core.def: Build zfs.mod.
21909
21910 2010-11-30 Szymon Janc <szymon@janc.net.pl>
21911
21912 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21913 variable.
21914 * grub-core/commands/wildcard.c (match_files): Likewise.
21915
21916 2010-11-30 Robert Millan <rmh@gnu.org>
21917
21918 * grub-core/loader/i386/bsd.c
21919 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21920 whether kernel is loaded using grub_loader_is_loaded(), rather
21921 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21922 certain error conditions.
21923
21924 2010-11-30 Robert Millan <rmh@gnu.org>
21925
21926 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21927 (grub_cmd_echo): Call grub_refresh() after printing a message.
21928
21929 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21930
21931 Avoid using tricks for initialising endian variables.
21932
21933 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21934 Make const.
21935 (GRUB_MOD_INIT): Don't byte-swap.
21936 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21937 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21938 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21939 (grub_swap_bytes32_compile_time): Likewise.
21940 (grub_cpu_to_le32_compile_time): Likewise.
21941 (grub_cpu_to_le16_compile_time): Likewise.
21942
21943 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21944
21945 * util/grub-setup.c (setup): Stop recommending --force. People who
21946 understand the dangers of blocklists are able to find this option
21947 anyway and the ones who don't shouldn't use it anyway.
21948
21949 2010-11-26 Robert Millan <rmh@gnu.org>
21950
21951 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21952 Update all users.
21953
21954 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
21955
21956 Fix LVM-on-RAID probing.
21957
21958 * util/grub-probe.c (probe): Remember which disk was detected as
21959 RAID (perhaps an LVM physical volume). Use that disk's raidname
21960 rather than that of the top-level disk.
21961
21962 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
21963
21964 Fix cmdline argument quotes for setparams command of menuentry
21965 definitions.
21966
21967 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21968 quotes for arguments.
21969 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
21970 grub_strchrsub function instead.
21971
21972 * include/grub/misc.h (grub_strchrsub): New function.
21973
21974 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21975
21976 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21977 effort by skipping "." and ".." entries up-front.
21978 Suggested by: Michael Lazarev.
21979
21980 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21981
21982 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21983 ldflags to ldadd, to fix link line ordering.
21984 (none_decompress): Likewise.
21985
21986 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21987
21988 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21989 platforms.
21990 (grub-emu-lite): Remove kern/emu/cache.S.
21991
21992 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21993
21994 * util/deviceiter.c (compare_devices): If the by-id link for a
21995 device couldn't be resolved, fall back to sorting by the by-id link
21996 rather than segfaulting.
21997 Reported and tested by: Daniel Mierswa.
21998
21999 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22000
22001 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
22002 ldflags, to fix link line ordering.
22003
22004 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22005
22006 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
22007 linkers are picky about this.
22008
22009 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22010
22011 * grub-core/Makefile.am (command.lst): Adjust sed expression
22012 ordering so that extended and priority commands aren't treated as
22013 ordinary commands.
22014
22015 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
22016
22017 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
22018 Remove byte-swapping function calls, which are not valid in
22019 structure initialisers.
22020 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
22021 non-const.
22022 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
22023 grub_gpt_partition_type_bios_boot.
22024
22025 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22026
22027 Fix test program build on GNU/kFreeBSD.
22028
22029 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
22030 $(LIBNVPAIR)' library dependencies.
22031
22032 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22033
22034 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
22035
22036 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
22037
22038 * util/grub-install.in: Remove excessive quoting that broke
22039 installations to RAID devices.
22040
22041 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
22044 bootloader version instead of 0.
22045
22046 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22047
22048 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
22049 warning.
22050
22051 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
22052
22053 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
22054 retrieve the metadat sector if size isn't known.
22055 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22056
22057 2010-11-18 Robert Millan <rmh@gnu.org>
22058
22059 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
22060 with grub_memcmp().
22061
22062 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
22065 arrow.
22066 Reported by: Jordan Uggla.
22067
22068 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 Make better UTF compliant.
22071
22072 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
22073 sequences as incorrect.
22074 (grub_is_valid_utf8): Likewise.
22075 (grub_utf8_to_ucs4): Likewise.
22076 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
22077 (grub_ucs4_to_utf8_alloc): Likewise.
22078 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
22079
22080 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22081
22082 Make legacy_source behave like source.
22083
22084 * grub-core/commands/legacycfg.c (legacy_file): Don't call
22085 grub_show_menu.
22086 (grub_cmd_legacy_source): Call grub_show_menu if needed.
22087
22088 2010-11-16 Colin Watson <cjwatson@debian.org>
22089
22090 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
22091 (-Wunused implies -Wunused-parameter, but not vice versa).
22092
22093 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
22094
22095 * configure.ac: Make error messages less confusing by testing for
22096 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
22097 accepted, but produces a diagnostic if something else is wrong).
22098
22099 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22100
22101 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
22102 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
22103 (now unused).
22104 (grub_keyboard_controller_init)
22105 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22106 read the initial state since controller isn't inited yet.
22107
22108 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22109
22110 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22111 allocate_regbeg may need to create new chunk header.
22112
22113 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 Fix quoting in legacy parser.
22116
22117 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22118 single quotes.
22119 (grub_legacy_parse): Likewise.
22120 Reported by: Jordan Uggla.
22121 Tested by: Jordan Uggla.
22122
22123 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 Don't add -lgcc on i386 and x86_64.
22126
22127 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22128 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22129 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22130
22131 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22132
22133 * configure.ac: Add -Wno-trampolines when supported.
22134
22135 2010-11-14 Modestas Vainius <modax@debian.org>
22136
22137 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22138 fakeraid.
22139
22140 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22141
22142 Add generic logical block size support for UDF.
22143
22144 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22145 (GRUB_UDF_BLKSZ): Removed.
22146 (struct grub_udf_data): New field "lbshift" to hold the logical block
22147 size of the file system in log2 format. All users updated.
22148 (sblocklist): Change type to unsigned.
22149 (grub_udf_mount): Change type of "sblklist" to unsigned.
22150 Move AVDP search before VRS recognition, because the latter requires
22151 knowledge of the logical block size, which is detected during the
22152 former.
22153 Detect and validate logical block size during AVDP search, adding
22154 support for block sizes 512, 1024 and 4096.
22155 Make VRS recognition independent of block size.
22156
22157 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22158
22159 Properly handle deleted files on UDF.
22160
22161 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22162 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22163 set.
22164
22165 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22166
22167 Support reading files larger than 2 GiB.
22168
22169 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22170 "offset" to grub_off_t.
22171 (grub_udf_read_file): Likewise for parameter "pos".
22172
22173 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22174
22175 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22176 unavailable.
22177 (Simple configuration): Refer to Changes from GRUB Legacy about
22178 save_env availability.
22179
22180 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22181
22182 * util/grub-install.in: Ignore empty partition table detection
22183 instead of trying to include part_ module.
22184
22185 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22186
22187 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22188 LVM on RAID support.
22189
22190 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 Properly define WORDS_BIGENDIAN in wrapped environments.
22193
22194 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22195 definition.
22196 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22197
22198 Reported by: Manoel Rebelo Abranches.
22199 Tested by: Manoel Rebelo Abranches.
22200
22201 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22202
22203 * util/grub-mkconfig.in: Fix quoting.
22204
22205 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22206
22207 Support big ext2 files.
22208
22209 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22210 (grub_ext2_read_block): Support triple indirect blocks.
22211 (grub_ext2_read_file): Use 64-bit types and read size_high.
22212 (grub_ext2_open): Read size_high.
22213 Reported by: Ximin Luo.
22214 Tested by: Manoel Rebelo Abranches.
22215
22216 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22217
22218 * util/grub-install.in: Handle filenames containing spaces.
22219 Reported by: Jordan Uggla.
22220 Tested by: Jordan Uggla.
22221
22222 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22223
22224 * util/grub-mkconfig.in (grub_script_check): New variable.
22225 Use grub_script_check instead of grub-script-check.
22226 Reported by: Barry Jackson.
22227
22228 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22229
22230 * docs/grub.texi (menu): Correct the order.
22231 Reported by: D. Hugh Redelmeier.
22232
22233 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22236 jump.
22237
22238 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22239
22240 * include/grub/elfload.h (grub_elf32_size): New parameter.
22241 All users updated.
22242 Return maximum segments alignment.
22243 (grub_elf64_size): Likewise.
22244 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22245 Return maximum segments alignment.
22246 (grub_elf64_size): Likewise.
22247 * grub-core/loader/powerpc/ieee1275/linux.c:
22248 (grub_linux_claimmap_iterate): New function. Uses the
22249 "available" property in the "memory" node for memory allocation
22250 for kernel in the PowerPC loader.
22251 (grub_linux_load32): Correctly find linux entry point offset.
22252 (grub_linux_load64): Likewise.
22253
22254 2010-11-07 Robert Millan <rmh@gnu.org>
22255
22256 On mips-yeeloong, build with -march=loongson2f when this flag is
22257 available (GCC >= 4.4).
22258 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22259 `-march=mips3'.
22260 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22261 or otherwise add -march=mips3.
22262
22263 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22264
22265 Suppress shell expansion on echo '*' and echo "*" like cases.
22266 Reported by: Jordan Uggla.
22267
22268 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22269 string arguments before shell expansion.
22270 * tests/grub_cmd_echo.in: New testcases.
22271
22272 2010-11-07 Robert Millan <rmh@gnu.org>
22273
22274 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22275 transition.
22276
22277 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22278
22279 * grub-core/kern/emu/hostdisk.c
22280 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22281
22282 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22283
22284 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22285 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22286 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22287
22288 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22289
22290 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22291
22292 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22293
22294 * util/grub-install.in: Replace useless recomendation to pass
22295 --modules with a recomendation to report a bug.
22296
22297 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 Properly register serial terminfo.
22300 Reported by: Jordan Uggla
22301
22302 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22303 const.
22304 (grub_serial_terminfo_output_template): Likewise.
22305 (grub_cmd_serial): Register "serial" with terminfo.
22306 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22307 grub_serial_terminfo_output.
22308
22309 2010-11-05 Robert Millan <rmh@gnu.org>
22310
22311 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22312 needed).
22313
22314 2010-11-05 Robert Millan <rmh@gnu.org>
22315
22316 On Yeeloong, pass machine type information to Linux.
22317
22318 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22319 (LOONGSON_MACHTYPE): New macro, set to
22320 "machtype=lemote-yeeloong-2f-8.9inches".
22321 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22322 additional argument to Linux.
22323
22324 2010-11-04 Robert Millan <rmh@gnu.org>
22325
22326 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22327 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22328 (its SATA disks are detected as slaveless IDE master drives on
22329 kFreeBSD).
22330 Reported by Carsten Aulbert.
22331
22332 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
22333
22334 * util/bin2h.c (main): Fix spelling error in generated output.
22335
22336 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22337
22338 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22339
22340 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22341
22342 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22343 vga= option is supplied.
22344
22345 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22348 * util/grub.d/10_kfreebsd.in: Likewise.
22349 * util/grub.d/10_linux.in: Likewise.
22350 * util/grub.d/20_linux_xen.in: Likewise.
22351
22352 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22355 argument as an argument to no-argument option.
22356
22357 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22358
22359 * util/grub.d/10_linux.in: Add missing load_video with explicit
22360 GRUB_GFXPAYLOAD_LINUX.
22361
22362 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22365
22366 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22367
22368 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22369 elements with invlid index.
22370 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22371 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22372 members.
22373 * include/grub/raid.h (grub_raid_member): New struct.
22374 (grub_raid_array): Transform devices and start_sector into usage of
22375 grub_raid_member. All users updated
22376 (allocated_devs): New member.
22377
22378 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22379
22380 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22381 is modified
22382
22383 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22384
22385 NetBSD build fix for getline function conflict from gnulib.
22386
22387 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22388 components that depend on gnulib headers.
22389 (libgrubmods.a): Renamed from earlier libgrub.a.
22390 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22391
22392 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22395 install rather than creating a broken install.
22396
22397 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 * util/grub-setup.c (argp): Remove misleading example of installing to
22400 a partition.
22401
22402 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22403
22404 * util/grub-setup.c (setup): Clarify the error message.
22405
22406 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22409
22410 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * grub-core/kern/emu/misc.c
22413 (grub_make_system_path_relative_to_its_root)
22414 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22415
22416 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22417
22418 * grub-core/kern/emu/misc.c
22419 (grub_make_system_path_relative_to_its_root): Revert r2882.
22420
22421 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22424 useless field head. All users updated.
22425 (free_subchunk): Correct handling of IN_REGION subchunk.
22426
22427 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
22428
22429 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22430 (Supported kernels): Likewise.
22431
22432 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22433
22434 Make mktemp invocations portable.
22435
22436 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22437 exit if mktemp fails.
22438 * tests/grub_script_blockarg.in: Likewise.
22439 * tests/partmap_test.in: Likewise.
22440 * tests/util/grub-shell-tester.in: Likewise.
22441 * tests/util/grub-shell.in: Likewise.
22442 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22443 * Makefile.am: Likewise, and chain shell commands with `&&'
22444 instead of ';'.
22445 * util/grub-mkrescue.in: Use the same explicit template as above, and
22446 exit if mktemp fails.
22447
22448 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22449
22450 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22451 Linux kernel, reported by Dennis Schridde.
22452
22453 2010-10-17 Szymon Janc <szymon@janc.net.pl>
22454
22455 * grub-core/normal/auth.c (grub_auth_check_authentication):
22456 Set-but-not-used variable removed.
22457
22458 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22459
22460 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22461 32-bit linux protocol.
22462
22463 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22464
22465 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22466 cursor shape for sanity.
22467
22468 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22469
22470 * docs/grub.texi (Installation): Document buggy BIOS install.
22471
22472 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 * docs/grub.texi (Installation): Indent.
22475
22476 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * util/grub-setup.c (setup): New parameter allow_floppy.
22479 (arguments): New member allow_floppy.
22480 (argp_parser): Handle --allow-floppy.
22481 (main): Pass allow_floppy.
22482 * util/grub-install.in: New option --allow-floppy passed though to
22483 grub-setup.
22484
22485 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22486
22487 * util/grub-install.in: Handle partitionless disks.
22488
22489 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22490
22491 * util/grub-setup.c (setup): Don't clean blocklists before readability
22492 verfification.
22493
22494 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22495
22496 * docs/grub.texi (Installation): Document embedding zone. Remove
22497 obsolete grub-install example.
22498
22499 2010-10-16 Szymon Janc <szymon@janc.net.pl>
22500
22501 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22502 Set-but-not-used variable ifdef'ed.
22503 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22504 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22505 variable removed.
22506 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22507 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22508 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22509 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22510 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22511 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22512 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22513 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22514 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22515 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22516 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22517 Likewise.
22518
22519 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22520
22521 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22522 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22523 enum value.
22524
22525 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22526
22527 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22528 synonym to _S5_. Needed for some DSDTs.
22529
22530 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22531
22532 Userspace ACPI parser debugging.
22533
22534 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22535 headers and add relevant defines. Don't include standard headers.
22536 (main) [GRUB_DSDT_TEST]: New function.
22537 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22538 Don't declare functions.
22539
22540 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22541
22542 Remove dead grub_efi_mm_fini.
22543
22544 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22545 (ALLOCATED_PAGES_SIZE): Likewise.
22546 (MAX_ALLOCATED_PAGES): Likewise.
22547 (allocated_pages): Likewise.
22548 (grub_efi_allocate_pages): Don't record allocated pages.
22549 (grub_efi_free_pages): Likewise.
22550 (grub_efi_mm_init): Likewise.
22551 (grub_efi_mm_fini): Removed.
22552
22553 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22554
22555 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22556 (grub_efi_mm_init): Take into account the memory map size increase.
22557
22558 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22561 (serial_hw_put): Wait based on real time rather than port reads. Don't
22562 roken ports.
22563 * include/grub/serial.h (grub_serial_port): New field broken.
22564
22565 2010-10-16 Robert Millan <rmh@gnu.org>
22566
22567 * grub-core/kern/emu/misc.c
22568 (grub_make_system_path_relative_to_its_root): Fix premature return
22569 when processing non-root ZFS filesystems.
22570 Reported by Sergio Talens-Oliag.
22571
22572 2010-10-15 Robert Millan <rmh@gnu.org>
22573
22574 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22575 guarantee compressed ones are processed first.
22576
22577 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22580 grub_efiemu_autocore.
22581
22582 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22583
22584 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22585 rather than 0x1b.
22586 (grub_console_getkey): Use correct jae opcode rather than ja.
22587
22588 2010-10-12 Robert Millan <rmh@gnu.org>
22589
22590 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22591 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22592 variable. All references updated.
22593
22594 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22595
22596 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22597
22598 Correctly distinguish mdraid flavours.
22599
22600 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22601 (insert_array): New argument raid.
22602 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22603 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22604 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22605
22606 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22607
22608 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22609 handling of special keys.
22610
22611 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22612
22613 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22614 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
22615
22616 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22617
22618 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22619 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22620 users updated.
22621 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
22622 Use right endpoint when querying descriptor.
22623
22624 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22625
22626 Clear out 0x80 color bit on EFI.
22627 Tested by: decoder
22628 Reported by: decoder and meta tech.
22629
22630 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22631 (grub_console_setcolorstate): Clear out 0x80 bit.
22632 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22633 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22634 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22635
22636 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22637
22638 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22639 Set to "auto".
22640
22641 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22644 mo_file after freeing.
22645
22646 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22647
22648 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22649
22650 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22653 flags.
22654
22655 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22658 usage.
22659
22660 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22663
22664 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22665 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22666 and terminfo.h when needed.
22667 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22668 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22669 (terminfo): Enable only on terminfokernel.
22670 (extcmd): Likewise.
22671 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22672 * include/grub/lib/arg.h: Likewise.
22673 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22674 incorrect usage of ->.
22675
22676 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22677
22678 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22679 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22680
22681 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22682
22683 Fix coreboot compilation.
22684
22685 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22686 Take VBE info into account even if only text is supported.
22687 (fill_vbe_info): Take into account the case when only VGA text
22688 is supported.
22689 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22690 on coreboot, multiboot and qemu.
22691
22692 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22693
22694 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22695 debug messages.
22696 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22697
22698 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22699
22700 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22701 parameters.
22702
22703 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22706 if they were BSD-style.
22707
22708 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22709
22710 * grub-core/boot/i386/pc/lnxboot.S: Replace
22711 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22712 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22713
22714 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22715
22716 Write embedding zone using Reed-Solomon.
22717
22718 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22719 * grub-core/Makefile.am (rs_decoder.S): New target.
22720 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22721 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22722 (multiboot): Move to RS part.
22723 (post_reed_solomon): New label.
22724 (grub_boot_drive): Move to non-RS part since it's modified in memory
22725 on boot.
22726 Include rs_decoder.S.
22727 * grub-core/lib/reed_solomon.c: New file.
22728 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22729 New definition.
22730 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22731 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22732 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22733 * include/grub/partition.h (grub_partition_map): Change prototype of
22734 embed to allow returning additional sectors.
22735 * include/grub/reed_solomon.h: New file.
22736 * util/grub-setup.c (setup): Handle Reed-Solomon.
22737
22738 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
22739
22740 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22741 i386 and x86-64 definedness tests.
22742
22743 2010-09-27 Yves Blusseau <blusseau@zetam.org>
22744
22745 Fix generation of kernel_syms.lst
22746
22747 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22748 ASM_PREFIX
22749
22750 2010-09-26 Robert Millan <rmh@gnu.org>
22751
22752 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22753
22754 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22755 the pool is an array of devices, iterate through it and return the
22756 first device that passes a stat() test (instead of blindly returning
22757 the first one).
22758
22759 2010-09-26 Robert Millan <rmh@gnu.org>
22760
22761 Build fixes for GNU/kFreeBSD.
22762
22763 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22764 to programs that require ZFS conversion.
22765 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22766 kernels that don't have FLOPPY_MAJOR.
22767
22768 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22769
22770 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22771
22772 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22773
22774 Fix grub-emu build.
22775
22776 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22777 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22778 mdraid09 and mdraid1x.
22779
22780 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
22781
22782 Re-enable grub-extras.
22783
22784 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22785 avoid confusing Automake. Run autogen only twice, once for the top
22786 level and once for grub-core. Add Makefile.util.def and
22787 Makefile.core.def from extra modules to the appropriate autogen
22788 invocations. If Makefile.common exists in an extra module, include
22789 it in both Makefile.util.am and grub-core/Makefile.core.am;
22790 similarly, include any Makefile.util.common file in Makefile.util.am
22791 and any Makefile.core.common file in grub-core/Makefile.core.am.
22792 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22793 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22794 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22795 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22796
22797 * gentpl.py (gvar_add): Turn GVARS into a set.
22798 (global_variable_initializers): Sort global variables on output.
22799 (vars_init): New function.
22800 (first_time): Likewise.
22801 (library): Ensure that non-global variable initialisations are
22802 emitted before the first time we emit code for a library block.
22803 Append to variables rather than setting them. Only emit
22804 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22805 each conditional path.
22806 (program): installdir() emits an Autogen macro, so must be passed to
22807 var_add rather than gvar_add.
22808 (data): Likewise.
22809 (script): Likewise.
22810 (rules): New function, centralising handling for different target
22811 types. Set up Guile association lists for first_time and vars_init,
22812 and send most output to a diversion so that variable initialisations
22813 can be emitted first.
22814 (module_rules): Use new rules function.
22815 (kernel_rules): Likewise.
22816 (image_rules): Likewise.
22817 (library_rules): Likewise.
22818 (program_rules): Likewise.
22819 (script_rules): Likewise.
22820 (data_rules): Likewise.
22821
22822 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22823
22824 * .bzrignore: Add contrib and grub-core/contrib. Remove
22825 grub-core/Makefile.gcry.am.
22826
22827 2010-09-24 Yves Blusseau <blusseau@zetam.org>
22828
22829 * grub-core/lib/LzFind.c: Add missing include.
22830 * grub-core/lib/LzmaEnc.c: Likewise.
22831 * grub-core/script/lexer.c: Likewise.
22832 * grub-core/script/yylex.l: Likewise.
22833 * util/grub-macho2img.c: Likewise.
22834 * util/grub-menulst2cfg.c: Likewise.
22835 * util/grub-mklayout.c: Likewise.
22836 * util/grub-mkpasswd-pbkdf2.c
22837 * util/grub-mkrelpath.c: Likewise.
22838 * util/resolve.c: Likewise.
22839
22840 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22841
22842 * Makefile.util.def (example_unit_test): Add
22843 grub-core/gnulib/libgnu.a.
22844
22845 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22846
22847 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22848
22849 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 Support xz compression on yeeloong.
22852
22853 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22854 * configure.ac: Check for LZMA.
22855 * grub-core/Makefile.core.def (xz_decompress): New target.
22856 (none_decompress): Likewise.
22857 * grub-core/boot/decompressor/minilib.c: New file.
22858 * grub-core/boot/decompressor/none.c: Likewise.
22859 * grub-core/boot/decompressor/xz.c: Likewise.
22860 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22861 * grub-core/kern/mips/cache_flush.S: Likewise.
22862 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22863 * grub-core/kern/mips/startup.S: Move first stage to ...
22864 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22865 nomacro.
22866 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22867 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22868 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22869 Allocate statically.
22870 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22871 Allocate statically or use scratch. Don't check CRC32.
22872 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22873 Allocate statically. Don't check CRC32.
22874 * include/grub/decompressor.h: New file.
22875 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22876 Removed.
22877 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22878 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22879 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22880 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22881 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22882 * util/grub-mkimage.c (grub_compression_t): New type.
22883 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22884 (image_target_desc): New field default_compression.
22885 (image_targets): Adjust yeeloong targets.
22886 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22887 (compress_kernel): New parameter comp.
22888 (generate_image): Likewise. Handle new compression case.
22889 (options): New option --compression
22890 (help): Likewise.
22891 (main): Handle new option.
22892
22893 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22894
22895 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22896
22897 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
22898
22899 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22900 typo in __i386__ conditional.
22901
22902 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22903
22904 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22905 include.
22906
22907 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22908
22909 Implement EFI and ACPI multiboot2 extensions.
22910
22911 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22912 new tags as supported.
22913 (acpiv2_size): New function.
22914 (grub_multiboot_get_mbi_size): Take new tags into account.
22915 (grub_multiboot_make_mbi): Add new tags.
22916 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
22917
22918 2010-09-21 Aleš Nesrsta <starous@volny.cz>
22919
22920 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22921 Added missing configuration of USB device.
22922
22923 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22924
22925 * grub-core/normal/menu_entry.c (run): Make sure we always return
22926 a value.
22927
22928 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22929
22930 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22931 NumberOfPages is UINT64 according to the UEFI specification, not
22932 UINTN. Fix printf format.
22933
22934 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22935
22936 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22937 `err' to grub_usb_err_t.
22938 Reported and tested by: KESHAV P.R.
22939
22940 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22941
22942 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22943 tpart non-const, so that we can assign to it. (Since this is a
22944 typedef, the constness refers to the pointer rather than what it
22945 points to.)
22946
22947 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22948
22949 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22950 $(top_srcdir)/grub-core/gnulib as well as
22951 $(top_builddir)/grub-core/gnulib.
22952 Reported by: KESHAV P.R.
22953
22954 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22955
22956 * util/grub-install.in: Fix the bootloader ID option to be
22957 consistently --bootloader-id, not --bootloader_id.
22958 Reported by: KESHAV P.R.
22959
22960 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22961
22962 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22963 check hash checksum." consistently translatable.
22964
22965 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22966
22967 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22968 $(top_builddir).
22969
22970 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22971
22972 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22973 (GRUB_MOD_INIT): Register sha1sum command.
22974 (GRUB_MOD_FINI): Unregister sha1sum command.
22975
22976 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22977
22978 Keep boot and grub directory names in sync with utils scripts
22979
22980 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22981 * config.h.in: Add previous macros.
22982 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22983 * util/grub-install.in: Use $bootdir and $grubdir variables.
22984
22985 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22986
22987 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22988 convert partition names to disk names if the new `convert' parameter
22989 is set.
22990 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22991 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22992 disk in its own right. This can happen with Xen disk images.
22993
22994 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22995
22996 * util/grub-editenv.c: Update strings to avoid warnings when generating
22997 grub.pot file.
22998 * util/grub-setup.c: Likewise.
22999
23000 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 * configure.ac: Change version to 1.99~beta0.
23003
23004 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23007 Add BADRAM.
23008 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
23009 Likewise.
23010 * include/multiboot.h: Resynced with specification.
23011 * include/multiboot2.h: Likewise.
23012
23013 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
23014
23015 Fix po directory handling.
23016
23017 * configure.ac: Create po/Makefile.in rather than po/Makefile.
23018 * grub-core/gnulib/Makefile.am: Import gettext module.
23019 * m4/gnulib-cache.m4: Likewise.
23020 * m4/gnulib-comp.m4: Likewise.
23021 * m4/gettext.m4: New file, from gnulib.
23022 * m4/glibc2.m4: Likewise.
23023 * m4/iconv.m4: Likewise.
23024 * m4/intdiv0.m4: Likewise.
23025 * m4/intl.m4: Likewise.
23026 * m4/intldir.m4: Likewise.
23027 * m4/intlmacosx.m4: Likewise.
23028 * m4/intmax.m4: Likewise.
23029 * m4/inttypes-pri.m4: Likewise.
23030 * m4/lcmessage.m4: Likewise.
23031 * m4/lib-ld.m4: Likewise.
23032 * m4/lib-link.m4: Likewise.
23033 * m4/lib-prefix.m4: Likewise.
23034 * m4/lock.m4: Likewise.
23035 * m4/nls.m4: Likewise.
23036 * m4/po.m4: Likewise.
23037 * m4/printf-posix.m4: Likewise.
23038 * m4/progtest.m4: Likewise.
23039 * m4/threadlib.m4: Likewise.
23040 * m4/uintmax_t.m4: Likewise.
23041 * m4/visibility.m4: Likewise.
23042 * po/Makefile.am: Remove.
23043 * po/Makefile.in.in: New file, from gettext.
23044 ($(DOMAIN).pot-update): Support POTFILES-shell.
23045 * po/Makevars: New file.
23046 * po/POTFILES-shell: Rename to ...
23047 * po/POTFILES-shell.in: ... this. Update.
23048 * po/POTFILES: Rename to ...
23049 * po/POTFILES.in: ... this. Update.
23050 * po/Rules-quot: New file, from gettext.
23051 * po/boldquot.sed: Likewise.
23052 * po/en@boldquot.header: Likewise.
23053 * po/en@quot.header: Likewise.
23054 * po/insert-header.sin: Likewise.
23055 * po/quot.sed: Likewise.
23056 * po/remove-potcdate.sin: Likewise.
23057
23058 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23059
23060 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
23061
23062 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23063
23064 * util/grub.d/20_linux_xen.in: Use submenus.
23065
23066 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23067
23068 Support submenus.
23069
23070 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
23071 parameter submenu. All users updated.
23072 * grub-core/normal/main.c (free_menu): Rename to ...
23073 (grub_normal_free_menu): ... this. Made global.
23074 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
23075 if requested.
23076 * grub-core/normal/menu_entry.c (screen): New field submenu.
23077 (make_screen): Set submenu.
23078 (run): Open new context if requested.
23079 * include/grub/menu.h (grub_menu_entry): New field submenu.
23080 * include/grub/normal.h (grub_normal_free_menu): New proto.
23081
23082 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23083
23084 Menu entries extractor.
23085
23086 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
23087 variants.
23088 (GRUB_MOD_INIT): Register new variants.
23089 (GRUB_MOD_FINI): Unregister new variants.
23090 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
23091 into grub_cmd_legacy_source.
23092 (grub_cmd_legacy_source): Implement extractor variants.
23093 (GRUB_MOD_INIT): Register new variants.
23094 (GRUB_MOD_FINI): Unregister new variants.
23095 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
23096 as an extractor.
23097 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
23098 search as an extractor.
23099 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
23100 test as an extractor.
23101 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
23102 as an extractor.
23103 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
23104 (grub_env_new_context): New function.
23105 (grub_env_context_open): Likewise.
23106 (grub_env_extractor_open): Likewise.
23107 (grub_env_extractor_close): Likewise.
23108 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23109 grub_extractor_level.
23110 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23111 * include/grub/env.h (grub_env_extractor_open): New proto.
23112 (grub_env_extractor_close): Likewise.
23113 * include/grub/normal.h (grub_extractor_level): New external variable.
23114
23115 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23116
23117 Make cutmem accept a region specification.
23118 Suggested by: Samuel Thibault
23119
23120 * grub-core/mmap/mmap.c (parsemem): New function.
23121 (grub_cmd_cutmem): Handle new arguments.
23122
23123 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23124
23125 New command cutmem.
23126
23127 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23128 (GRUB_MOD_INIT): Register new command.
23129 (GRUB_MOD_FINI): Unregister new command.
23130
23131 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23132
23133 Support some annoying BSD and Minix subpartitions.
23134
23135 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23136 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23137 Properly handle concatenation.
23138 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23139 * grub-core/normal/completion.c (iterate_partition): Likewise.
23140 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23141 contain partition. All users updated.
23142 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23143 struct.
23144 (grub_openbsdlabel_partition_map): Likewise.
23145 (bsdlabel_partition_map_iterate): Rename to ..
23146 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23147 (bsdlabel_partition_map_iterate): New function.
23148 (netopenbsdlabel_partition_map_iterate): Likewise.
23149 (netbsdlabel_partition_map_iterate): Likewise.
23150 (openbsdlabel_partition_map_iterate): Likewise.
23151 (GRUB_MOD_INIT): Register new partmaps.
23152 (GRUB_MOD_FINI): Unregister new partmaps.
23153 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23154 (grub_partition_msdos_iterate): ... this. All users updated.
23155 Don't support embedding other than in a minix partition.
23156 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23157 proto.
23158 * include/grub/partition.h (grub_partition): New field msdostype.
23159 * util/grub-install.in: Handle openbsd and netbsd types being in
23160 part_bsd module.
23161
23162 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23163
23164 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23165
23166 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23167 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23168 (mdraid09): ... this.
23169 (mdraid1x): New module.
23170 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23171 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23172
23173 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23174
23175 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23176 vsprintf.
23177
23178 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23179
23180 * grub-core/commands/efi/lsefimmap.c: Correct header.
23181 * NEWS: Update.
23182
23183 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23184
23185 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23186 as printf format strings; the translations might contain '%' which
23187 could cause a crash.
23188 (main): Likewise.
23189 * util/grub-fstest.c (argp_parser): Likewise.
23190 * util/grub-setup.c (argp_parser): Likewise.
23191 (main): Likewise.
23192
23193 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 Use argp in grub-fstest.
23196
23197 * util/grub-fstest.c: Don't include getopt.h.
23198 Include argp.h.
23199 (root): New variable.
23200 (args_count): Likewise.
23201 (nparm): Likewise.
23202 (num_disks): Likewise.
23203 (images): Likewise.
23204 (cmd): Likewise.
23205 (debug_str): Likewise.
23206 (args): Likewise.
23207 (options): Transformed to argp.
23208 (usage): Removed.
23209 (main): Split argument parsing into ...
23210 (argp_parser): ... this. Changed to argp format.
23211 (argp): New variable.
23212 (main): Use argp_parse.
23213
23214 2010-09-20 Tristan Gingold <gingold@free.fr>
23215 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
23216 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23217
23218 * grub-core/commands/efi/lsefimmap.c: New file.
23219 * grub-core/Makefile.core.def (lsefimmap): New module.
23220 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23221
23222 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 Pause the execution (10s max) if any errors are displayed so the user
23225 has a chance to see them.
23226
23227 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23228 (grub_print_error): Increment grub_err_printed_errors.
23229 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23230 execution if any errors were displayed.
23231 (show_menu): Remove old code for pause.
23232 * grub-core/normal/menu_entry.c (run): Likewise.
23233 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23234 users updated.
23235 (grub_normal_get_char_counter): Likewise.
23236 * include/grub/err.h (grub_err_printed_errors): New external variable.
23237 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23238
23239 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23240
23241 Support multiboot VBE info.
23242
23243 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23244 Take VBE info into account.
23245 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23246 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23247 Call fill_vbe_info when appropriate.
23248 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23249 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23250 as supported.
23251 (grub_multiboot_get_mbi_size): Take new tags into account.
23252 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23253 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23254 Call fill_vbe_tag when appropriate.
23255 (grub_multiboot_make_mbi): Properly align tags.
23256 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23257 function.
23258 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23259 proto.
23260 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23261
23262 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 Suport manual terminal geometry specification.
23265
23266 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23267 Save state in grub_ofconsole_terminfo_output.
23268 (grub_ofconsole_term): Use grub_terminfo_getwh.
23269 (grub_ofconsole_getwh): Removed.
23270 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23271 (grub_serial_term): Use grub_terminfo_getwh.
23272 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23273 (options): New struct.
23274 (OPTION_*): New enum.
23275 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23276 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23277 width and height.
23278 (grub_terminfo_getwh): New proto.
23279 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23280
23281 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23282
23283 Handle legacy "terminal" command.
23284
23285 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23286 and FLAG_TERMINAL.
23287 (legacy_commands): Add terminal and title.
23288 (grub_legacy_parse): Handle terminal. Simplify title handling.
23289
23290 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23291
23292 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23293 parameters overflow.
23294
23295 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23296
23297 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23298 widthspec.h.
23299
23300 * docs/grub.texi (Shell-like scripting): Document `!'.
23301 (Network): Simplify using new i386-pc-pxe format. Mention
23302 grub-mknetdir.
23303
23304 * NEWS: Update.
23305
23306 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23307
23308 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23309 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23310 when needed.
23311
23312 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23313
23314 * grub-core/commands/efi/lsefisystab.c: Correct header.
23315 * grub-core/commands/efi/lssal.c: Likewise.
23316 * grub-core/commands/testload.c: Likewise.
23317
23318 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23319
23320 * util/grub-mkrescue.in: Add explicit root argument to --set to
23321 prevent the UUID being interpreted as an argument to --set (matches
23322 previous change to prepare_grub_to_access_device).
23323
23324 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23325
23326 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23327 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23328 the verbosity of later #ifs.
23329 (find_partition_start): Define this function on FreeBSD too.
23330 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23331 function.
23332 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23333 on FreeBSD.
23334
23335 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23336
23337 * util/grub-editenv.c: Use argp instead of getopt.
23338
23339 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23340
23341 * util/grub-setup.c: Use argp instead of getopt.
23342
23343 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23344
23345 Use gnulib-tool to create gnulib source files.
23346
23347 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23348 grub-core/gnulib directories
23349 * .bzignore: Add **/.deps and autogenerated gnulib files
23350 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23351 of gnulib macros, add grub-core/gnulib/Makefile
23352 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23353 include m4 directory to aclocal.
23354 * Makefile.util.def: Remove direct compilation of gnulib source files
23355 and use the new grub-core/gnulib/libgnu.a.
23356 * build-aux/config.rpath: move config.rpath from top directory to
23357 build-aux
23358 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23359 in gnulib headers
23360 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23361 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23362 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23363 header.
23364 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23365 string.
23366
23367 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23368
23369 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23370 grub-core/genmod.sh and grub-core/gensyminfo.sh
23371
23372 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23373
23374 Add a test for echo command options.
23375
23376 * tests/grub_cmd_echo.in: New test.
23377 * Makefile.util.def: Rules for new test.
23378
23379 2010-09-20 Szymon Janc <szymon@janc.net.pl>
23380
23381 Remove crc.mod and move crc command to hashsum.mod.
23382 Remove lib/crc.c - users updated to use gcrypt implementation.
23383
23384 * grub-core/commands/crc.c: Removed.
23385 * grub-core/Makefile.core.def (crc): Module removed.
23386 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23387 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23388 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23389 * grub-core/lib/crc.c: Removed.
23390 * include/grub/lib/crc.h: Removed.
23391 * Makefile.util.def (crc): Remove lib/crc.c
23392 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23393 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23394 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23395 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23396 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23397 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23398
23399 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23400
23401 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23402
23403 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 Split config.h for util and core.
23406
23407 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23408 (ADDR32): Likewise.
23409 (DATA32): Likewise.
23410 (BSS_START_SYMBOL): Likewise.
23411 (END_SYMBOL): Likewise.
23412 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23413 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23414 * config.h.in: New file.
23415 * configure.ac: Use config-util.h as config define file.
23416 Rename MACHINE into GRUB_MACHINE. All users updated.
23417 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23418 updated.
23419 (NESTED_FUNC_ATTR): Likewise.
23420 Substitue new variables.
23421 (COND_HAVE_ASM_USCORE): New conditional.
23422 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23423 (kernel_syms.lst): Use ASM_PREFIX.
23424 * grub-core/kern/emu/console.c: Include config-util.h.
23425 * grub-core/kern/emu/misc.c: Likewise.
23426 * grub-core/kern/emu/mm.c: Likewise.
23427 * include/grub/emu/misc.h: Likewise.
23428 * include/grub/libgcc.h: Likewise.
23429
23430 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23431
23432 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23433 constants usage.
23434 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23435 Fix GRUB_TERM_KEY_* constants usage.
23436 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23437
23438 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23439
23440 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23441 print pointer.
23442 * grub-core/bus/usb/uhci.c: Remove empty define.
23443 (grub_uhci_check_transfer): Add missing cast.
23444 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23445 print pointer.
23446 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23447 PRIuGRUB_SIZE.
23448 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23449
23450 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23451
23452 * grub-core/Makefile.core.def (legacycfg): Add
23453 lib/i386/pc/vesa_modes_table.c on emu.
23454
23455 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23456
23457 Reduce number of temporary files generated by build system.
23458
23459 * grub-core/gencmdlist.sh: Removed.
23460 * grub-core/genfslist.sh: Removed.
23461 * grub-core/genhandlerlist.sh: Removed.
23462 * grub-core/genmodsrc.sh: Removed.
23463 * grub-core/genpartmaplist.sh: Removed.
23464 * grub-core/genparttoollist.sh: Removed.
23465 * grub-core/gentermiinallist.sh: Removed.
23466 * grub-core/genvideolist.sh: Removed.
23467
23468 * grub-core/genmod.sh.in: New file.
23469 * grub-core/gensyminfo.sh.in: New file.
23470
23471 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23472 * conf/Makefile.extra-dist: Update with new files.
23473 * gentpl.py: Remove rules related to unnecessary temporary files.
23474 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23475 and und-* files.
23476 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23477 genmod.sh scripts.
23478 * grub-core/bus/usb/uhci.c: Remove empty #define.
23479 * grub-core/genmoddep.awk: Updated with new syminfo format.
23480 * util/bash-completion.d/Makefile.am: Add config.log to
23481 CLEANFILES.
23482
23483 2010-09-19 Yves Blusseau <blusseau@zetam.org>
23484
23485 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23486
23487 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23488
23489 * util/grub-mkconfig.in: Check the config script for syntax errors
23490 before saving.
23491
23492 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
23493 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23496 platforms.
23497 * util/grub-install.in: Add EFI and IEEE1275 support.
23498 * util/i386/efi/grub-install.in: Removed.
23499 * util/ieee1275/grub-install.in: Likewise.
23500
23501 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23502
23503 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23504 (grub_cmd_cmosclean): Likewise.
23505 (GRUB_MOD_INIT): Register command cmosclean.
23506 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23507 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23508
23509 2010-09-18 Carles Pina i Estany <carles@pina.cat>
23510 2010-09-18 Aleš Nesrsta <starous@volny.cz>
23511 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23512
23513 Add keyboard layouts support.
23514
23515 * Makefile.util.def (grub-mklayout): New file.
23516 (grub-kbdcomp): New script.
23517 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23518 Add keyboard_layouts.h.
23519 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23520 commands/boot.c on yeeloong.
23521 (keylayouts): New module.
23522 * grub-core/bus/usb/ohci.c
23523 * grub-core/bus/usb/uhci.c
23524 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23525 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23526 (attach_root_port): Likewise.
23527 (poll_nonroot_hub): Likewise.
23528 (grub_usb_poll_devices): Likewise.
23529 (detach_device): Close transfer.
23530 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23531 function.
23532 (grub_usb_bulk_setup_readwrite): Likewise.
23533 (grub_usb_bulk_finish_readwrite): Likewise.
23534 * grub-core/commands/keylayouts.c: New file.
23535 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23536 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23537 aliases.
23538 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23539 support scancode 2.
23540 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23541 * include/grub/keyboard_layouts.h: New file.
23542 * util/grub-mklayout.c: New file.
23543 * util/grub-kbdcomp.in: Likewise.
23544
23545 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 Unify memory types.
23548
23549 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23550 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23551 types.
23552 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23553 (grub_upper_mem): Likewise.
23554 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23555 * include/grub/memory.h (grub_memory_type_t): New enum.
23556 All users updated.
23557
23558 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23559
23560 * grub-core/Makefile.core.def (lsapm): New module.
23561 * grub-core/commands/i386/pc/lsapm.c: New file.
23562 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23563 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23564 Likewise.
23565 * include/grub/i386/pc/apm.h: New file.
23566 * include/multiboot.h (multiboot_apm_info): New struct.
23567
23568 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23569
23570 GRUB-legacy configuration file support.
23571
23572 * Makefile.util.def (grub-menulst2cfg): New util.
23573 * docs/man/grub-menulst2cfg.h2m: New file.
23574 * grub-core/Makefile.core.def (legacycfg): New module.
23575 * grub-core/commands/legacycfg.c: New file.
23576 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23577 (grub_normal_add_menu_entry): ... this.
23578 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23579 (grub_normal_set_password): ...this.
23580 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23581 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23582 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23583 * grub-core/lib/legacy_parse.c: New file.
23584 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23585 * include/grub/i386/pc/vesa_modes_table.h: New file.
23586 * include/grub/legacy_parse.h: Likewise.
23587 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23588 * util/grub-menulst2cfg.c: New file.
23589
23590 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23591
23592 * grub-core/kern/emu/hostdisk.c
23593 (convert_system_partition_to_system_disk): Initialise node.
23594
23595 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23596
23597 * grub-core/kern/emu/hostdisk.c
23598 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23599 leak.
23600 Reported and based on patch by: Modestas Vainius.
23601
23602 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23603
23604 Fix DM-RAID probing with recent versions of device-mapper udev
23605 rules.
23606
23607 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23608 canonicalise device paths under /dev/mapper/.
23609 (convert_system_partition_to_system_disk): Compare the
23610 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23611 path, since device nodes under /dev/mapper/ are often symlinks.
23612
23613 2010-09-17 Yves Blusseau <blusseau@zetam.org>
23614
23615 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23616
23617 2010-09-16 Yves Blusseau <blusseau@zetam.org>
23618
23619 * configure.ac: Avoid some annoying error messages if freetype-config
23620 program is not found.
23621
23622 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23623
23624 Support RAID on virtio devices, and others.
23625
23626 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23627 Rename to ...
23628 [__MINGW32__] (grub_find_device): ... this.
23629 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23630 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23631 reasonable default if dir is NULL.
23632 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23633 ...
23634 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23635 (grub_guess_root_device): Update callers.
23636 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23637
23638 * util/raid.c (grub_util_getdiskname): Remove.
23639 (grub_util_raid_getmembers): Use grub_find_device rather than
23640 grub_util_getdiskname.
23641
23642 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23643
23644 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23645 needing to be compiled with serial support.
23646 (ls): Indicate that multiple files are accepted.
23647 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23648 indicate that multiple files are accepted.
23649
23650 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23651
23652 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23653 libgrub_a_init.c, and util/bash-completion.d/grub.
23654
23655 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23656
23657 * util/grub-setup.c (setup): Fix incorrect container semantics.
23658
23659 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23662 misusage.
23663 Reported by: J. Nick Terry
23664
23665 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23666
23667 Move embedding routines to partmap sources files.
23668
23669 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23670 [GRUB_UTIL]: New variable.
23671 (gpt_partition_map_iterate): Set part.parent.
23672 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23673 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23674 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23675 New function.
23676 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23677 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23678 (grub_partition_map) [GRUB_UTIL]: New field embed.
23679 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23680 (setup): Use ->embed.
23681
23682 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23683
23684 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23685 function.
23686 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23687 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23688
23689 2010-09-15 Yves Blusseau <blusseau@zetam.org>
23690
23691 Add function to get completions from usage.
23692
23693 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23694 completions from usage. Use LC_ALL=C to get options properly.
23695
23696 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23697
23698 * grub-core/gnulib/basename-lgpl.c: Imported.
23699 * grub-core/gnulib/basename.c: Likewise.
23700 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23701 * grub-core/gnulib/dirname.c: Likewise.
23702 * grub-core/gnulib/dirname.h: Likewise.
23703 * grub-core/gnulib/stripslash.c: Likewise.
23704
23705 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 * grub-core/gnulib/error.c: Resynced.
23708 * grub-core/gnulib/getopt.c: Likewise.
23709 * grub-core/gnulib/getopt_int.h: Likewise.
23710 * grub-core/gnulib/regex.h: Likewise.
23711 * grub-core/gnulib/regex_internal.c: Likewise.
23712 * grub-core/gnulib/regex_internal.h: Likewise.
23713
23714 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23715
23716 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23717 CRC calculations and validity checks.
23718 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23719 calculations.
23720
23721 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23722
23723 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23724
23725 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23726
23727 Fix incorrect echo options handling.
23728 Reported by: Yves Blusseau.
23729
23730 * include/grub/command.h (grub_command_flags_t): New flags
23731 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23732 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23733 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23734
23735 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23736
23737 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23738 users updated.
23739 (GRUB_COMMAND_FLAG_MENU): Likewise.
23740 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23741 (GRUB_COMMAND_FLAG_TITLE): Removed.
23742 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23743 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23744 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23745 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23746 (grub_command_flags_t): New enum. All users updated.
23747
23748 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23749
23750 Fix solaris compilation.
23751
23752 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23753 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23754 (grub-emu-list): Likewise.
23755
23756 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23757
23758 Remove deprecated root command.
23759
23760 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23761 updated.
23762
23763 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23764
23765 * util/i386/pc/grub-setup.c: Merge this ...
23766 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23767 * util/grub-setup.c: ... into this.
23768 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23769 New struct.
23770
23771 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23772
23773 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23774 possible.
23775
23776 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23779 allocate p.
23780
23781 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23784 explicit root argument to set to prevent UUID to be interpreted as
23785 argument to set.
23786
23787 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23790
23791 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 Don't export grub_gate_a20.
23794
23795 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23796 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23797 to ...
23798 (grub_gate_a20): ... this. All users updated.
23799 * include/grub/i386/pc/init.h: Removed. All users updated.
23800
23801 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23802
23803 Create euro.pf2 which supports most European languages.
23804
23805 * Makefile.am (grubdata_DATA): Add euro.pf2.
23806 (euro.pf2): New target.
23807 (CLEANFILES): Add euro.pf2.
23808
23809 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23810
23811 * configure.ac: Disable emu-usb by default to prevent inadvertent
23812 device takeover.
23813
23814 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23815
23816 Disable usbserial on grub-emu since our libusb code isn't good enough
23817 yet.
23818
23819 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23820 (usbserial_pl2303): Likewise.
23821 (usbserial_ftdi): Likewise.
23822
23823 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23824
23825 * include/grub/disk.h (grub_disk): Remove has_partitions.
23826 All users updated.
23827 * disk/loopback.c (grub_loopback): Remove has_partitions.
23828 All users updated.
23829 (options): Remove partitions. All users updated.
23830 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23831 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23832 actual partition table is found.
23833
23834 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23835
23836 Remove readability checks (too many false negatives).
23837
23838 * util/grub-install.in: Remove readability checks.
23839 * util/grub-mkconfig.in: Likewise.
23840 * util/grub.d/10_hurd.in: Likewise.
23841 * util/grub.d/10_kfreebsd.in: Likewise.
23842 * util/grub.d/10_linux.in: Likewise.
23843 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23844 way.
23845
23846 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 Enable acpi shutdown on all ACPI platforms.
23849
23850 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23851 on coreboo, multiboot and EFI.
23852 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23853 (grub_acpi_halt): Likewise.
23854 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23855 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23856 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23857 * grub-core/lib/i386/halt.c (grub_halt)
23858 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23859
23860 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23861
23862 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23863 context.
23864
23865 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23866
23867 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23868 * grub-core/video/efi_uga.c: Likewise.
23869
23870 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23871
23872 Filter devaliases and never open same device twice.
23873
23874 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23875 (last_ihandle): Likewise.
23876 (ofdisk_hash_ent): New member shortest.
23877 (ofdisk_hash_add): Add canonical path too.
23878 (scan): New function.
23879 (grub_ofdisk_iterate): Iterate over hashed entries.
23880 (compute_dev_path): Don't add :0.
23881 (grub_ofdisk_open): Don't really open the disk.
23882 (grub_ofdisk_close): Avoid closing unrelated disk.
23883 (grub_ofdisk_read): Implement reopen logic.
23884 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23885 New function.
23886 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23887 New proto.
23888
23889 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23890
23891 Fix sparc64.
23892
23893 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23894 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23895 right address. Add sparc64_ieee1275_ldflags.
23896 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23897 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23898 to grub_host_to_target_addr
23899 (load_image): Likewise.
23900
23901 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23902
23903 * grub-core/normal/completion.c (complete_file): Handle device
23904 containing slash.
23905 Fix based on patch by Doug Nazar.
23906
23907 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23908
23909 grub-mknetdir script.
23910
23911 * Makefile.util.def (grub-mknetdir): New module.
23912 * tests/util/grub-shell.in: Support boot=net
23913 * util/grub-mknetdir.in: New file.
23914
23915 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 videoinfo on non-vbe.
23918
23919 * grub-core/Makefile.core.def (vbeinfo): Removed.
23920 (vbetest): Removed.
23921 (videoinfo): New module.
23922 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23923 * grub-core/commands/i386/pc/vbetest.c: Removed.
23924 * grub-core/commands/videoinfo.c: New file.
23925 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23926 specification.
23927 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23928 as vbetest.
23929 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23930 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23931 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23932 mode_number. New parameter mode. All users updated.
23933 (grub_video_gop_iterate): New function.
23934 (grub_video_efi_gop): New member iterate.
23935 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23936 (grub_vbe_set_video_mode): Remove setting useless fields.
23937 (vbe2videoinfo): New function.
23938 (grub_video_vbe_iterate): Likewise.
23939 (grub_video_vbe_setup): Use vbe2videoinfo.
23940 (grub_video_vbe_print_adapter_specific_info): New function.
23941 (grub_video_vbe_adapter): New fields iterate and
23942 print_adapter_specific_info.
23943 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23944 All users updated.
23945 (grub_video_mode_info): New field mode_number.
23946 (grub_video_adapter): New fields iterate and
23947 print_adapter_specific_info.
23948
23949 2010-09-13 Tristan Gingold <gingold@free.fr>
23950 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
23951 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23952
23953 * grub-core/commands/efi/lsefisystab.c: New file.
23954 * grub-core/commands/efi/lssal.c: Likewise.
23955 * grub-core/Makefile.core.def (lsacpi): New module.
23956 (lsefisystab): Likewise.
23957 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23958 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23959 (grub_efi_sal_system_table): New struct.
23960 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23961 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23962 (grub_efi_sal_system_table_platform_features): Likewise.
23963 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23964 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23965 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23966 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23967
23968 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23969
23970 Support explicit user claim that a device is BIOS-visible.
23971
23972 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23973 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23974 * grub-core/kern/emu/hostdisk.c
23975 (convert_system_partition_to_system_disk): Support mdX.
23976 (find_system_device): New parameter add. All users updated.
23977 (grub_util_biosdisk_is_present): New function.
23978 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23979 proto.
23980
23981 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23982
23983 Search hints support.
23984
23985 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23986 All users updated.
23987
23988 2010-09-13 Yves Blusseau <blusseau@zetam.org>
23989
23990 Bash completion script for util commands
23991
23992 * Makefile.am: Add util/bash-completion.d directory
23993 * configure.ac: Likewise.
23994 * util/bash-completion.d/Makefile.am: New file.
23995 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23996
23997 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23998
23999 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
24000 (print_backlog): set backlog_ucs4 and backlog_glyphs.
24001 Reported by: Yves Blusseau.
24002
24003 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24004
24005 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
24006 partition size and offset.
24007
24008 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24009
24010 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
24011
24012 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
24015
24016 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24017
24018 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
24019 (grub_xvasprintf): Likewise.
24020
24021 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24022
24023 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
24024
24025 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24026
24027 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
24028 args ending with NULL.
24029
24030 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
24031
24032 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
24033 pointer.
24034
24035 2010-09-11 Szymon Janc <szymon@janc.net.pl>
24036
24037 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
24038
24039 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24040
24041 Shutdown using ACPI.
24042
24043 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
24044 * grub-core/commands/acpihalt.c: New file.
24045 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
24046 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
24047 (grub_acpi_halt): New proto.
24048 (GRUB_ACPI_SLP_EN): New const.
24049 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
24050 (GRUB_ACPI_OPCODE_*): New enum.
24051 (GRUB_ACPI_EXTOPCODE_*): Likewise.
24052
24053 2010-09-11 Tristan Gingold <gingold@free.fr>
24054 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
24055 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24056
24057 * commands/lsacpi.c: New file.
24058 * grub-core/Makefile.core.def (lsacpi): New module.
24059 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
24060 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
24061 (grub_acpi_madt_entry_header): New struct.
24062 (grub_acpi_madt): Likewise.
24063 (grub_acpi_madt_entry_interrupt_override): Likewise.
24064 (grub_acpi_madt_entry_sapic): Likewise.
24065 (grub_acpi_madt_entry_lsapic): Likewise.
24066 (grub_acpi_madt_entry_platform_int_source): Likewise.
24067 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
24068 (PRIuGRUB_UINT32_T): Likewise.
24069 (PRIxGRUB_UINT64_T): Likewise.
24070
24071 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 Implement loading palette on ieee1275_fb.
24074
24075 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
24076 (have_setcolors): Likewise.
24077 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
24078 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
24079 (grub_video_ieee1275_set_palette): Implement.
24080
24081 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24082 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
24083
24084 * util/grub-install.in (grub_partition): New variable.
24085 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
24086 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
24087 Fixes a bug reported by Yves Blusseau.
24088
24089 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24090
24091 Fix emu on mipsel.
24092
24093 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
24094 =grub_cpu_flush_cache on all mips and not only yeeloong.
24095 * configure.ac (COND_mips): New conditional.
24096 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
24097 platforms.
24098 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
24099 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
24100 [GRUB_LINKER_HAVE_INIT]: New function.
24101 (grub_emu_post_init): Likewise.
24102 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
24103 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
24104 * include/grub/cache.h (_mips): Include mips/cache.h.
24105 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24106 LVM and RAID prototypes.
24107 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24108 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24109 function.
24110
24111 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24112
24113 * util/grub-install.in: Don't try to verify core.img until after
24114 running grub-mkimage to create it.
24115
24116 2010-09-10 Robert Millan <rmh@gnu.org>
24117
24118 * util/grub.d/10_hurd.in: Add misc readability checks.
24119 * util/grub.d/10_kfreebsd.in: Likewise.
24120 * util/grub.d/10_linux.in: Likewise.
24121
24122 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24123
24124 * util/grub-install.in: ${imgext} won't be defined here until the
24125 install branch is merged. For the meantime, only verify core.img on
24126 i386-pc and sparc64-ieee1275 platforms.
24127
24128 2010-09-10 Robert Millan <rmh@gnu.org>
24129
24130 Solaris support in grub_find_zpool_from_dir(). Thanks
24131 Seth Goldberg for referring to getextmntent() facility.
24132
24133 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24134 `sys/mkdev.h'.
24135 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24136 `<sys/mnttab.h>'.
24137 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24138 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24139 method for finding zpool name.
24140
24141 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24142
24143 grub-fstest needs the host and hostfs modules while other utilities
24144 actively require those modules to be absent, so grub-fstest needs
24145 its own initialisation and finalisation code.
24146
24147 * Makefile.am (grub_fstest.pp): New target.
24148 (grub_fstest_init.lst): Likewise.
24149 (grub_fstest_init.c): Likewise.
24150 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24151
24152 2010-09-10 Robert Millan <rmh@gnu.org>
24153
24154 * configure.ac: Check for `struct statfs.f_fstypename' and
24155 `struct statfs.f_mntfromname'.
24156
24157 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24158 kFreeBSD-specific code.
24159
24160 2010-09-10 Robert Millan <rmh@gnu.org>
24161
24162 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24163 on ZFS. Now non-main filesystems are supported as / too.
24164
24165 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
24166
24167 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24168 and grub-core/disk/host.c to ...
24169 (grub-fstest): ... here. Having the host disk implementation
24170 present confuses grub-probe and other utility programs.
24171
24172 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24173 when writing to a file, not when writing to stdout.
24174
24175 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24176
24177 * tests/partmap_test.in: New test for partitions.
24178 * Makefile.util.def: Rules for new test.
24179
24180 2010-09-09 Robert Millan <rmh@gnu.org>
24181
24182 * util/grub-probe.c (probe): Fix a pair of unhandled error
24183 conditions.
24184
24185 2010-09-09 Robert Millan <rmh@gnu.org>
24186
24187 Basic Btrfs support (detection and UUID).
24188
24189 * grub-core/fs/btrfs.c: New file.
24190 * Makefile.util.def (library): Register btrfs.c.
24191 * grub-core/Makefile.core.def: Likewise.
24192
24193 2010-09-08 Robert Millan <rmh@gnu.org>
24194
24195 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24196 with (optional) parameters to specify device and relative path.
24197 * util/grub-install.in: Use is_path_readable_by_grub() to
24198 verify readability of a few critical files.
24199 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24200 verify readability of grub.cfg.new.
24201
24202 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24203
24204 Split minix.mod into minix.mod and minix2.mod.
24205
24206 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24207 * grub-core/Makefile.core.def (minix2): New module.
24208 * grub-core/fs/minix.c: Use definitions instead of runtime version
24209 checking.
24210 * grub-core/fs/minix2.c: New file.
24211
24212 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24213
24214 Add new --boot-directory option to replace --root-directory
24215
24216 * util/grub-install.in: Add new --boot-directory option
24217 * util/grub-reboot.in: Likewise.
24218 * util/grub-set-default.in: Likewise.
24219
24220 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24221
24222 * util/grub-mkconfig.in: Use new variable.
24223
24224 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24225
24226 * configure.ac: Define some useful variables.
24227
24228 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24229
24230 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24231 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24232 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24233 Use terminfo and don't use cursor-on/cursor-off unless it's known
24234 to work.
24235 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24236 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24237
24238 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
24239
24240 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24241 starts with "(,", fill the drive containing the loaded image in
24242 between those two characters, but expect that a full partition
24243 specification including partition map names will follow.
24244
24245 2010-09-08 Robert Millan <rmh@gnu.org>
24246
24247 * configure.ac: Remove `--enable-grub-fstest' option.
24248 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24249
24250 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24251 `grub-fstest' instead of `grub-probe' for readability verification.
24252 * util/grub-probe.c (probe): Remove readability verification kludge.
24253
24254 2010-09-08 Robert Millan <rmh@gnu.org>
24255
24256 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24257 initializing `GRUB_FS'.
24258
24259 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24260
24261 Not command (!) support to GRUB script.
24262
24263 * tests/grub_script_not.in: New test.
24264 * Makefile.util.def: Rules for new test.
24265
24266 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24267 ! command as a special case.
24268 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24269
24270 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24271
24272 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24273 grub_free.
24274
24275 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24276
24277 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24278
24279 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24280
24281 * docs/grub.texi (Shell-like scripting): Documentation for break,
24282 continue, shift and return commands.
24283
24284 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24285
24286 Rename CD-ROM to cd on BIOS.
24287
24288 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24289 "cd".
24290 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24291
24292 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24293
24294 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24295 * util/grub-probe.c (main): Likewise.
24296 * util/i386/pc/grub-setup.c (main): Likewise.
24297 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24298 Reported and debugged by: alexxy
24299
24300 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24301
24302 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24303 diagnostic info.
24304
24305 2010-09-05 Jo Shields <directhex@apebox.org>
24306
24307 * util/grub.d/30_os-prober.in: Add missing classes.
24308
24309 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24310
24311 * docs/grub.texi (Theme file format): Document new position format.
24312
24313 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24314
24315 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24316 a table. Use @code instead of @verbatim.
24317
24318 2010-09-05 Colin D Bennett <colin@gibibit.com>
24319
24320 Gfxmenu documentation.
24321
24322 * docs/grub.texi (Theme file format): New chapter.
24323
24324 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24325
24326 * grub-core/Makefile.core.def (xzio): New module.
24327 * grub-core/io/xzio.c: New file.
24328 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24329 * grub-core/lib/xzembed/xz_config.h: Likewise.
24330 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24331 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24332 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24333 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24334 * grub-core/lib/xzembed/xz_private.h: Likewise.
24335 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24336 * include/grub/file.h (grub_file_filter_id): New compression filter
24337 GRUB_FILE_FILTER_XZIO.
24338
24339 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24340
24341 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24342 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24343 size.
24344
24345 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24346
24347 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24348 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24349
24350 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24351
24352 Uncompressed checksum support.
24353
24354 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24355 (check_list): New parameter uncompress.
24356 (grub_cmd_hashsum): Handle --uncompress.
24357
24358 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24359
24360 Reintroduce testload.
24361
24362 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24363 from here ...
24364 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24365 (GRUB_MOD_INIT): New function.
24366 (GRUB_MOD_FINI): Likewise.
24367 * grub-core/Makefile.core.def (testload): New module.
24368
24369 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24370
24371 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24372 (uint8_t): New type.
24373 (uint16_t): Likewise.
24374 (uint32_t): Likewise.
24375 (uint64_t): Likewise.
24376
24377 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24378
24379 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24380
24381 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24382
24383 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24384 Made static.
24385 (grub_gzfile_open): Removed. All users updated.
24386 (GRUB_MOD_INIT): New function.
24387 (GRUB_MOD_FINI): Likewise.
24388 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24389 (grub_file_filters_enabled): Likewise.
24390 (grub_file_open): Handle filters.
24391 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24392 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24393 * include/grub/file.h (grub_file_filter_id_t): New type.
24394 (grub_file_filter_t): Likewise.
24395 (grub_file_filters_all): New extern variable.
24396 (grub_file_filters_enabled): Likewise.
24397 (grub_file_filter_register): New inline function.
24398 (grub_file_filter_unregister): Likewise.
24399 (grub_file_filter_disable): Likewise.
24400 (grub_file_filter_disable_compression): Likewise.
24401 * include/grub/gzio.h: Removed.
24402
24403 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24404
24405 Filename expansion support for wildcards in GRUB script.
24406
24407 * tests/grub_script_expansion.in: New test.
24408 * Makefile.util.def: Rule for new test.
24409
24410 * grub-core/commands/wildcard.c: New file, implements filename
24411 expansion support for GRUB script.
24412 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24413 * grub-core/script/argv.c: Cosmetic changes.
24414 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24415 Refactored to perform wildcard expansion on arguments.
24416 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24417 struct.
24418
24419 * tests/util/grub-shell.in: Fix quoting for read input.
24420
24421 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24422
24423 Support for updating environment variables with matched substrings
24424 of regexp.
24425
24426 * tests/grub_cmd_regexp.in: New test.
24427 * Makefile.util.def: Rule for new test.
24428
24429 * grub-core/commands/regexp.c: New option -s to update environment
24430 variables with regexp matches.
24431
24432 2010-09-04 Szymon Janc <szymon@janc.net.pl>
24433
24434 * include/grub/file.h (grub_file): New member not_easly_seekable.
24435 (grub_file_seekable): New inline function.
24436 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24437 easily seekable.
24438 (grub_gzio_open): Set not_easly_seekable.
24439 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24440 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24441
24442 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24443
24444 Support for options to appear multiple times on cmdline.
24445
24446 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24447 * grub-core/commands/extcmd.c: Support for repeatable option.
24448 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24449 repeatable option support.
24450
24451 Refactor menuentry into a regular command.
24452
24453 * grub-core/commands/menuentry.c: New file, menuentry command
24454 implementation.
24455 * grub-core/Makefile.core.def: Rule update for normal.mod.
24456 * grub-core/normal/main.c: Moved menuentry creation to
24457 grub-core/commands/menuentry.c.
24458 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24459 (grub_menu_execute_entry_real): Removed.
24460 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24461 function.
24462 (grub_script_execute_menuentry): Removed.
24463 * grub-core/script/parser.y (menuentry): Removed.
24464 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24465 * grub-core/script/yylex.l (menuentry): Removed.
24466 * include/grub/menu.h (grub_menu_init): New prototype.
24467 (grub_menu_fini): New prototype.
24468 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24469 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24470 (grub_script_execute_sourcecode): New prototype.
24471
24472 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24473
24474 "return" command for GRUB script functions.
24475
24476 * tests/grub_script_return.in: New test.
24477 * Makefile.util.def: Rules for new test.
24478
24479 * grub-core/script/execute.c (grub_script_return): New function.
24480 * grub-core/script/main.c: Register/unregister return commaond.
24481 * include/grub/script_sh.h (grub_script_return): New prototype.
24482
24483 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24484
24485 "setparams" command to update positional parameters.
24486
24487 * tests/grub_script_setparams.in: New test.
24488 * Makefile.util.def: Rules for new test.
24489
24490 * grub-core/script/argv.c (grub_script_argv_make): New function.
24491 * grub-core/script/execute.c (replace_scope): New function.
24492 (grub_script_setparams): New function.
24493 * grub-core/script/lexer.c: Remove unused variables.
24494 * grub-core/script/main.c: Register/unregister setparams command.
24495 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24496 (grub_script_setparams): New prototype.
24497
24498 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24499
24500 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24501 grub_free order.
24502
24503 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24504
24505 Support for passing block of commands as an argument to extcmds.
24506
24507 * Makefile.util.def: Rules for new test.
24508 * tests/grub_script_blockarg.in: New test.
24509 * grub-core/tests/test_blockarg.c: New file, block argument
24510 command used in the test.
24511
24512 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24513 (grub_register_extcmd_prio): New function prototype.
24514 (grub_extcmd_dispatcher): New function prototype.
24515 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24516 type.
24517 * include/grub/script_sh.h (struct grub_script): New members
24518 `children', `next_siblings' and `refcnt' for block arguments and
24519 reference counting.
24520 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24521 (grub_script_arg): New member `script' for block argument.
24522 (grub_script_argv): New member `script' for block argument.
24523 (grub_parser_param): New member `scripts' for block argument.
24524 (grub_script_mem_free): New extern function prototype.
24525 (grub_script_ref): New function prototype.
24526 (grub_script_unref): New function prototype.
24527
24528 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24529 extcmd form to support block arguments.
24530 * grub-core/script/argv.c: Block arguments support.
24531 * grub-core/script/execute.c: Likewise.
24532 * grub-core/script/lexer.c: Likewise.
24533 * grub-core/script/main.c: Likewise.
24534 * grub-core/script/script.c: Likewise.
24535 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24536 non-terminals.
24537
24538 * grub-core/commands/acpi.c: Update extcmd implementations with
24539 grub_extcmd_context_t.
24540 * grub-core/commands/cat.c: Likewise.
24541 * grub-core/commands/echo.c: Likewise.
24542 * grub-core/commands/extcmd.c: Likewise.
24543 * grub-core/commands/hashsum.c: Likewise.
24544 * grub-core/commands/hdparm.c: Likewise.
24545 * grub-core/commands/help.c: Likewise.
24546 * grub-core/commands/hexdump.c: Likewise.
24547 * grub-core/commands/i386/cpuid.c: Likewise.
24548 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24549 * grub-core/commands/i386/pc/halt.c: Likewise.
24550 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24551 * grub-core/commands/iorw.c: Likewise.
24552 * grub-core/commands/keystatus.c: Likewise.
24553 * grub-core/commands/loadenv.c: Likewise.
24554 * grub-core/commands/ls.c: Likewise.
24555 * grub-core/commands/lspci.c: Likewise.
24556 * grub-core/commands/memrw.c: Likewise.
24557 * grub-core/commands/probe.c: Likewise.
24558 * grub-core/commands/search_wrap.c: Likewise.
24559 * grub-core/commands/setpci.c: Likewise.
24560 * grub-core/commands/sleep.c: Likewise.
24561 * grub-core/disk/loopback.c: Likewise.
24562 * grub-core/hello/hello.c: Likewise.
24563 * grub-core/loader/i386/bsd.c: Likewise.
24564 * grub-core/loader/xnu.c: Likewise.
24565 * grub-core/term/gfxterm.c: Likewise.
24566 * grub-core/term/serial.c: Likewise.
24567 * grub-core/tests/lib/functional_test.c: Likewise.
24568
24569 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24570
24571 Multi-line quoted strings support.
24572
24573 * grub-core/script/lexer.c (append_newline): Removed.
24574 (grub_script_lexer_yywrap): Refactored.
24575 (grub_script_lexer_init): Refactored.
24576 * grub-core/script/yylex.l (yywrap): New function.
24577 (grub_lexer_resplit): New function.
24578 (grub_lexer_unput): New function.
24579 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24580 and resplit.
24581 * tests/grub_script_echo1.in: Added few more testcases.
24582
24583 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24584
24585 * grub-core/kern/misc.c: Don't add abort alias in utils.
24586 Reported by: echoline.
24587
24588 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24589
24590 Add missing files into "make dist" tarball for other platforms.
24591
24592 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24593 * conf/Makefile.common (dist_noinst_DATA): New variable.
24594 * conf/Makefile.extra-dist: Added missing make dist files.
24595 * grub-core/Makefile.core.def: Likewise.
24596
24597 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24598
24599 Compress grub_prefix.
24600
24601 * grub-core/boot/i386/pc/lnxboot.S: Use
24602 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24603 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24604 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24605 GRUB_MACHINE_PREFIX_END. All users updated.
24606 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24607 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24608 + 0x40.
24609 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24610 * util/grub-mkimage.c (image_target_desc): Change data_end to
24611 prefix_end. All users updated.
24612
24613 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24614
24615 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24616 value.
24617 (grub_openbsd_boot): Likewise.
24618 (grub_netbsd_boot): Likewise.
24619 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24620 (grub_xnu_boot): Likewise.
24621
24622 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24623
24624 * configure.ac: Clean LIBS variable after tests.
24625
24626 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24627
24628 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24629
24630 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24631
24632 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24633 echo if libdevmapper will be used.
24634
24635 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24636
24637 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24638 constant for the same file.
24639
24640 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24641
24642 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24643
24644 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24645
24646 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24647 grub-core/*.pp.
24648
24649 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24650
24651 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24652 required by the boot protocol.
24653
24654 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24655 ebp and edi members.
24656 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24657 state.ebp and state.edi.
24658 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24659 %ebp and %edi according to grub_relocator32_ebp and
24660 grub_relocator32_edi respectively.
24661 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24662 and state.edi.
24663
24664 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24665
24666 Add i386-pc-pxe image target.
24667
24668 * util/grub-mkimage.c (image_target_desc): New enum value
24669 IMAGE_I386_PC_PXE.
24670 (image_targets): New target i386-pc-pxe.
24671 (generate_image): Handle i386-pc-pxe image.
24672
24673 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24674
24675 Fix grub_pxe_scan.
24676
24677 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24678 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24679 All users updated.
24680 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24681 (grub_pxe_pxenv): Correct type.
24682
24683 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24684
24685 * NEWS: Document most of the important changes since 1.98.
24686
24687 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24688
24689 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24690 generated manual page) a little.
24691
24692 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24693
24694 * docs/grub.texi: Add myself as an author.
24695
24696 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24697
24698 * Makefile.util.def (libgrub.a): Add missing sunpc.
24699 Reported by: Seth Goldberg.
24700
24701 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24702
24703 Interrupt wrapping and code simplifications.
24704
24705 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24706 x86_noieee1275 which are functionaly equivalent in this case.
24707 (grub-install): Make source on each platform explicit. Enable on
24708 all noemu.
24709 * gentpl.py (x86_efi_pc): Removed group.
24710 (x86_noefi): Likewise.
24711 (i386_noefi): Likewise.
24712 (x86_noieee1275): Likewise.
24713 (i386_noieee1275): Likewise.
24714 (i386_noefi_noieee1275): Likewise.
24715 (i386_pc_qemu_coreboot): Likewise.
24716 (i386_coreboot_multiboot): Likewise.
24717 (i386_pc_coreboot_multiboot_qemu): Likewise.
24718 (x86_noefi_mips): Likewise.
24719 (noieee1275): Likewise.
24720 (ieee1275_mips): Likewise.
24721 (noemu_noieee1275): Likewise.
24722 (cmos): New group.
24723 (usb): Likewise.
24724 (videoinkernel): Likewise.
24725 (videomodules): Likewise.
24726 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
24727 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24728 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24729 include/grub/loader.h, include/grub/msdos_partition.h,
24730 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24731 include/grub/machine/console.h, include/grub/machine/vga.h,
24732 include/grub/machine/vbe.h, include/grub/machine/init.h,
24733 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24734 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
24735 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
24736 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24737 * grub-core/Makefile.core.def (kernel): Explicit the source for
24738 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24739 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24740 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24741 Use videoinkernel tag.
24742 (usb): Enable on all usb.
24743 (usbserial_common): Likewise.
24744 (usbserial_pl2303): Likewise.
24745 (usbserial_ftdi): Likewise.
24746 (uhci): Enable on all x86.
24747 (ohci): Enable on all pci.
24748 (cmostest): Enable on all CMOS.
24749 (acpi): Include commands/acpi.c on all platforms.
24750 (halt): Add relevant lib/*/halt.c.
24751 (hdparm): Enable on all pci.
24752 (lspci): Likewise.
24753 (usbtest): Enable on all usb.
24754 (ata): Enable on all pci.
24755 (ata_pthru): Likewise.
24756 (usbms): Enable on all usb.
24757 (usb_keyboard): Likewise.
24758 (font): Use tag videomodules.
24759 (bufio): Likewise.
24760 (datetime): Use tag cmos. Enable on all noemu.
24761 (mmap): Use tags common and x86.
24762 (gfxterm): Use tag videomodules.
24763 (bitmap): Likewise.
24764 (bitmap_scale): Likewise.
24765 (video_fb): Likewise.
24766 (video): Likewise.
24767 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24768 adjust padding accordingly. All users updated.
24769 (grub_ohci_transaction): Fix bad format specification.
24770 (GRUB_MOD_INIT): Add asserts for struct size.
24771 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24772 (grub_alloc_td): Likewise.
24773 (grub_free_queue): Likewise.
24774 (grub_uhci_transfer): Likewise.
24775 (grub_uhci_transaction): Fix bad format specification.
24776 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24777 (grub_usb_bulk_readwrite): Likewise.
24778 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24779 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24780 Made static.
24781 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24782 Made static.
24783 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24784 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24785 Transformed into C.
24786 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24787 Moved from here ...
24788 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24789 ... here. Transformed into C. Made static.
24790 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24791 Moved from here ...
24792 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24793 ... here. Transformed into C. Made static.
24794 * grub-core/kern/i386/pc/startup.S
24795 (grub_biosdisk_check_int13_extensions): Moved from here ...
24796 * grub-core/disk/i386/pc/biosdisk.c
24797 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24798 Made static.
24799 * grub-core/kern/i386/pc/startup.S
24800 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24801 * grub-core/disk/i386/pc/biosdisk.c
24802 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24803 Transformed into C. Made static.
24804 * grub-core/kern/i386/pc/startup.S
24805 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24806 * grub-core/disk/i386/pc/biosdisk.c
24807 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24808 Transformed into C. Made static.
24809 * grub-core/kern/i386/pc/startup.S
24810 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24811 * grub-core/disk/i386/pc/biosdisk.c
24812 (grub_biosdisk_get_diskinfo_standard): ... here.
24813 Transformed into C. Made static.
24814 * grub-core/kern/i386/pc/startup.S
24815 (grub_biosdisk_get_num_floppies): Moved from here ...
24816 * grub-core/disk/i386/pc/biosdisk.c
24817 (grub_biosdisk_get_num_floppies): ... here.
24818 Transformed into C. Made static.
24819 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24820 New function.
24821 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24822 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24823 Transformed into C. Made static.
24824 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24825 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24826 Transformed into C. Made static.
24827 * grub-core/kern/i386/ieee1275/init.c: Removed.
24828 * grub-core/kern/i386/misc.S: Likewise.
24829 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24830 Splitted from here ...
24831 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24832 Transformed into C. Made static. All users updated.
24833 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24834 Transformed into C. Made static. All users updated.
24835 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24836 Moved from here...
24837 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24838 Transformed into C. Made static. All users updated.
24839 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24840 Moved from here...
24841 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24842 Transformed into C. Made static. All users updated.
24843 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24844 Removed (replaced by C version).
24845 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24846 Moved from here...
24847 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24848 Transformed into C. Made static.
24849 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24850 Moved from here...
24851 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24852 ... here. Transformed into C.
24853 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24854 Moved from here...
24855 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24856 ... here. Transformed into C.
24857 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24858 Moved from here...
24859 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24860 ... here. Transformed into C. Made static.
24861 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24862 Moved from here...
24863 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24864 ... here. Transformed into C.
24865 * grub-core/kern/i386/pc/startup.S
24866 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24867 * grub-core/video/i386/pc/vbe.c
24868 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
24869 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24870 Moved from here...
24871 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24872 ... here. Transformed into C.
24873 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24874 Moved from here...
24875 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24876 ... here. Transformed into C.
24877 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24878 Moved from here...
24879 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24880 ... here. Transformed into C.
24881 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24882 Moved from here...
24883 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24884 ... here. Transformed into C.
24885 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24886 Moved from here...
24887 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24888 ... here. Transformed into C. Made static.
24889 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24890 Moved from here...
24891 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24892 ... here. Transformed into C. Made static.
24893 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24894 Moved from here...
24895 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24896 ... here. Transformed into C. Made static.
24897 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24898 pxe_rm_entry as third argument.
24899 (grub_bios_interrupt): New function.
24900 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24901 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24902 of calling grub_stop.
24903 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24904 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24905 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24906 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24907 * grub-core/lib/i386/halt.c: Moved from here ...
24908 * grub-core/lib/i386/halt.c: ... here.
24909 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24910 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24911 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24912 grub_stop_floppy.
24913 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24914 * include/grub/i386/coreboot/init.h: Removed.
24915 * include/grub/i386/multiboot/init.h: Likewise.
24916 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24917 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24918 * include/grub/i386/pc/int.h: New file.
24919 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24920 (grub_pxe_scan): Removed.
24921 (grub_pxe_call): Update prototype.
24922 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24923 prototypes.
24924 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24925 * include/grub/i386/qemu/init.h: Removed.
24926 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24927 noreturn.
24928 (grub_halt): Likewise.
24929 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24930 (grub_reboot): Likewise.
24931 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24932 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
24933 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24934
24935 2010-08-30 Robert Millan <rmh@gnu.org>
24936
24937 * NEWS: Document addition of ZFS support in `grub-install' and
24938 `grub-mkconfig'.
24939
24940 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24941
24942 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24943 dprintf output.
24944
24945 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24946
24947 Remove leftover embedding of font objects.
24948
24949 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24950 * util/grub-install.in (font): Removed.
24951 * util/grub-mkimage.c (generate_image): Remove font support. All users
24952 updated.
24953
24954 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24955
24956 Remove leftover embedding of font objects.
24957
24958 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24959 * util/grub-install.in (font): Removed.
24960 * util/grub-mkimage.c (generate_image): Remove font support. All users
24961 updated.
24962
24963 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24964
24965 * docs/grub.texi (Network): Fix reference to pxe_blksize.
24966 Reported by: Ian Turner
24967
24968 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24969
24970 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24971 timeout to avoid indefinite boot stalling.
24972
24973 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24976 (grub_env_write_color_highlight): Likewise.
24977
24978 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24979
24980 * grub-core/normal/term.c (print_more): Return to normal and not
24981 to standard state after printing "---MORE---".
24982
24983 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24984
24985 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24986 Mask out the bit 0x80 since it has other meaning that specifiing color.
24987
24988 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24989
24990 New relocator. Allows for more kernel support and more straightforward
24991 loader writing.
24992
24993 * Makefile.am (BOOTTARGET): New variable.
24994 (QEMU32): Likewise.
24995 (linux.init.x86_64): New target.
24996 (linux.init.i386): Likewise.
24997 (multiboot.elf): Likewise.
24998 (kfreebsd.elf): Likewise.
24999 (kfreebsd.aout): Likewise.
25000 (pc-chainloader.elf): Likewise.
25001 (pc-chainloader.bin): Likewise.
25002 (ntldr.elf): Likewise.
25003 (ntldr.bin): Likewise.
25004 (multiboot2.elf): Likewise.
25005 (kfreebsd.init.x86_64): Likewise.
25006 (kfreebsd.init.i386): Likewise.
25007 (knetbsd.init.i386): Likewise.
25008 (kopenbsd.init.i386): Likewise.
25009 (knetbsd.init.x86_64): Likewise.
25010 (kopenbsd.init.x86_64): Likewise.
25011 (linux-initramfs.i386): Likewise.
25012 (linux-initramfs.x86_64): Likewise.
25013 (kfreebsd-mfsroot.i386.img): Likewise.
25014 (knetbsd.image.i386): Likewise.
25015 (kopenbsd.image.i386): Likewise.
25016 (kopenbsd.image.x86_64): Likewise.
25017 (knetbsd.miniroot-image.i386.img): Likewise.
25018 (kfreebsd-mfsroot.x86_64.img): Likewise.
25019 (knetbsd.image.x86_64): Likewise.
25020 (knetbsd.miniroot-image.x86_64.img): Likewise.
25021 (kfreebsd-mfsroot.i386.gz): Likewise.
25022 (bootcheck-kfreebsd-i386): Likewise.
25023 (kfreebsd-mfsroot.x86_64.gz): Likewise.
25024 (bootcheck-kfreebsd-x86_64): Likewise.
25025 (knetbsd.miniroot-image.i386.gz): Likewise.
25026 (bootcheck-knetbsd-i386): Likewise.
25027 (bootcheck-kopenbsd-i386): Likewise.
25028 (bootcheck-kopenbsd-x86_64): Likewise.
25029 (knetbsd.miniroot-image.x86_64.gz): Likewise.
25030 (bootcheck-knetbsd-x86_64): Likewise.
25031 (bootcheck-linux-i386): Likewise.
25032 (bootcheck-linux-x86_64): Likewise.
25033 (bootcheck-linux16-i386): Likewise.
25034 (bootcheck-linux16-x86_64): Likewise.
25035 (bootcheck-multiboot): Likewise.
25036 (bootcheck-multiboot2): Likewise.
25037 (bootcheck-kfreebsd-aout): Likewise.
25038 (bootcheck-pc-chainloader): Likewise.
25039 (bootcheck-ntldr): Likewise.
25040 (CLEANFILES): Add new targets.
25041 (BOOTCHECKS): New variable.
25042 (.PHONY): Add bootchecks.
25043 (SUCCESSFUL_BOOT_STRING): New variable.
25044 (BOOTCHECK_TIMEOUT): Likewise.
25045 (bootcheck): New target
25046 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
25047 * configure.ac: Correct efiemu excuse.
25048 * docs/grub.texi (Supported kernels): New chapter.
25049 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
25050 include/grub/mm_private.h. Simplify inclusion of
25051 include/grub/boot.h, include/grub/loader.h
25052 and include/grub/msdos_partition.h
25053 (KERNEL_HEADER_FILES) [i386_coreboot]:
25054 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
25055 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
25056 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
25057 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
25058 include/grub/machine/loader.h.
25059 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
25060 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
25061 extra_dist.
25062 (pci.mod): Enable on i386-multiboot.
25063 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
25064 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
25065 i386-qemu.
25066 (relocator.mod): Rewritten.
25067 (aout.mod): Enable on all x86.
25068 (bsd.mod): Likewise.
25069 (ntldr.mod): New module.
25070 (linux.mod): Use loader/i386/linux.c on all x86.
25071 (xnu.mod): Enable on all x86.
25072 (vga_text.mod): disable on EFI and QEMU.
25073 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
25074 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
25075 * grub-core/efiemu/loadcore.c: Likewise.
25076 * grub-core/efiemu/main.c: Likewise.
25077 (grub_efiemu_exit_boot_services): Removed.
25078 (grub_efiemu_finish_boot_services): Likewise.
25079 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
25080 function.
25081 * grub-core/efiemu/i386/nocfgtables.c: New file.
25082 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
25083 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
25084 (grub_efi_finish_boot_services): Moved from here ...
25085 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
25086 Fille finish memory map and related data.
25087 (finish_mmap_buf): New variable.
25088 (grub_efi_uintn_t finish_mmap_size): Likewise.
25089 (grub_efi_uintn_t finish_key): Likewise.
25090 (grub_efi_uintn_t finish_desc_size): Likewise.
25091 (grub_efi_uint32_t finish_desc_version): Likewise.
25092 (grub_efi_is_finished): Likewise.
25093 (grub_efi_get_memory_map): Use saved memory map if EFI is already
25094 finished.
25095 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
25096 (grub_elf64_phdr_iterate): Likewise.
25097 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
25098 (grub_os_area_size): Likewise.
25099 (grub_machine_init): Don't reserve os area.
25100 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
25101 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
25102 * grub-core/kern/i386/loader.S: Removed.
25103 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
25104 (grub_os_area_size): Likewise.
25105 (grub_machine_init): Don't reserve os area.
25106 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25107 Don't call grub_dl_unload_all.
25108 Don't include loader.S.
25109 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25110 Declare the memory after _end as available.
25111 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
25112 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
25113 (GRUB_MM_ALLOC_MAGIC): Moved from here...
25114 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25115 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25116 * include/grub/mm_private.h (grub_mm_header): ... here.
25117 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25118 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
25119 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25120 (grub_mm_region): ..here. Removed addr. Added pre_size.
25121 All users updated.
25122 * grub-core/kern/mm.c (base): Renamed to ...
25123 (grub_mm_base): ... this. Made global.
25124 (grub_real_malloc): Alloc from end of region.
25125 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25126 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25127 * grub-core/kern/powerpc/cache_flush.S: ... here.
25128 * grub-core/lib/efi/relocator.c: New file.
25129 * grub-core/lib/i386/relocator.c: Rewritten.
25130 * grub-core/lib/i386/relocator16.S: New file.
25131 * grub-core/lib/i386/relocator32.S: Likewise.
25132 * grub-core/lib/i386/relocator64.S: Likewise.
25133 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25134 * grub-core/lib/i386/relocator_common.S: New file.
25135 * grub-core/lib/ieee1275/relocator.c: Likewise.
25136 * grub-core/lib/mips/relocator.c: Rewritten.
25137 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25138 stylistic adjustments.
25139 * grub-core/lib/powerpc/relocator.c: New file.
25140 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25141 * grub-core/lib/relocator.c: Rewritten.
25142 * grub-core/lib/x86_64/relocator_asm.S: New file.
25143 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25144 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25145 (bsd_tag): New struct.
25146 (tags): New variable.
25147 (tags_last): Likewise.
25148 (netbsd_module): New struct.
25149 (netbsd_mods): New variable.
25150 (netbsd_mods_last): Likewise.
25151 (openbsd_opts): New parameter "serial".
25152 (OPENBSD_SERIAL_ARG): New definition.
25153 (netbsd_opts): New parameter "serial".
25154 (NETBSD_SERIAL_ARG): New definition.
25155 (grub_freebsd_add_meta): Reorganised into ...
25156 (grub_bsd_add_meta): ...this. All users updated.
25157 (grub_freebsd_add_mmap): Reorganised into ...
25158 (generate_e820_mmap): ...this...
25159 (grub_bsd_add_mmap): ...and this. All users updated.
25160 (grub_freebsd_list_modules): Use tags.
25161 (grub_netbsd_add_meta_module): New function.
25162 (grub_netbsd_list_modules): Likewise.
25163 (grub_freebsd_boot): Use relocator and finish EFI.
25164 (grub_openbsd_boot): Likewise.
25165 (grub_netbsd_setup_video): New function.
25166 (grub_netbsd_add_modules): Likewise.
25167 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25168 and finish EFI.
25169 (grub_bsd_unload): Unload tags.
25170 (grub_bsd_load_aout): Use relocator.
25171 (grub_bsd_elf32_size_hook): New function.
25172 (grub_bsd_elf32_hook): Use relocator.
25173 (grub_bsd_elf64_size_hook): New function.
25174 (grub_bsd_elf64_hook): Use relocator.
25175 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25176 (grub_bsd_load): Zero-out openbsd_ramdisk.
25177 (grub_bsd_load): Use relocator.
25178 (grub_cmd_openbsd): Support serial.
25179 (grub_cmd_netbsd): Support modules.
25180 (grub_cmd_freebsd_module): Use relocator.
25181 (grub_netbsd_module_load): New function.
25182 (grub_cmd_netbsd_module): Likewise.
25183 (grub_cmd_openbsd_ramdisk): Likewise.
25184 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25185 kopenbsd_ramdisk.
25186 (GRUB_MOD_FINI): Unregister new commands.
25187 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25188 (grub_freebsd_load_elfmodule_obj): Use relocator.
25189 (grub_freebsd_load_elfmodule): Likewise.
25190 (grub_freebsd_load_elf_meta): Likewise.
25191 (grub_netbsd_load_elf_meta): New function.
25192 (grub_openbsd_find_ramdisk): Likewise.
25193 * grub-core/loader/i386/bsd_helper.S: Removed.
25194 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25195 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25196 * grub-core/loader/i386/efi/linux.c: Likewise.
25197 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25198 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25199 (DEFAULT_VIDEO_MODE): Likewise.
25200 (real_mode_target): New variable.
25201 (prot_mode_target): Likewise.
25202 (initrd_mem_target): Likewise.
25203 (relocator): Likewise.
25204 (efi_mmap_buf): Likewise.
25205 (efi_mmap_size): Likewise.
25206 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25207 (free_pages): Use relocator.
25208 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25209 (grub_linux_setup_video): Return error.
25210 (grub_linux_trampoline_start): Removed.
25211 (grub_linux_trampoline_end): Likewise.
25212 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25213 andd video parameters depending on firmware.
25214 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25215 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25216 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25217 (grub_cmd_initrd): Use relocator.
25218 * grub-core/loader/i386/linux_trampoline.S: Removed.
25219 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25220 (elf_sec_entsize): Likewise.
25221 (elf_sec_shstrndx): Likewise.
25222 (elf_sections): Likewise.
25223 (grub_multiboot_load): Use relocator.
25224 (grub_multiboot_get_mbi_size): Account for sections.
25225 (grub_multiboot_make_mbi): Use relocator and support sections.
25226 (grub_multiboot_add_elfsyms): New function.
25227 (grub_multiboot_free_mbi): Free sections.
25228 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25229 (grub_linux_real_target): Likewise.
25230 (grub_linux_real_chunk): Likewise.
25231 (grub_linux16_prot_size): Likewise.
25232 (grub_linux16_boot): Use relocator.
25233 (grub_linux_unload): Unload relocator.
25234 (grub_cmd_linux): Use relocator.
25235 (grub_cmd_initrd): Likewise.
25236 * grub-core/loader/i386/pc/ntldr.c: New file.
25237 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25238 Don't try to guess CPU frequency.
25239 (grub_xnu_set_video): Stretch bitmap.
25240 (grub_xnu_boot): Use relocator.
25241 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25242 (grub_linux_unload): Free relocator.
25243 (grub_linux_load32): Use relocator.
25244 (grub_linux_load64): Likewise.
25245 (grub_cmd_initrd): Likewise.
25246 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25247 (grub_multiboot_unload): Unload relocator.
25248 (grub_cmd_multiboot): Use relocator.
25249 (grub_cmd_module): Likewise.
25250 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25251 Use relocator and support sections.
25252 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25253 (elf_sec_entsize): Likewise.
25254 (elf_sec_shstrndx): Likewise.
25255 (elf_sections): Likewise.
25256 (grub_multiboot_load): Use relocator.
25257 (grub_multiboot_get_mbi_size): Account for sections.
25258 (grub_multiboot_make_mbi): Use relocator and support sections.
25259 (grub_multiboot_add_elfsyms): New function.
25260 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25261 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25262 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25263 Prototype changed. All users updated.
25264 (grub_xnu_align_heap): Simplified.
25265 (grub_xnu_writetree_toheap): Likewise.
25266 (grub_xnu_unload): Unload relocator.
25267 (grub_cmd_xnu_kernel): Use relocator.
25268 (grub_cmd_xnu_kernel64): Likewise.
25269 (grub_xnu_register_memory): Simplified.
25270 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
25271 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25272 EFI is finished.
25273 (grub_console_checkkey): Likewise.
25274 (grub_console_getkey): Likewise.
25275 (grub_console_getwh): Likewise.
25276 (grub_console_getxy): Likewise.
25277 (grub_console_gotoxy): Likewise.
25278 (grub_console_cls): Likewise.
25279 (grub_console_setcolorstate): Likewise.
25280 (grub_console_setcursor): Likewise.
25281 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25282 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25283 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25284 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25285 * grub-core/tests/boot/kernel-8086.S: Likewise.
25286 * grub-core/tests/boot/kernel-i386.S: Likewise.
25287 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25288 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25289 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25290 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25291 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25292 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25293 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25294 * grub-core/tests/boot/linux.cfg: Likewise.
25295 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25296 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25297 * grub-core/tests/boot/linux16.cfg: Likewise.
25298 * grub-core/tests/boot/multiboot.cfg: Likewise.
25299 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25300 * grub-core/tests/boot/ntldr.cfg: Likewise.
25301 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25302 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25303 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25304 New definition.
25305 * include/grub/dl.h (grub_dl_unload_all): Removed.
25306 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25307 (grub_efi_finish_boot_services): Change prototype.
25308 (grub_efi_is_finished): New variable.
25309 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25310 Changed prototype.
25311 (grub_efiemu_finish_boot_services): Removed.
25312 (grub_machine_efiemu_init_tables): New prototype.
25313 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25314 (grub_elf64_phdr_iterate): Likewise.
25315 * include/grub/i386/bsd.h: Include relocator.h.
25316 (freebsd_tag_header): New struct.
25317 (grub_openbsd_bios_mmap): Removed.
25318 (grub_unix_real_boot): Removed.
25319 (grub_freebsd_load_elfmodule32): Changed prototype.
25320 (grub_freebsd_load_elfmodule_obj64): Likewise.
25321 (grub_freebsd_load_elf_meta32): Likewise.
25322 (grub_freebsd_load_elf_meta64): Likewise.
25323 (grub_freebsd_add_meta): Removed.
25324 (grub_netbsd_load_elf_meta32): New prototype.
25325 (grub_netbsd_load_elf_meta64): Likewise.
25326 (grub_bsd_add_meta): Likewise.
25327 (grub_openbsd_ramdisk_descriptor): New struct.
25328 (grub_openbsd_find_ramdisk32): New prototype.
25329 (grub_openbsd_find_ramdisk64): Likewise.
25330 * include/grub/i386/coreboot/loader.h: Removed.
25331 * include/grub/i386/efi/loader.h: Likewise.
25332 * include/grub/i386/ieee1275/loader.h: Likewise.
25333 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25334 to grub_uint32_t.
25335 * include/grub/i386/loader.h: Removed.
25336 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25337 value.
25338 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25339 (grub_phys_addr_t): New type.
25340 (grub_vtop): New inline function.
25341 (grub_map_memory): Likewise.
25342 (grub_unmap_memory): Likewise.
25343 * include/grub/i386/multiboot/loader.h: Removed.
25344 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25345 (NETBSD_BTINFO_CONSOLE): New definition.
25346 (NETBSD_BTINFO_SYMTAB): Likewise.
25347 (NETBSD_BTINFO_MODULES): Likewise.
25348 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25349 (grub_netbsd_bootinfo): New struct.
25350 (grub_netbsd_btinfo_common): Use explicit bitsize.
25351 (grub_netbsd_btinfo_mmap_entry): Removed.
25352 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25353 (grub_netbsd_btinfo_bootdisk): New struct.
25354 (grub_netbsd_btinfo_symtab): Likewise.
25355 (grub_netbsd_btinfo_serial): Likewise.
25356 (grub_netbsd_btinfo_modules): Likewise.
25357 (grub_netbsd_btinfo_framebuf): Likewise.
25358 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25359 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25360 Likewise.
25361 (grub_openbsd_bootargs): Use explicit bitsize.
25362 (grub_openbsd_bootarg_console): New struct.
25363 (GRUB_OPENBSD_COM_MAJOR): New definition.
25364 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25365 * include/grub/i386/pc/efiemu.h: Removed.
25366 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25367 * include/grub/i386/qemu/loader.h: Removed.
25368 * include/grub/i386/relocator.h: Rewritten.
25369 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25370 * include/grub/mips/memory.h: New file.
25371 * include/grub/mips/multiboot.h: Rewritten.
25372 * include/grub/mips/relocator.h: Rewritten.
25373 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25374 (grub_vtop): New function.
25375 (grub_map_memory): Likewise.
25376 (grub_unmap_memory): Likewise.
25377 * include/grub/misc.h (ALIGN_DOWN): New definition.
25378 * include/grub/mm.h (grub_mm_check_real): New proto.
25379 (GRUB_MM_CHECK): New definition.
25380 * include/grub/mm_private.h: New file.
25381 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25382 (grub_multiboot_get_mbi_size): Removed.
25383 (grub_multiboot_make_mbi): Change prottype.
25384 (grub_multiboot_set_accepts_video): New proto.
25385 (grub_multiboot_add_elfsyms): Likewise.
25386 (grub_multiboot_payload_eip): New variable.
25387 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25388 New prototype.
25389 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25390 New definition.
25391 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25392 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25393 * include/grub/powerpc/ieee1275/loader.h: Removed.
25394 * include/grub/powerpc/memory.h: New file.
25395 * include/grub/powerpc/relocator.h: Likewise.
25396 * include/grub/relocator.h: Likewise.
25397 * include/grub/relocator_private.h: Likewise.
25398 * include/grub/sparc64/ieee1275/loader.h: Removed.
25399 * include/grub/x86_64/memory.h: New file.
25400 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25401 (grub_xnu_heap_malloc): Likewise.
25402 (grub_xnu_heap_real_start): Removed.
25403 (grub_xnu_heap_start): Likewise.
25404 (grub_xnu_relocator): New variable.
25405 (grub_xnu_heap_target_start): Likewise.
25406 * tests/util/grub-shell.in: Support non-pc.
25407 * util/grub-mkimage.c (image_targets): Fix multiboot target.
25408
25409 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25410
25411 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25412 on malloc error.
25413 (grub_bidi_logical_to_visual): Check that malloc succeded.
25414 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25415 puts.
25416 (grub_xputs_normal): Likewise.
25417
25418 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25419
25420 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25421 extra_dist.
25422
25423 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25424
25425 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25426
25427 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25428
25429 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25430
25431 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25432
25433 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25434 dprintf.
25435
25436 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25437
25438 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25439
25440 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25441
25442 * grub-core/normal/term.c (print_more): Fix a memory leak.
25443 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25444 (grub_xputs_normal): Likewise.
25445
25446 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25447
25448 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25449 the begining of the string
25450
25451 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 * grub-core/script/script.c (grub_script_parse): Free parsed on
25454 failure.
25455
25456 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25457
25458 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25459 on failure.
25460
25461 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25462
25463 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25464 return.
25465
25466 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25467
25468 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25469 (scroll_up): Fix a memory leak.
25470
25471 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25472
25473 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25474 errors.
25475
25476 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 Handle USB pendrives exposed as floppies.
25479
25480 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25481 floppy.
25482 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25483 Check for partitions on all devices.
25484
25485 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25486
25487 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25488 (readkey): Likewise.
25489
25490 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25491
25492 Multiple variable names support to "export" command.
25493
25494 * normal/context.c (grub_cmd_export): "export" command supports
25495 multiple variable names.
25496
25497 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25498
25499 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25500 --target=drive output to Mach device name.
25501
25502 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25503
25504 New Automake based build system for GRUB.
25505
25506 * ABOUT-NLS: New file.
25507 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25508 in Makefile.util.def file.
25509 * Makefile.util.def: New file. Autogen build definitions file for
25510 GRUB host utils.
25511 * conf/Makefile.common: New file. Common variables for GRUB host
25512 utils and target modules.
25513 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25514 * docs/Makefile.am: New file. Automake file for docs.
25515 * gentpl.py: New file. Python script to generate Autogen
25516 template.
25517 * grub-core/Makefile.am: New file. GRUB target modules' rules
25518 that doesn't fit in Makefile.core.def file.
25519 * grub-core/Makefile.core.def: New file. Autogen build
25520 definitions file for GRUB target modules.
25521 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25522 specific setjmp.S file.
25523 * po/Makefile.am: New file.
25524
25525 * .bzrignore: New ignores.
25526 * INSTALL: New requirements, without Ruby.
25527 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25528 * autogen.sh: Updated to invoke autogen as necessary.
25529 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25530 and defines for Automake conditionals.
25531 * geninit.sh: Refactoring.
25532
25533 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25534 necessary.
25535 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25536 New prototype.
25537
25538 * include/grub/test.h: Fix functional test modules' naming.
25539 * grub-core/tests/example_functional_test.c: Fix test module name.
25540
25541 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25542 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25543 * util/grub-editenv.c: Likewise.
25544 * util/grub-fstest.c: Likewise.
25545 * util/grub-mkdevicemap.c: Likewise.
25546 * util/grub-mkfont.c: Likewise.
25547 * util/grub-mkimage.c: Likewise.
25548 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25549 * util/grub-probe.c: Likewise.
25550 * util/grub-script-check.c: Likewise.
25551 * util/i386/pc/grub-setup.c: Likewise.
25552 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25553
25554 * tests/util/grub-shell.in: Fix override directory path.
25555 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25556 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25557
25558 * util/lvm.c: Update #includes.
25559 * util/raid.c: Likewise.
25560 * util/resolve.c: Likewise.
25561 * grub-core/bus/emu/pci.c: Likewise.
25562 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25563 * grub-core/lib/posix_wrap/string.h: Likewise.
25564 * grub-core/kern/emu/main.c: Likewise.
25565
25566 * grub-core/gensymlist.sh: New file. Script for generating kernel
25567 symbols file.
25568 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25569
25570 * grub-core/gentrigtables.c: Fix unused variable warnings.
25571
25572 * Makefile.in: Removed.
25573 * conf/any-emu.rmk: Removed.
25574 * conf/common.rmk: Removed.
25575 * conf/i386-coreboot.rmk: Removed.
25576 * conf/i386-efi.rmk: Removed.
25577 * conf/i386-ieee1275.rmk: Removed.
25578 * conf/i386-multiboot.rmk: Removed.
25579 * conf/i386-pc.rmk: Removed.
25580 * conf/i386-qemu.rmk: Removed.
25581 * conf/i386.rmk: Removed.
25582 * conf/mips-yeeloong.rmk: Removed.
25583 * conf/mips.rmk: Removed.
25584 * conf/powerpc-ieee1275.rmk: Removed.
25585 * conf/sparc64-ieee1275.rmk: Removed.
25586 * conf/tests.rmk: Removed.
25587 * conf/x86-efi.rmk: Removed.
25588 * conf/x86_64-efi.rmk: Removed.
25589 * gendistlist.sh: Removed.
25590 * geninitheader.sh: Removed.
25591 * genkernsyms.sh.in: Removed.
25592 * genmk.rb: Removed.
25593 * gensymlist.sh.in: Removed.
25594 * mkinstalldirs: Removed.
25595 * boot: Moved ...
25596 * grub-core/boot: ... to here.
25597 * bus: Moved ...
25598 * grub-core/bus: ... to here.
25599 * commands: Moved ...
25600 * grub-core/commands: ... to here.
25601 * disk: Moved ...
25602 * grub-core/disk: ... to here.
25603 * efiemu: Moved ...
25604 * grub-core/efiemu: ... to here.
25605 * font: Moved ...
25606 * grub-core/font: ... to here.
25607 * fs: Moved ...
25608 * grub-core/fs: ... to here.
25609 * gencmdlist.sh: Moved ...
25610 * grub-core/gencmdlist.sh: ... to here.
25611 * genemuinit.sh: Moved ...
25612 * grub-core/genemuinit.sh: ... to here.
25613 * genemuinitheader.sh: Moved ...
25614 * grub-core/genemuinitheader.sh: ... to here.
25615 * genfslist.sh: Moved ...
25616 * grub-core/genfslist.sh: ... to here.
25617 * genhandlerlist.sh: Moved ...
25618 * grub-core/genhandlerlist.sh: ... to here.
25619 * genmoddep.awk: Moved ...
25620 * grub-core/genmoddep.awk: ... to here.
25621 * genmodsrc.sh: Moved ...
25622 * grub-core/genmodsrc.sh: ... to here.
25623 * genpartmaplist.sh: Moved ...
25624 * grub-core/genpartmaplist.sh: ... to here.
25625 * genparttoollist.sh: Moved ...
25626 * grub-core/genparttoollist.sh: ... to here.
25627 * genterminallist.sh: Moved ...
25628 * grub-core/genterminallist.sh: ... to here.
25629 * gentrigtables.c: Moved ...
25630 * grub-core/gentrigtables.c: ... to here.
25631 * genvideolist.sh: Moved ...
25632 * grub-core/genvideolist.sh: ... to here.
25633 * gettext: Moved ...
25634 * grub-core/gettext: ... to here.
25635 * gfxmenu: Moved ...
25636 * grub-core/gfxmenu: ... to here.
25637 * gnulib: Moved ...
25638 * grub-core/gnulib: ... to here.
25639 * hello: Moved ...
25640 * grub-core/hello: ... to here.
25641 * hook: Moved ...
25642 * grub-core/hook: ... to here.
25643 * io: Moved ...
25644 * grub-core/io: ... to here.
25645 * kern: Moved ...
25646 * grub-core/kern: ... to here.
25647 * lib: Moved ...
25648 * grub-core/lib: ... to here.
25649 * loader: Moved ...
25650 * grub-core/loader: ... to here.
25651 * mmap: Moved ...
25652 * grub-core/mmap: ... to here.
25653 * normal: Moved ...
25654 * grub-core/normal: ... to here.
25655 * partmap: Moved ...
25656 * grub-core/partmap: ... to here.
25657 * parttool: Moved ...
25658 * grub-core/parttool: ... to here.
25659 * script: Moved ...
25660 * grub-core/script: ... to here.
25661 * term: Moved ...
25662 * grub-core/term: ... to here
25663 * tests/example_functional_test.c: Moved ...
25664 * grub-core/tests/example_functional_test.c: ... to here.
25665 * tests/lib/functional_test.c: Moved ...
25666 * grub-core/tests/lib/functional_test.c: ... to here.
25667 * tests/lib/test.c: Moved ...
25668 * grub-core/tests/lib/test.c: ... to here.
25669 * video: Moved ...
25670 * grub-core/video: ... to here.
25671
25672 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25673
25674 Replace --enable-grub-emu-modules with grub-emu-lite.
25675
25676 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25677 cache.S.
25678
25679 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25680 * kern/emu/full.c: New file. For grub-emu specific initialization.
25681 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25682 * kern/emu/main.c: Call initialization function grub_emu_init.
25683
25684 * Makefile.in: Include grub-emu-lite in install.
25685 * commands/parttool.c: Use grub_no_autoload to differentiate
25686 between grub-emu and grub-emu-lite.
25687 * include/grub/misc.h: New variable grub_no_autoload.
25688
25689 * conf/any-emu.rmk: New rules for grub-emu-lite.
25690 * configure.ac: Remove --enable-grub-emu-modules.
25691 * genmk.rb: Cleanup unnecessary rules.
25692 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25693
25694 * normal/main.c: Don't load list files on grub-emu-lite.
25695 * util/misc.c (grub_arch_sync_caches): Removed.
25696
25697 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
25698
25699 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25700 grub-mkimage rather than grub-mkelfimage.
25701 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25702
25703 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25704
25705 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25706 a key after CapsLock or NumLock. It's just a qemu bug.
25707
25708 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25709
25710 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25711 needed by libusb wrapper.
25712
25713 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25714
25715 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25716
25717 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25718
25719 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25720 --nounzip is passed.
25721
25722 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25723
25724 USB hotunplugging and USB serial support.
25725
25726 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25727 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25728 (grub_uhci_transfer): Respect timeout and set *actual.
25729 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25730 non-standard length.
25731 (grub_usb_device_attach): Autoload modules.
25732 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25733 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25734 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25735 users updated.
25736 (grub_usb_add_hub): Fill nports and children.
25737 (attach_root_port): Receive hub instead of controller.
25738 All users updated. Fill hub->devices.
25739 (grub_usb_root_hub): Allocate hub->devices.
25740 (detach_device): New function.
25741 (poll_nonroot_hub): Fill children and detach devices.
25742 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25743 actual arguments. All users updated.
25744 (grub_usb_bulk_read_extended): New function.
25745 * bus/usb/serial/common.c: New file.
25746 * bus/usb/serial/ftdi.c: Likewise.
25747 * bus/usb/serial/pl2303.c: Likewise.
25748 * commands/terminal.c (handle_command): Support wildcard.
25749 * commands/usbtest.c: Output "Unknown" instead of empty string.
25750 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25751 (usbserial_common_mod_SOURCES): New variable.
25752 (usbserial_common_mod_CFLAGS): Likewise.
25753 (usbserial_common_mod_LDFLAGS): Likewise.
25754 (pkglib_MODULES): Add usbserial_pl2303.mod.
25755 (usbserial_pl2303_mod_SOURCES): New variable.
25756 (usbserial_pl2303_mod_CFLAGS): Likewise.
25757 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25758 (pkglib_MODULES): Add usbserial_ftdi.mod.
25759 (usbserial_ftdi_mod_SOURCES): New variable.
25760 (usbserial_ftdi_mod_CFLAGS): Likewise.
25761 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25762 (pkglib_MODULES): Add serial.mod.
25763 (serial_mod_SOURCES): New variable.
25764 (serial_mod_CFLAGS): Likewise.
25765 (serial_mod_LDFLAGS): Likewise.
25766 * conf/i386-pc.rmk: Likewise.
25767 * conf/mips-yeeloong.rmk: Likewise.
25768 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25769 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25770 * disk/usbms.c (first_available_slot): New variable.
25771 (grub_usbms_attach): Don't reuse free slots due to potential cache
25772 problems.
25773 * include/grub/serial.h: Moved to ..
25774 * include/grub/ns8250.h: ...this.
25775 * include/grub/serial.h: New file.
25776 * include/grub/term.h (grub_term_poll_usb): New variable.
25777 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25778 readkey. All users updated.
25779 (grub_terminfo_output_state): Pass term to put.
25780 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25781 (grub_usb_controller_dev): Add timeout and actual arguments to
25782 transfer. All users updated.
25783 (grub_usb_interface): New field detach_data.
25784 (grub_usb_device): New fields children and nports.
25785 (grub_usb_ep_type_t): New type.
25786 (grub_usb_get_ep_type): New function.
25787 (grub_usb_bulk_read_extended): Likewise.
25788 * include/grub/usbdesc.h (grub_usb_desc): New type.
25789 * include/grub/usbserial.h: New file.
25790 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25791 * kern/term.c (grub_term_poll_usb): New variable.
25792 (grub_getkey): Call grub_term_poll_usb if set.
25793 (grub_checkkey): Likewise.
25794 (grub_getkeystatus): Likewise.
25795 * term/serial.c: Moved controller-specific parts to ...
25796 * term/ns8250.c: ... here.
25797 * term/serial.c: Mostly rewritten.
25798 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25799 according to spec.
25800
25801 2010-08-20 Robert Millan <rmh@gnu.org>
25802
25803 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25804 a separate module and maybe other interesting combinations.
25805
25806 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25807 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25808 (kfreebsd_entry): Add generic filesystem module load routine.
25809 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25810
25811 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25812
25813 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25814 "numcenter" (I misunderstood the purpose of this entry).
25815 * docs/grub.texi (sendkey): Likewise.
25816
25817 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25818
25819 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25820 status flag options; simply omitting the option is equivalent and
25821 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25822 (keysym_table): Rename "num5numlock" to "numlock".
25823 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25824 can uniformly say that only the last of multiple `sendkey'
25825 invocations has any effect.
25826 * docs/grub.texi (sendkey): New section.
25827
25828 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
25829
25830 * commands/i386/pc/sendkey.c (options): Fix three typos.
25831
25832 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25833
25834 Implement sendkey support.
25835
25836 * commands/i386/pc/sendkey.c: New file.
25837 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25838 (sendkey_mod_SOURCES): New variable.
25839 (sendkey_mod_CFLAGS): Likewise.
25840 (sendkey_mod_LDFLAGS): Likewise.
25841
25842 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25843
25844 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25845 fix warnings from Autoconf.
25846
25847 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25848
25849 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25850 to avoid false positives with some assemblers that output things
25851 like "someprefix_func" as part of their output.
25852
25853 2010-08-15 Robert Millan <rmh@gnu.org>
25854
25855 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25856 errors.
25857 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25858 grub_get_libzfs_handle() errors.
25859
25860 2010-08-14 Robert Millan <rmh@gnu.org>
25861
25862 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25863 filesystem is not ZFS.
25864
25865 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25866
25867 Fix for misspelled color names defaulting to black/black (bug
25868 reported by Doug Nazar)
25869
25870 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25871 status to prototype.
25872 * normal/color.c (grub_parse_color_name_pair): Return failure
25873 status.
25874 (grub_env_write_color_normal): Ignore bad color names.
25875 (grub_env_write_color_highlight): Likewise.
25876 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25877
25878 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25879
25880 "shift" command support to GRUB script.
25881
25882 * include/grub/script_sh.h (grub_script_shift): New prototype.
25883 * script/execute.c (grub_script_shift): New function.
25884 * script/main.c (grub_script_init): Register shift command.
25885 (grub_script_fini): Unregister shift command.
25886 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25887
25888 * tests/grub_script_shift.in: New testcase.
25889 * conf/tests.rmk: Rules for new testcase.
25890
25891 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25892
25893 "continue" command support to GRUB script.
25894
25895 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25896 (grub_script_break): Continue support.
25897 * script/main.c (grub_script_init): Register continue command.
25898 (grub_script_fini): Unregister continue command.
25899
25900 * tests/grub_script_continue.in: New testcase.
25901 * conf/tests.rmk: Rules for new testcase.
25902
25903 2010-08-12 BVK Chaitanya <bvk@dbook>
25904
25905 "break" command support to GRUB script.
25906
25907 * conf/common.rmk: Rule updates to grub-script-check.
25908 * include/grub/misc.h (grub_min): New function.
25909 * include/grub/script_sh.h (grub_script_init): New prototype.
25910 (grub_script_fini): New prototype.
25911 (grub_script_break): New prototype.
25912 * script/main.c (grub_script_init): New function.
25913 (grub_script_fini): New function.
25914 * script/execute.c (grub_script_break): New function.
25915 * normal/main.c: Calls to grub_script_{init,fini}.
25916 * util/grub-script-check.c (grub_script_break): New function.
25917
25918 * tests/grub_script_break.in: New testcase.
25919 * conf/tests.rmk: Rules for new test case.
25920
25921 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25922
25923 Function parameters support to GRUB script.
25924
25925 * script/yylex.l (VARIABLE): Regular expression update.
25926 * script/function.c (grub_script_function_call): Moved ...
25927 * script/execute.c (grub_script_function_call): ... to here.
25928 (grub_script_execute_arglist_to_argv): Removed.
25929 (grub_script_arglist_to_argv): New function.
25930 * script/argv.c: New file.
25931 (grub_script_argv_free): New function.
25932 (grub_script_argv_next): Likewise.
25933 (grub_script_argv_append): Likewise.
25934 (grub_script_argv_split_append): Likewise.
25935 * include/grub/script_sh.h (grub_script_argv): New struct.
25936 (grub_script_argv_free): New function.
25937 (grub_script_argv_next): Likewise.
25938 (grub_script_argv_append): Likewise.
25939 (grub_script_argv_split_append): Likewise.
25940
25941 * conf/common.rmk (normal.mod): New source script/argv.c.
25942
25943 * tests/grub_script_echo1.in: More tests.
25944 * tests/grub_script_vars1.in: Likewise.
25945 * tests/grub_script_functions.in: New test case.
25946 * conf/tests.rmk: Rules for new testcase.
25947
25948 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25949
25950 Remove grub_script_cmdblock struct.
25951
25952 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25953 * script/parser.y: Likewise.
25954 * script/execute.c: Rename cmdblock suffix to cmdlist.
25955 * script/script.c: Likewise.
25956 * util/grub-script-check.c: Likewise.
25957
25958 2010-08-11 Yves Blusseau <blusseau@zetam.org>
25959
25960 * .bzrignore: add grub-macho2img
25961
25962 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25963
25964 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25965
25966 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25967
25968 Remove the dump of sm712 initialisation sequence.
25969
25970 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25971 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25972 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25973 (GRUB_VGA_CR_*): Added many registers.
25974 (GRUB_VGA_SR_*): Likewise.
25975 (GRUB_VGA_GR_*): Likewise.
25976 (grub_vga_write_arx): New function.
25977 (grub_video_hw_config): New struct.
25978 (grub_vga_set_geometry): New function.
25979 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25980 GRUB_PCI_CLASS_SUBCLASS_VGA.
25981 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25982 * video/sm712.c (grub_sm712_write_reg): New function
25983 (grub_sm712_read_reg): Likewise.
25984 (grub_sm712_sr_write): Likewise.
25985 (grub_sm712_gr_write): Likewise.
25986 (grub_sm712_cr_write): Likewise.
25987 (grub_sm712_write_arx): Likewise.
25988 (grub_sm712_cr_shadow_write): Likewise.
25989 (grub_sm712_write_dda_lookup): Likewise.
25990 (grub_video_sm712_setup): Initialise the video rather then
25991 blindly replay the dump.
25992 (main) [TEST]: Add a routine to be able to compile as standalone for
25993 tests.
25994 * video/sm712_init.c (sm712_init): Removed.
25995 (sm712_sr_seq1): New array.
25996 (sm712_sr_seq2): Likewise.
25997
25998 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25999
26000 * include/grub/vga.h: Add missing grub/pci.h include.
26001
26002 2010-08-10 Yves Blusseau <blusseau@zetam.org>
26003
26004 * util/grub-macho2img.c (main): fix typo
26005
26006 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
26007
26008 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
26009 (grub_vga_gr_read): Likewise.
26010 (grub_vga_cr_write): Likewise.
26011 (grub_vga_cr_read): Likewise.
26012 (grub_vga_sr_write): Likewise.
26013 (grub_vga_sr_read): Likewise.
26014 (grub_vga_palette_read): Likewise.
26015 (grub_vga_palette_write): Likewise.
26016 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
26017 (grub_sm712_sr_read): New function.
26018 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
26019 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
26020
26021 2010-08-09 Robert Millan <rmh@gnu.org>
26022
26023 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
26024 out unused variables on non-ZFS build.
26025
26026 2010-08-08 Robert Millan <rmh@gnu.org>
26027
26028 Fix path generation for sub-filesystems in ZFS.
26029
26030 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
26031 missing slash.
26032
26033 2010-08-08 Robert Millan <rmh@gnu.org>
26034
26035 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
26036
26037 2010-08-08 Robert Millan <rmh@gnu.org>
26038
26039 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
26040 exist, issue a proper error message (rely on `ls' for translated
26041 strings).
26042
26043 2010-08-08 Robert Millan <rmh@gnu.org>
26044
26045 Fix grub-probe invocation.
26046
26047 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
26048
26049 2010-08-04 Robert Millan <rmh@gnu.org>
26050
26051 * configure.ac: Remove checks for getfsstat() and getmntany().
26052 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
26053 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
26054 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
26055 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
26056 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
26057 function.
26058 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
26059 via find_mount_point_from_dir() and getfsstat() / getmntany().
26060
26061 2010-08-04 Robert Millan <rmh@gnu.org>
26062
26063 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26064 (grub_find_zpool_from_mount_point): Merge into ...
26065 (grub_find_zpool_from_dir): ... this.
26066 * kern/emu/misc.c: Likewise.
26067
26068 * kern/emu/misc.c
26069 (grub_make_system_path_relative_to_its_root): Replace
26070 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
26071 with grub_find_zpool_from_dir().
26072 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
26073
26074 2010-08-04 Robert Millan <rmh@gnu.org>
26075
26076 Support OpenSolaris in ZFS device resolution.
26077
26078 * configure.ac: Check for getmntany().
26079 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
26080 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
26081 support.
26082
26083 2010-08-03 Robert Millan <rmh@gnu.org>
26084
26085 Fix grub-emu build.
26086
26087 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
26088 * include/grub/emu/misc.h: ... here.
26089
26090 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
26091 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
26092
26093 * util/misc.c: Remove `<grub/util/libzfs.h>'.
26094 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
26095 (grub_get_libzfs_handle): Move to ...
26096 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
26097 (grub_get_libzfs_handle): ... here.
26098
26099 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
26100
26101 * script/execute.c (grub_script_execute_cmdline): Check for NULL
26102 as command name case.
26103
26104 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
26105
26106 * disk/raid.c (insert_array): Select unique numbers for named arrays
26107 as well, for use as keys in the disk cache.
26108
26109 2010-08-01 Robert Millan <rmh@gnu.org>
26110
26111 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26112 kFreeBSD device name, except on ZFS where the filesystem label is
26113 used.
26114 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26115 `/boot/zfs/zpool.cache'.
26116 Set mountfrom kernel variable using ${kfreebsd_device}.
26117
26118 2010-08-01 Robert Millan <rmh@gnu.org>
26119
26120 Make it even harder to use uninitialized `libzfs_handle' (and
26121 make the interface a bit simpler).
26122
26123 * include/grub/util/misc.h (grub_util_init_libzfs)
26124 (libzfs_handle): Remove.
26125 (grub_get_libzfs_handle): New prototype.
26126
26127 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26128 attribute.
26129 (grub_util_init_libzfs): Remove.
26130 (grub_get_libzfs_handle): New function.
26131
26132 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26133 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26134 accessing `libzfs_handle' directly.
26135
26136 2010-08-01 Robert Millan <rmh@gnu.org>
26137
26138 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26139 (grub_find_zpool_from_mount_point): New function prototypes.
26140
26141 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26142 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26143
26144 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26145 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26146 `static' attribute.
26147
26148 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26149 finding zpool from mount point into ...
26150 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26151
26152 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26153 requested path is part of a ZFS pool, use
26154 grub_find_zpool_from_mount_point() to detect its filesystem name,
26155 and generate a path with `/fsname@path' syntax.
26156
26157 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26158
26159 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26160 (void) rather than () so that this is a proper prototype.
26161
26162 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26163
26164 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26165
26166 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26167
26168 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26169 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26170
26171 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26172
26173 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26174
26175 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26176
26177 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26178
26179 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26180
26181 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26182 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26183 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26184 disable gfxpayload.
26185 (Shell-like scripting): Add real content.
26186 (Serial terminal): Suggest `terminal_input serial; terminal_output
26187 serial' rather than putting the two commands on separate lines,
26188 since console input will be inoperative after the first command.
26189 (menuentry): Document --class, --users, and --hotkey options.
26190 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26191 Vladimir Serbinenko).
26192
26193 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26194 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26195
26196 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26197
26198 2010-08-01 Robert Millan <rmh@gnu.org>
26199
26200 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26201 (grub_find_zpool_from_mount_point): New function prototypes.
26202
26203 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26204 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26205
26206 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26207 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26208 `static' attribute.
26209
26210 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26211 finding zpool from mount point into ...
26212 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26213
26214 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26215 requested path is part of a ZFS pool, use
26216 grub_find_zpool_from_mount_point() to detect its filesystem name,
26217 and generate a path with `/fsname@path' syntax.
26218
26219 2010-08-01 Robert Millan <rmh@gnu.org>
26220
26221 Prevent accidental use of uninitialized libzfs_handle.
26222
26223 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26224 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26225 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26226
26227 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26228
26229 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26230 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26231
26232 2010-08-01 Robert Millan <rmh@gnu.org>
26233
26234 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
26235
26236 2010-07-31 Robert Millan <rmh@gnu.org>
26237
26238 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26239
26240 2010-07-31 Robert Millan <rmh@gnu.org>
26241
26242 * kern/emu/misc.c: Add missing license header.
26243
26244 2010-07-31 Robert Millan <rmh@gnu.org>
26245
26246 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26247
26248 * include/grub/util/libnvpair.h: Include `<config.h>'.
26249 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26250 declaring libnvpair prototypes ourselves.
26251 * include/grub/util/libzfs.h: Include `<config.h>'.
26252 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26253 declaring libzfs prototypes ourselves.
26254
26255 (libzfs_handle): Moved to ...
26256 * include/grub/util/misc.h (libzfs_handle): ... here.
26257 Include `<grub/util/libzfs.h>'.
26258
26259 2010-07-30 Robert Millan <rmh@gnu.org>
26260
26261 * include/grub/emu/misc.h: Add missing license header.
26262
26263 2010-07-30 Robert Millan <rmh@gnu.org>
26264
26265 Enable `grub-probe -t device' resolution on ZFS.
26266
26267 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26268 * include/grub/util/libnvpair.h: New file.
26269 * include/grub/util/libzfs.h: New file.
26270
26271 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26272 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26273 `<grub/util/libnvpair.h>'.
26274 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26275
26276 (find_mount_point_from_dir): New static function.
26277 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26278 function.
26279 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26280 find_root_device_from_libzfs() before ressorting to find_root_device().
26281
26282 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26283 prototype.
26284 * util/misc.c: Include `<grub/util/libzfs.h>'.
26285 (grub_util_init_libzfs): New function.
26286 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26287 [HAVE_LIBZFS] (fini_libzfs): New static function.
26288 (grub_util_init_libzfs): New function.
26289 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26290
26291 2010-07-30 Robert Millan <rmh@gnu.org>
26292
26293 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26294 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26295 `warn_unused_result' attribute.
26296 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26297 (grub_xasprintf, grub_xvasprintf): Likewise.
26298 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26299
26300 2010-07-29 Robert Millan <rmh@gnu.org>
26301
26302 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26303 (probe): Handle `PRINT_FS_LABEL'.
26304 (main): Handle `-t fs_label'.
26305
26306 2010-07-29 Robert Millan <rmh@gnu.org>
26307
26308 * configure.ac: Remove grub-mkisofs checks.
26309
26310 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26311
26312 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26313 Reported by: Lennart Sorensen.
26314
26315 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26316
26317 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26318 prior to terminal_input/terminal_output separation. It's been over 1.5
26319 years and those versions weren't widely deployed.
26320
26321 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
26322
26323 * disk/raid.c (insert_array): Don't count named arrays when looking
26324 for unused array numbers.
26325 Reported and tested by: Michael Guntsche.
26326
26327 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26328
26329 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26330 implementation of this so that grub-emu links again, with a note
26331 that this should support hotplugging in the future.
26332
26333 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26334
26335 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26336
26337 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26338
26339 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26340 handle on failure.
26341 (grub_loopback_close): Remove empty function.
26342 (grub_loopback_dev): Remove close method.
26343
26344 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26345
26346 Disable EFI cursor when the EFI console becomes inactive.
26347
26348 * term/efi/console.c (grub_efi_console_init): New function.
26349 (grub_efi_console_fini): New function.
26350 (grub_console_term_output): Register init and fini methods.
26351
26352 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26353
26354 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26355 sh script.
26356
26357 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26358
26359 * disk/loopback.c (grub_loopback): Replace filename with file.
26360 (delete_loopback): Handle new semantics.
26361 (grub_cmd_loopback): Likewise.
26362 (grub_loopback_iterate): Likewise.
26363 (grub_loopback_close): Likewise.
26364
26365 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26366
26367 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26368 with -p "".
26369 Reported by: Tito Keitel.
26370
26371 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26372
26373 * docs/grub.texi (Naming convention): Document new naming convention.
26374
26375 2010-07-20 Vadim Solomin <vadic052@gmail.com>
26376 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26377
26378 Generate device.map in something closer to the old ordering.
26379
26380 * util/deviceiter.c (struct device): New declaration.
26381 (compare_file_names): Rename to ...
26382 (compare_devices): ... this. Sort by kernel name in preference to
26383 the stable by-id name, but keep the latter as a fallback comparison.
26384 Update header comment.
26385 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26386 of `struct device' rather than of plain file names.
26387
26388 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26389
26390 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26391 on i386.
26392
26393 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26396 hardcoding size.
26397 (setv1table): Likewise.
26398
26399 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26400
26401 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26402 removing the homehost if present.
26403 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26404 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26405 removing the homehost if present.
26406 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26407 if possible.
26408 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26409
26410 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26411 parameter. Set its pointer target to 0.
26412 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26413 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26414 `data_offset' value from the superblock for 1.x metadata.
26415 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26416 data on the device.
26417 (insert_array): Record the start sector of data on the device.
26418 (grub_raid_register): Pass start_sector parameters to
26419 grub_raid_list->detect and insert_array.
26420 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26421 member.
26422 (struct grub_raid): Add start_sector parameter to `detect'.
26423
26424 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26425 __attribute__ ((packed)), leaving a comment.
26426 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26427 (grub_mdraid_detect_09): ... here and ...
26428 (grub_mdraid_detect_1x): ... here.
26429
26430 2010-07-20 Peter Henn <peter.henn@web.de>
26431
26432 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26433 chunk size and disk size, which are already given as sector counts
26434 as distinct from the 0.90 units. Fetch the correct device number
26435 from the role table instead of using the table index.
26436
26437 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
26438
26439 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26440 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26441 (WriteMostly1): New macro.
26442 Set array->name to NULL for metadata format 0.90. Add support for
26443 metadata 1.x. Fix some comments.
26444 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26445 few comments.
26446 * util/getroot.c (grub_util_get_grub_dev): Add support for
26447 /dev/md/name style devices.
26448
26449 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26450
26451 * .bzrignore: Ignore 20_linux_xen.
26452
26453 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
26454
26455 * util/import_unicode.py: Remove unnecessary imports.
26456
26457 2010-07-17 Aleš Nesrsta <starous@volny.cz>
26458
26459 Hotplugging and USB hub support.
26460
26461 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26462 (grub_ohci): Likewise.
26463 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26464 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26465 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26466 (GRUB_OHCI_CTRL_EDS): Likewise.
26467 (GRUB_OHCI_BULK_EDS): Likewise.
26468 (GRUB_OHCI_TDS): Likewise.
26469 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26470 (grub_ohci_ed_phys2virt): New function.
26471 (grub_ohci_virt_to_phys): Likewise.
26472 (grub_ohci_td_phys2virt): Likewise.
26473 (grub_ohci_td_virt2phys): Likewise.
26474 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26475 attachment.
26476 (grub_ohci_find_ed): New function.
26477 (grub_ohci_alloc_td): Likewise.
26478 (grub_ohci_free_td): Likewise.
26479 (grub_ohci_free_tds): Likewise.
26480 (grub_ohci_transfer): Use previously allocated memory.
26481 (grub_ohci_portstatus): Reset status changed bit.
26482 (grub_ohci_detect_dev): Supply status changed.
26483 (grub_ohci_fini_hw): Free memory.
26484 (grub_ohci_restore_hw): Reallocate memory.
26485 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26486 Reset status change.
26487 (grub_uhci_detect_dev): Supply status_change.
26488 * bus/usb/usb.c (attach_hooks): New var.
26489 (grub_usb_device_attach): New function.
26490 (grub_usb_register_attach_hook_class): Likewise.
26491 (grub_usb_unregister_attach_hook_class): Likewise.
26492 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26493 (grub_usb_add_hub): Reset connection changed bit.
26494 (attach_root_port): New function.
26495 (grub_usb_root_hub): Likewise.
26496 (poll_nonroot_hub): Likewise.
26497 (grub_usb_poll_devices): Likewise.
26498 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26499 * disk/usbms.c (grub_usbms_open): Use device hooks.
26500 (grub_usbms_iterate) :Poll devices.
26501 (grub_usbms_finddevs): Split into ...
26502 (grub_usbms_attach): ... this ...
26503 (grub_usbms_attach): ... and this.
26504 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26505 in detect_dev.
26506 (grub_usb_interface): New fields attached and detach_hook.
26507 (grub_usb_attach_hook_class): New type.
26508 (grub_usb_attach_desc): New struct.
26509 (grub_usb_register_attach_hook_class): New function.
26510 (grub_usb_unregister_attach_hook_class): Likewise.
26511 (grub_usb_poll_devices): Likewise.
26512 (grub_usb_device_attach): Likewise.
26513 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26514 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26515
26516 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26517
26518 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26519 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26520 delta determination style. Works with most NetBSD partitions too.
26521
26522 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26523
26524 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26525 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26526
26527 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26528
26529 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26530
26531 2010-07-14 Anton Blanchard <anton@samba.org>
26532
26533 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26534 ET_DYN files.
26535
26536 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26537
26538 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26539
26540 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26541
26542 * kern/partition.c (grub_partition_check_containment): New function to
26543 check that a partition is physically contained in a parent. Since
26544 offsets are relative (and non-negative), this reduces to checking that
26545 the partition ends before its parent.
26546 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26547 (grub_partition_iterate): Likewise.
26548 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26549 comments.
26550 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26551 partitions that start before their parent, and add debug printfs.
26552
26553 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26554
26555 * Makefile.in (.SUFFIX): Spell correctly, as ...
26556 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26557 bare module name without `.mod', e.g. `test') tried to invoke a
26558 Modula-2 compiler.
26559
26560 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26561
26562 * README: Point to the Info manual.
26563
26564 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
26565
26566 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26567 2nd superblock position from partition size.
26568
26569 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
26570
26571 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26572 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26573 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26574 outputs.
26575
26576 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 Restructure SCSI .id handling.
26579 Reported and tested by: Aleš Nesrsta.
26580
26581 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26582 (grub_atapi_dev): Changed .name to "ata". New field .id.
26583 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26584 (grub_usbms_dev): New field .id.
26585 * disk/scsi.c (grub_scsi_iterate): Generate name.
26586 (grub_scsi_open): Parse name.
26587 * include/grub/scsi.h (grub_make_scsi_id): New function.
26588 (grub_scsi_dev): Change iterate and open to number instead of naming
26589 busses. All users updated.
26590 (grub_scsi): Remove name. Add .bus.
26591
26592 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26593
26594 * commands/help.c (grub_cmd_help): Fix a typo.
26595
26596 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26597
26598 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26599 Reported and tested by: Colin Watson.
26600
26601 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26602
26603 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26604 in this context.
26605
26606 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26607
26608 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26609
26610 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
26611
26612 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26613 indentation.
26614
26615 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26616
26617 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26618 and disk/raid6_recover.c.
26619 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26620 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26621
26622 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26623
26624 * term/gfxterm.c (repaint_schedulded): Rename to ...
26625 (repaint_scheduled): ... this. Update all callers.
26626 (repaint_was_schedulded): Rename to ...
26627 (repaint_was_scheduled): ... this. Update all callers.
26628
26629 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26630
26631 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26632 which we expect to be handled by upper layers.
26633
26634 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26635
26636 * bus/usb/usbhub.c: #include time.h header.
26637
26638 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26639
26640 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26641 entry_name also for entries without stat blocks (e.g. ".."); fixes
26642 corruption of the first entry in a directory.
26643
26644 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26645
26646 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26647 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26648 doesn't work otherwise.
26649
26650 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26651
26652 * docs/grub.texi (Features): Update list of supported file systems.
26653 (GNU/Linux): Update for GRUB 2.
26654 (Serial terminal): Remove mention of --disable-serial, which was a
26655 GRUB Legacy configure option. Update instructions to use
26656 `terminal_input' and `terminal_output' rather than `terminal'.
26657 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26658 configuration' and `Installing GRUB using grub-install'.
26659 (Menu entry editor): Update for GRUB 2.
26660 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26661 Document new -a, -u, and -v options.
26662 (initrd): New section.
26663 (initrd16): New section.
26664 (linux): New section.
26665 (linux16): New section.
26666 (search): The `var' argument to `--set' is optional.
26667 (GRUB only offers a rescue shell): Go into a little more detail on
26668 drive ordering.
26669
26670 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26671
26672 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26673
26674 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26675
26676 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26677 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26678
26679 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26680
26681 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26682 install_prefix, in line with install_dos_part and install_bsd_part.
26683 Add new prefix variable, which is copied to install_prefix after
26684 comparing core.img in memory with the one read from disk in the
26685 no-embedding case, and use that rather than overwriting
26686 install_prefix immediately when installing to a partition.
26687 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26688 Bicakci.
26689
26690 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26691
26692 * configure.ac: Avoid == in test command, it's not portable.
26693 * util/grub.d/30_os-prober.in: Likewise.
26694
26695 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
26696
26697 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26698
26699 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26700
26701 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26702 multiple (top-level) partmaps.
26703
26704 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26705
26706 * util/i386/efi/grub-install.in: Don't use empty grub_device.
26707 Reported by: Tino Keitel.
26708
26709 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26710
26711 Bidi and diacritics support.
26712
26713 * Makefile.in (widthspec.bin): New target.
26714 (widthspec.h): Likewise.
26715 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26716 * autogen.sh: Generate unidata.c.
26717 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26718 * commands/ls.c (grub_ls_list_devices): Likewise.
26719 (grub_ls_list_files): Likewise.
26720 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26721 (grub_mini_cmd_lsmod): Likewise.
26722 * commands/read.c: Likewise.
26723 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26724 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26725 * lib/arg.c (grub_arg_show_help): Likewise.
26726 * lib/crypto.c (grub_password_get): Likewise.
26727 * normal/auth.c (grub_username_get): Likewise.
26728 * normal/misc.c (grub_normal_print_device_info): Likewise.
26729 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26730 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26731 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26732 (normal/charset.c_DEPENDENCIES): New variable.
26733 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26734 (pkglib_MODULES): Remove charset.mod.
26735 (charset_mod_SOURCES): Removed.
26736 (charset_mod_CFLAGS): Likewise.
26737 (charset_mod_LDFLAGS): Likewise.
26738 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26739 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26740 and term/tparm.c.
26741 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26742 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26743 (kernel_img_HEADERS): Add terminfo.h.
26744 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26745 Fill ->font. Reverse ascii bitmaps.
26746 (grub_font_get_xheight): New function.
26747 * font/font.c (grub_font_get_string_width): Moved from here ...
26748 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26749 * font/font.c (grub_font_draw_string): Moved from here ...
26750 * gfxmenu/font.c (grub_font_draw_string): ... here.
26751 * font/font.c (grub_font_dup_glyph): New function.
26752 (grub_font_blit_glyph): Likewise.
26753 (grub_font_blit_glyph_mirror): Likewise.
26754 (blit_comb): Likewise.
26755 (grub_font_construct_dry_run): Likewise.
26756 (grub_font_get_constructed_device_width): Likewise.
26757 (grub_font_construct_glyph): Likewise.
26758 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26759 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26760 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26761 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26762 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26763 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26764 (grub_font_get_xheight): New proto.
26765 (grub_font_get_constructed_device_width): Likewise.
26766 (grub_font_construct_glyph): Likewise.
26767 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26768 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26769 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26770 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26771 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26772 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26773 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26774 (grub_console_getcharwidth): Likewise.
26775 * include/grub/misc.h (grub_xputs): New proto.
26776 (grub_puts): Inlined.
26777 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26778 (grub_normal_get_line_counter): Removed.
26779 (grub_install_newline_hook): Likewise.
26780 (grub_normal_get_char_counter): New proto.
26781 (grub_normal_reset_more): Likewise.
26782 (grub_xputs_normal): Likewise.
26783 * include/grub/powerpc/ieee1275/console.h: Removed.
26784 * include/grub/sparc64/ieee1275/console.h: Likewise.
26785 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26786 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26787 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26788 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26789 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26790 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26791 (grub_term_input): Pass reference to self. All users updated.
26792 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26793 Pass reference to self. New fields normal_color, highlight_color and
26794 data. All users updated.
26795 (grub_putchar): Removed.
26796 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26797 (grub_unicode_estimate_width): New function.
26798 (grub_term_getcharwidth): Add defaults.
26799 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26800 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26801 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26802 (grub_cls): Remove EXPORT_FUNC.
26803 (grub_setcolorstate): Inline.
26804 (grub_newline_hook): Removed.
26805 * include/grub/terminfo.h: Rewritten. All users updated.
26806 * include/grub/unicode.h: New file.
26807 * include/grub/video.h (grub_video_signed_rect): New type.
26808 * kern/emu/console.c (grub_console_highlight_color): Removed.
26809 (grub_console_normal_color): Likewise.
26810 (grub_console_standard_color): Made static.
26811 (grub_ncurses_putchar): Remove mapping.
26812 (grub_ncurses_getcharwidth): Removed.
26813 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26814 (grub_ncurses_setcolor): Removed.
26815 (grub_ncurses_getcolor): Likewise.
26816 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26817 (grub_console_putchar): ... this.
26818 (grub_console_putchar): Handle argument difference.
26819 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26820 console_init_early and console_init_lately.
26821 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26822 * kern/misc.c (grub_puts): Removed.
26823 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26824 (grub_vsnprintf_real): Remove str = NULL support.
26825 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26826 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26827 * kern/term.c (grub_putcode): Renamed to ...
26828 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26829 (grub_putchar): Removed.
26830 (grub_xputs_dumb): New function.
26831 (grub_xputs): New variable.
26832 * lib/charset.c: Move from here ...
26833 * normal/charset.c: ... to here.
26834 (grub_ucs4_to_utf8): New function.
26835 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26836 (join_types): New variable.
26837 (unpack_join): New function.
26838 (bidi_types): New variable.
26839 (unpack_bidi): New function.
26840 (get_bidi_type): Likewise.
26841 (get_join_type): Likewise.
26842 (is_mirrored): Likewise.
26843 (grub_unicode_get_comb_type): Likewise.
26844 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26845 (is_type_after): Likewise.
26846 (grub_unicode_aglomerate_comb): Likewise.
26847 (bidi_line_wrap): Likewise.
26848 (grub_bidi_line_logical_to_visual): Likewise.
26849 (grub_bidi_logical_to_visual): Likewise.
26850 (grub_unicode_mirror_code): Likewise.
26851 (grub_unicode_shape_code): Likewise.
26852 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26853 Don't use grub_putchar.
26854 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26855 (grub_normal_reader_init): Likewise.
26856 (grub_xputs_saved): New variable.
26857 (GRUB_MOD_INIT): Set grub_xputs.
26858 (GRUB_MOD_FINI): Restore grub_xputs.
26859 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26860 (menu_init): Avoid printing gfxmenu error.
26861 (show_menu): Use grub_normal_get_char_counter.
26862 * normal/menu_entry.c (update_screen): Fix out-of-array.
26863 (complete): Avoid NULL dereferencing.
26864 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26865 * normal/menu_text.c (print_spaces): Removed.
26866 (grub_print_ucs4): Likewise.
26867 (grub_print_message_indented): Use grub_print_ucs4.
26868 (print_message): Use grub_putcode.
26869 (print_entry): Hanlde diacritics.
26870 * normal/term.c (term_state): New type.
26871 (grub_more_lines): Removed.
26872 (term_states): New variable.
26873 (grub_normal_line_counter): Renamed to ..
26874 (grub_normal_char_counter): ...this. All users updated.
26875 (grub_normal_get_line_counter): Renamed to ...
26876 (grub_normal_get_char_counter): ... this.
26877 (grub_normal_reset_more): New function.
26878 (process_newline): Removed.
26879 (print_more): New function.
26880 (grub_install_newline_hook): Removed.
26881 (map_code): New function.
26882 (grub_puts_terminal): Use grub_print_ucs4.
26883 (putglyph): New function.
26884 (putcode_real): Likewise.
26885 (grub_putcode): Use putcode_real.
26886 (get_maxwidth): New function.
26887 (get_startwidth): Likewise.
26888 (print_ucs4_terminal): Likewise.
26889 (find_term_state): Likewise.
26890 (put_glyphs_terminal): Likewise.
26891 (print_backlog): Likewise.
26892 (print_ucs4_real): Likewise.
26893 (grub_print_ucs4): Likewise.
26894 (grub_xputs_normal): Likewise.
26895 * term/efi/console.c (grub_console_putchar): Output diacritics.
26896 (grub_console_getcharwidth): Removed.
26897 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26898 * term/gfxterm.c (clear_char): Free chars.
26899 (scroll_up): Avoid leaking memory.
26900 (grub_gfxterm_putchar): Support diacritics.
26901 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26902 * term/i386/pc/console.c (grub_console_term_output): Declare as
26903 GRUB_TERM_CODE_TYPE_VGA.
26904 * term/i386/pc/vga.c (grub_vga_term): Declare as
26905 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26906 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26907 GRUB_TERM_CODE_TYPE_VGA.
26908 * term/i386/vga_common.c (map_char): Removed.
26909 (grub_console_putchar): Likewise.
26910 (grub_console_getcharwidth): Likewise.
26911 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26912 (colors): Reordered to match terminfo.
26913 (grub_ofconsole_normal_color): Removed.
26914 (grub_ofconsole_writeesc): Likewise.
26915 (grub_ofconsole_highlight_color): Likewise.
26916 (grub_ofconsole_getcharwidth): Likewise.
26917 (grub_ofconsole_setcolorstate): Likewise.
26918 (grub_ofconsole_setcolor): Likewise.
26919 (grub_ofconsole_getcolor): Likewise.
26920 (grub_ofconsole_readkey): Renamed to ...
26921 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26922 key.
26923 (grub_ofconsole_checkkey): Removed.
26924 (grub_ofconsole_getkey): Likewise.
26925 (grub_ofconsole_getxy): Likewise.
26926 (grub_ofconsole_gotoxy): Likewise.
26927 (grub_ofconsole_cls): Likewise.
26928 (grub_ofconsole_refresh): Likewise.
26929 (grub_ofconsole_terminfo_input): New struct.
26930 (grub_ofconsole_terminfo_output): Likewise.
26931 (grub_ofconsole_term_input): Use terminfo.
26932 (grub_ofconsole_term_output): Likewise.
26933 (grub_console_init): Split into ...
26934 (grub_console_init_early): ...this and ...
26935 (grub_console_init_lately): ...this. Use terminfo.
26936 (grub_ofconsole_putchar): Renamed to ...
26937 (put): ... this. Remove mapping.
26938 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26939 * term/serial.c: Simplify using terminfo.
26940 (xpos): Removed.
26941 (ypos): Likewise.
26942 (keep_track): Likewise.
26943 (registered): Likewise.
26944 (input_buf): Likewise.
26945 (npending): Likewise.
26946 (serial_translate_key_sequence): Likewise.
26947 (fill_input_buf): Likewise.
26948 (grub_serial_checkkey): Likewise.
26949 (grub_serial_getkey): Likewise.
26950 (grub_serial_getxy): Likewise.
26951 (grub_serial_gotoxy): Likewise.
26952 (grub_serial_putchar): Likewise.
26953 (grub_serial_cls): Likewise.
26954 (grub_serial_setcolorstate): Likewise.
26955 (grub_serial_setcursor): Likewise.
26956 (serial_hw_init): Use serial_hw_fetch.
26957 (grub_serial_terminfo_input): New variable.
26958 (grub_serial_terminfo_output): Likewise.
26959 (grub_serial_term_input): Use terminfo.
26960 (grub_serial_term_output): Likewise.
26961 * term/terminfo.c (putstr): Use put.
26962 (grub_terminfo_all_free): New function
26963 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26964 (grub_terminfo_output_register): New function.
26965 (grub_terminfo_output_unregister): Likewise.
26966 (grub_terminfo_getxy): Likewise.
26967 (grub_terminfo_readkey): Likewise.
26968 (grub_terminfo_checkkey): Likewise.
26969 (grub_terminfo_getkey): Likewise.
26970 (grub_terminfo_input_init): Likewise.
26971 (print_terminfo): Likewise.
26972 (grub_cmd_terminfo): Handle encoding.
26973 (grub_terminfo_gotoxy): Track position.
26974 (grub_terminfo_cls): Likewise.
26975 (grub_terminfo_putchar): Likewise.
26976 (grub_terminfo_setcolorstate): Handle colors
26977 (grub_terminfo_cursor_on): This ...
26978 (grub_terminfo_cursor_off): ... and this merged into ...
26979 (grub_terminfo_setcursor): ... this.
26980 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26981 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26982 * unicode/BidiMirroring.txt: Likewise.
26983 * unicode/UnicodeData.txt: Likewise.
26984 * unicode/COPYING: Likewise.
26985 * util/grub-editenv.c (grub_putchar): Removed.
26986 (grub_xputs_real): New function.
26987 (grub_xputs): New variable.
26988 * util/grub-fstest.c (grub_putchar): Removed.
26989 (grub_xputs_real): New function.
26990 (grub_xputs): New variable.
26991 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26992 (grub_xputs_real): New function.
26993 (grub_xputs): New variable.
26994 * util/grub-probe.c (grub_putchar): Removed.
26995 (grub_xputs_real): New function.
26996 (grub_xputs): New variable.
26997 * util/grub-script-check.c (grub_putchar): Removed.
26998 (grub_xputs_real): New function.
26999 (grub_xputs): New variable.
27000 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
27001 (grub_xputs_real): New function.
27002 (grub_xputs): New variable.
27003 * util/import_unicode.py: New file.
27004 * util/grub-mkfont.c (ft_errmsgs): New array.
27005 (grub_glyph_info): Make bitmap a pointer.
27006 (file_formats): New type WIDTH_SPEC.
27007 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
27008 (options): Add width-spec.
27009 (help): Likewise.
27010 (add_char): Renamed to ...
27011 (add_glyph): ... this.
27012 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
27013 (glyph_replace): New type.
27014 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
27015 (add_char): New function.
27016 (add_subst): Likewise.
27017 (process_cursive): Likewise.
27018 (add_font): Handle GSUB.
27019 (write_font_width_spec): New function.
27020 (main): Sort glyphs.
27021 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
27022 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
27023 * kern/term.c (grub_cls): Moved from here...
27024 * normal/term.c (grub_cls): ... here.
27025
27026 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27027
27028 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
27029 suitable for using within the format argument of printf when
27030 converting grub_size_t.
27031 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
27032 "x" to convert grub_size_t arguments.
27033
27034 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27035
27036 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
27037 too long captions.
27038 (list_get_minimal_size): Take selection box into account.
27039
27040 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27041
27042 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
27043 NULL font.
27044
27045 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27046
27047 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
27048 devices when iterating over /dev/disk/by-id; they will be handled
27049 later if appropriate, which they aren't always (e.g. LVM).
27050
27051 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27052
27053 * include/grub/misc.h (grub_reboot): Declare as noreturn.
27054 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
27055 fails.
27056 (grub_halt): Likewise.
27057 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
27058 reset-all fails.
27059 (grub_halt): Don't return, even if all of shut-down, power-off, and
27060 poweroff fail.
27061
27062 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27063
27064 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
27065 arguments, not three.
27066
27067 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27068
27069 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
27070 * util/grub.d/10_linux.in: Use it to check for LVM, so that
27071 LVM-on-RAID is handled correctly.
27072
27073 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27074
27075 * docs/grub.texi (Changes from GRUB Legacy): New section.
27076 (Future): Fix typo.
27077
27078 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27079
27080 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
27081 grub.d/README accidentally ends up executable for one reason or
27082 another. Ignore it.
27083
27084 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
27087 (gpt_partition_map_iterate): Support non-512B sectors.
27088
27089 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27090
27091 * kern/efi/init.c (grub_efi_init): Disable watchdog.
27092 Tested by: Seth Goldberg.
27093
27094 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27095
27096 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
27097 Properly align mbi.
27098 Reported by: Seth Goldberg.
27099
27100 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27101
27102 * util/grub-mkrescue.in: Avoid module duplication.
27103
27104 2010-07-01 Sean Finney <seanius@seanius.net>
27105
27106 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27107
27108 2010-07-01 Sean Finney <seanius@seanius.net>
27109
27110 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27111
27112 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27113
27114 * disk/lvm.c (grub_lvm_checkvalue): New function.
27115 (grub_lvm_check_flag): Likewise.
27116
27117 2010-07-01 Robert Millan <rmh@gnu.org>
27118
27119 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27120 Support 'p' as partition separator on kernel of FreeBSD (used
27121 with GPT labels).
27122 (grub_util_biosdisk_get_grub_dev): Likewise.
27123
27124 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27125
27126 Yeeloong firmware port.
27127
27128 * boot/mips/yeeloong/fwstart.S: New file.
27129 * bus/cs5536.c (gpiodump): New const.
27130 (set_io_space): New function.
27131 (set_iod): Likewise.
27132 (set_p2d): Likewise.
27133 (grub_cs5536_init_geode): Likewise.
27134 * commands/mips/yeeloong/lsspd.c: New file.
27135 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27136 (serial_mod_SOURCES): New variable.
27137 (serial_mod_CFLAGS): Likewise.
27138 (serial_mod_LDFLAGS): Likewise.
27139 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27140 term/terminfo.c and term/tparm.c.
27141 (pkglib_IMAGES): Add fwstart.img.
27142 (fwstart_img_SOURCES): New variable.
27143 (fwstart_img_CFLAGS): Likewise.
27144 (fwstart_img_ASFLAGS): Likewise.
27145 (fwstart_img_LDFLAGS): Likewise.
27146 (fwstart_img_FORMAT): Likewise.
27147 (pkglib_MODULES): Add lsspd.mod.
27148 (lsspd_mod_SOURCES): New variable.
27149 (lsspd_mod_CFLAGS): Likewise.
27150 (lsspd_mod_LDFLAGS): Likewise.
27151 (pkglib_MODULES): Add halt.mod.
27152 (halt_mod_SOURCES): New variable.
27153 (halt_mod_CFLAGS): Likewise.
27154 (halt_mod_LDFLAGS): Likewise.
27155 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27156 (serial_mod_SOURCES): Removed.
27157 (serial_mod_CFLAGS): Likewise.
27158 (serial_mod_LDFLAGS): Likewise.
27159 * disk/ata.c (check_device): New function.
27160 (grub_ata_device_initialize): Use check_device.
27161 (grub_ata_iterate): Recheck devices.
27162 (grub_ata_open): Likewise.
27163 (grub_atapi_iterate): Likewise.
27164 (grub_atapi_open): Likewise.
27165 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27166 (GRUB_ATA_CH1_PORT1): Likewise.
27167 (GRUB_ATA_CH0_PORT2): Likewise.
27168 (GRUB_ATA_CH1_PORT2): Likewise.
27169 * include/grub/mips/loongson.h: New file.
27170 * include/grub/mips/yeeloong/ec.h: Likewise.
27171 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27172 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27173 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27174 * include/grub/misc.h (grub_halt): Declare as noreturn.
27175 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27176 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27177 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27178 (UART_ENABLE_DTRRTS): Likewise.
27179 (UART_ENABLE_MODEM): Removed.
27180 (UART_ENABLE_OUT2): New const.
27181 * include/grub/term.h (grub_term_register_input_active): New function.
27182 (grub_term_register_output_active): Likewise.
27183 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27184 argument.
27185 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27186 (init_pci): New function.
27187 (grub_machine_init): Execute platform init when firmware. Init serial.
27188 (grub_halt): Implement.
27189 (grub_exit): Likewise.
27190 (grub_reboot): Likewise.
27191 * term/serial.c (serial_hw_init): Update macros.
27192 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27193 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27194 (image_targets): New target mipsel-yeeloong-flash.
27195 (generate_image): Support IMAGE_YEELOONG_FLASH.
27196 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27197 (grub_video_sm712_setup): Init card.
27198 (grub_video_sm712_set_palette): Removed.
27199 * video/sm712_init.c: New file.
27200
27201 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
27202
27203 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27204 PATH when running help2man and then run it on the unadorned
27205 executable names, rather than passing $(builddir)/* paths to
27206 help2man. This avoids the build directory ending up in generated
27207 manual pages.
27208
27209 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27210
27211 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27212 to avoid accidents when debugging with 'sh -x'.
27213 * util/grub-mkrescue.in: Likewise.
27214 * util/grub.d/00_header.in: Likewise.
27215 * util/grub.d/10_hurd.in: Likewise.
27216 * util/grub.d/10_kfreebsd.in: Likewise.
27217 * util/grub.d/10_linux.in: Likewise.
27218 * util/grub.d/10_netbsd.in: Likewise.
27219 * util/grub.d/10_windows.in: Likewise.
27220 * util/grub.d/20_linux_xen.in: Likewise.
27221 * util/grub.d/30_os-prober.in: Likewise.
27222 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27223
27224 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27225
27226 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27227 last character in the buffer.
27228 Reported by: Vladimir Serbinenko.
27229
27230 2010-06-29 Robert Millan <rmh@gnu.org>
27231
27232 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27233 (Command-line and menu entry commands): Document `badram' command.
27234
27235 2010-06-28 Robert Millan <rmh@gnu.org>
27236
27237 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27238 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27239 command using ${GRUB_BADRAM} as parameter.
27240
27241 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27242
27243 * docs/grub.texi (Device map): New section.
27244 (Themes): New section (stub).
27245 * Makefile.in (docs/grub.info): The info documentation now builds
27246 without errors. Make sure it stays that way.
27247
27248 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27249
27250 Use normal parser for menu entries.
27251 Reported by: Thomas Frauendorfer
27252
27253 * include/grub/parser.h (grub_parser_execute): Don't export.
27254 * normal/menu.c (grub_menu_execute_entry_real): New function.
27255 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27256
27257 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27258
27259 * docs/grub.texi (Embedded configuration): New section (replacing
27260 old "Preset Menu" stub).
27261 (Images): New section.
27262 (configfile): Note that any menu entries defined in `file' are shown
27263 immediately.
27264
27265 2010-06-28 Josh Triplett <josh@joshtriplett.org>
27266
27267 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27268
27269 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27270
27271 * util/grub-install.in: Add --debug-image= option.
27272
27273 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27274
27275 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27276 possible on Linux.
27277
27278 * util/deviceiter.c (check_device): Rename to ...
27279 (check_device_readable_unique): ... this. Update all callers.
27280 Maintain and check a list of which devices (by canonicalized name)
27281 have already been seen.
27282 (clear_seen_devices): New function.
27283 (compare_file_names) [__linux__]: New function.
27284 (grub_util_iterate_devices): Clear the list of seen devices on exit
27285 and (just in case) on entry.
27286 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27287 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27288 seen-devices list, superseded by general code in check_device.
27289
27290 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27291
27292 * commands/cat.c (options): New variable.
27293 (grub_cmd_cat): Parse options. If the --dos option is given, print
27294 DOS-style "\r\n" line endings as simple newlines (Debian bug
27295 #586358).
27296 (GRUB_MOD_INIT): Use extcmd.
27297 (GRUB_MOD_FINI): Likewise.
27298 * docs/grub.texi (cat): Document --dos.
27299
27300 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27301
27302 XEN with Linux grub-mkconfig support.
27303
27304 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27305 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27306 GRUB_CMDLINE_XEN_DEFAULT.
27307 * util/grub.d/20_linux_xen.in: New file.
27308
27309 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27310
27311 Initialise VGA video on qemu ourselves.
27312
27313 * boot/i386/qemu/boot.S: Don't call 0xc000.
27314 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27315 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27316 (kernel_img_HEADERS): Add pci.h.
27317 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27318 * configure.ac: Force unifont on qemu and yeeloong.
27319 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27320 (grub_vga_palette_write): Use correct register.
27321 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27322 Call grub_qemu_init_cirrus.
27323 * kern/i386/qemu/init.c: New file.
27324 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27325
27326 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27327
27328 2010-06-26 Pavel Roskin <proski@gnu.org>
27329
27330 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27331 13.
27332
27333 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27334
27335 * docs/grub.texi (Simple configuration): Explain that
27336 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27337 set to `true' to disable their respective recovery entries, not
27338 merely set.
27339
27340 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27341
27342 Make the `source' command slightly faster.
27343
27344 * normal/main.c (grub_normal_execute): Don't re-read list files when
27345 nested.
27346
27347 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27348
27349 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27350 field position and mask size to red fields from mode_info, not
27351 green.
27352 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27353 Remove redundant tag->common.framebuffer_type assignment.
27354 Reported by: Seth Goldberg.
27355
27356 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27357
27358 Sync up other versions of the Linux loader with Robert Millan's
27359 change of 2010-01-09, "Make loader output a bit more user-friendly".
27360
27361 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27362 grub_dprintf().
27363 (grub_cmd_linux): Likewise.
27364 (grub_cmd_initrd): Likewise.
27365 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27366 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27367
27368 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
27369
27370 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27371 larger than MEMORY_MAP_SIZE.
27372
27373 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27374
27375 Fix parallel build.
27376
27377 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27378 dependency.
27379 * script/parser.y: #include grub_script.tab.h header.
27380
27381 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27382
27383 Support >3GiB and <16MiB RAM in i386-qemu.
27384
27385 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27386 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27387 (grub_lower_mem): Removed.
27388 (grub_upper_mem): Likewise.
27389 (mem_size): Made static.
27390 (above_4g): New variable.
27391 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27392 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27393 support.
27394
27395 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27396
27397 Cirrus 5446 and Bochs video cards support.
27398
27399 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27400 video_bochs.mod
27401 (video_cirrus_mod_SOURCES): New variable.
27402 (video_cirrus_mod_CFLAGS): Likewise.
27403 (video_cirrus_mod_LDFLAGS): Likewise.
27404 (video_bochs_mod_SOURCES): Likewise.
27405 (video_bochs_mod_CFLAGS): Likewise.
27406 (video_bochs_mod_LDFLAGS): Likewise.
27407 * include/grub/vga.h: New file.
27408 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27409 (grub_video_fb_set_page_t): New type.
27410 (grub_video_fb_setup): New prototype.
27411 (grub_video_fb_swap_buffers): Likewise.
27412 (grub_video_fb_get_info_and_fini): Likewise.
27413 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27414 (CRTC_DATA_PORT): Likewise.
27415 (CRTC_CURSOR): Likewise.
27416 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27417 (CRTC_CURSOR_ADDR_LOW): Likewise.
27418 (CRTC_CURSOR_DISABLE): Likewise.
27419 (update_cursor): Use grub_vga_cr_write.
27420 (grub_vga_text_setcursor): Likewise.
27421 * video/bochs.c: New file.
27422 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27423 (palette): Likewise.
27424 (palette_size): Likewise.
27425 (framebuffer): New variable.
27426 (grub_video_fb_init): Use 'framebuffer'.
27427 (grub_video_fb_fini): Likewise.
27428 (grub_video_fb_get_info): Likewise.
27429 (grub_video_fb_get_palette): Likewise.
27430 (grub_video_fb_set_palette): Likewise.
27431 (grub_video_fb_set_viewport): Likewise.
27432 (grub_video_fb_get_viewport): Likewise.
27433 (grub_video_fb_map_color): Likewise.
27434 (grub_video_fb_map_rgb): Likewise.
27435 (grub_video_fb_map_rgba): Likewise.
27436 (grub_video_fb_unmap_color): Likewise.
27437 (grub_video_fb_unmap_color_int): Likewise.
27438 (grub_video_fb_fill_rect): Likewise.
27439 (grub_video_fb_blit_bitmap): Likewise.
27440 (grub_video_fb_blit_render_target): Likewise.
27441 (grub_video_fb_scroll): Likewise.
27442 (grub_video_fb_create_render_target): Likewise.
27443 (grub_video_fb_doublebuf_blit_init): Likewise.
27444 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27445 (doublebuf_pageflipping_update_screen): New function.
27446 (doublebuf_pageflipping_init): Likewise.
27447 (grub_video_fb_setup): Likewise.
27448 (grub_video_fb_swap_buffers): Likewise.
27449 (grub_video_fb_get_info_and_fini): Likewise.
27450 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27451 All users updated.
27452 (doublebuf_pageflipping_commit): Restructured into ...
27453 (doublebuf_pageflipping_set_page): ... this.
27454 (doublebuf_pageflipping_update_screen): Removed.
27455 (doublebuf_pageflipping_init): Likewise.
27456 (double_buffering_init): Likewise.
27457 (grub_video_vbe_setup): Use grub_video_fb_setup.
27458 (grub_video_vbe_swap_buffers): Removed.
27459 (grub_video_vbe_set_active_render_target): Likewise.
27460 (grub_video_vbe_get_active_render_target): Likewise.
27461 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27462 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27463 grub_video_fb_set_active_render_target and
27464 grub_video_fb_get_active_render_target.
27465 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27466 (SEQUENCER_DATA_PORT): Likewise.
27467 (MAP_MASK_REGISTER): Likewise.
27468 (CRTC_ADDR_PORT): Likewise.
27469 (CRTC_DATA_PORT): Likewise.
27470 (START_ADDR_HIGH_REGISTER): Likewise.
27471 (START_ADDR_LOW_REGISTER): Likewise.
27472 (GRAPHICS_ADDR_PORT): Likewise.
27473 (GRAPHICS_DATA_PORT): Likewise.
27474 (READ_MAP_REGISTER): Likewise.
27475 (INPUT_STATUS1_REGISTER): Likewise.
27476 (INPUT_STATUS1_VERTR_BIT): Likewise.
27477 (get_map_mask): Use grub_vga_sr_read.
27478 (set_map_mask): Use grub_vga_sr_write.
27479 (set_read_map): Use grub_vga_gr_write.
27480 (set_start_address): Use grub_vga_cr_write.
27481 * video/sm712.c (framebuffer): Remove leftover fields.
27482
27483 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
27484
27485 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27486 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27487 instead. Replace the gfxterm backend check with a check that
27488 ${GRUB_PREFIX}/video.lst is non-empty.
27489 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27490 again.
27491 (load_video): New generated function. Call it before loading
27492 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27493 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27494 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27495 * docs/grub.texi (Simple configuration): Document
27496 GRUB_VIDEO_BACKEND.
27497
27498 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27499
27500 Use video functions in linux and xnu loaders.
27501
27502 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27503 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27504 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27505 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27506 loader/i386/pc/linux.c.
27507 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27508 (find_line_len): Removed.
27509 (find_framebuf): Likewise.
27510 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27511 * loader/i386/efi/xnu.c: Removed.
27512 * loader/i386/pc/xnu.c: Moved from here...
27513 * loader/i386/xnu.c: ...here.
27514
27515 Enable priorities in video drivers.
27516
27517 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27518 (grub_video_adapter): New field prio.
27519 (grub_video_register): Respect prio when inserting.
27520 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27521 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27522 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27523 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27524 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27525 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27526 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27527
27528 Fix SDL driver ID.
27529
27530 * include/grub/video.h (grub_video_driver_id_t): New value
27531 GRUB_VIDEO_DRIVER_SDL.
27532 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27533
27534 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27535
27536 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27537 argument to printf.
27538 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27539
27540 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27541
27542 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27543 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27544
27545 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27546
27547 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27548 directly, and recommend grub-install instead.
27549 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27550
27551 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27552
27553 Fix i386-pc prefix handling with nested partitions (Debian bug
27554 #585068). Note that the case where the core image is booted using
27555 multiboot and relocated from its original location still requires
27556 more work.
27557
27558 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27559 with "(,", fill the boot drive in between those two characters, but
27560 expect that a full partition specification including partition map
27561 names will follow.
27562 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27563 specified, write a prefix without the drive name but including a
27564 full partition specification.
27565
27566 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
27567
27568 * util/grub-mkconfig.in: Ignore non-option arguments, for
27569 compatibility with older versions (before 2010-06-12) which did the
27570 same. In particular, this makes it easier to ship an update-grub
27571 wrapper which is compatible with that used with GRUB Legacy (Debian
27572 bug #586056).
27573
27574 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27575
27576 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27577 for manual page generation.
27578
27579 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27580
27581 * po/POTFILES: Remove leftover commands/handler.c.
27582
27583 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27584
27585 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27586 left this script non-functional.
27587
27588 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27589
27590 * docs/man/grub-emu.h2m: New file.
27591
27592 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
27593
27594 * docs/grub.texi (Commands): Document reduced command set in rescue
27595 mode.
27596 (cpuid): New section.
27597
27598 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27599
27600 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27601 new partition naming style.
27602 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27603
27604 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27605
27606 Add "-o grub.iso" like cmdline options support.
27607
27608 * util/grub-install.in: Improve cmdline option parsing.
27609 * util/grub-mkconfig.in: Likewise.
27610 * util/grub-mkrescue.in: Likewise.
27611 * util/grub-reboot.in: Likewise.
27612 * util/grub-set-default.in: Likewise.
27613 * util/i386/efi/grub-install.in: Likewise.
27614 * util/ieee1275/grub-install.in: Likewise.
27615 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27616
27617 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27618
27619 * .bzrignore: Ignore 41_custom.
27620
27621 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27622
27623 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27624
27625 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27626
27627 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27628 prototype declarations.
27629
27630 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27631 generating fs, partmap, and video lists.
27632 * include/grub/fs.h (grub_fs_register): Omit prototype if
27633 GRUB_LST_GENERATOR is defined.
27634 * include/grub/partition.h (grub_partition_map_register): Likewise.
27635 * include/grub/video.h (grub_video_register): Likewise.
27636
27637 2010-06-12 Javier Martín <lordhabbit@gmail.com>
27638
27639 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27640
27641 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27642
27643 * util/grub-mkrescue.in: Support --xorriso argument.
27644
27645 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27646
27647 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27648 Suggested by: Thomas Schmitt.
27649
27650 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27651
27652 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27653 Suggested by: Thomas Schmitt.
27654
27655 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27656
27657 custom.cfg support.
27658
27659 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27660 * util/grub.d/41_custom.in: New file.
27661
27662 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27663
27664 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27665 been merged back into normal.
27666
27667 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27668
27669 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27670 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27671
27672 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27673
27674 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27675 when generating manual pages.
27676 * docs/man/grub-bin2h.h2m: New file.
27677 * docs/man/grub-editenv.h2m: New file.
27678 * docs/man/grub-fstest.h2m: New file.
27679 * docs/man/grub-install.h2m: New file.
27680 * docs/man/grub-macho2img.h2m: New file.
27681 * docs/man/grub-mkconfig.h2m: New file.
27682 * docs/man/grub-mkdevicemap.h2m: New file.
27683 * docs/man/grub-mkfont.h2m: New file.
27684 * docs/man/grub-mkimage.h2m: New file.
27685 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27686 * docs/man/grub-mkrelpath.h2m: New file.
27687 * docs/man/grub-mkrescue.h2m: New file.
27688 * docs/man/grub-ofpathname.h2m: New file.
27689 * docs/man/grub-pe2elf.h2m: New file.
27690 * docs/man/grub-probe.h2m: New file.
27691 * docs/man/grub-reboot.h2m: New file.
27692 * docs/man/grub-script-check.h2m: New file.
27693 * docs/man/grub-set-default.h2m: New file.
27694 * docs/man/grub-setup.h2m: New file.
27695
27696 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27697
27698 Use FOR_* macros instead of *_iterate whenever possible.
27699
27700 * commands/handler.c: Removed.
27701 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27702 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27703 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27704 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27705 (grub_probe_SOURCES): Remove kern/parser.c.
27706 (util/grub-script-check.c_DEPENDENCIES): Removed.
27707 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27708 and grub_script_check_init.c.
27709 (grub_script_check_init.lst): Removed.
27710 (grub_script_check_init.h): Likewise.
27711 (grub_script_check_init.c): Likewise.
27712 (pkglib_MODULES): Remove handler.mod and sh.mod.
27713 (handler_mod_SOURCES): Removed.
27714 (handler_mod_CFLAGS): Likewise.
27715 (handler_mod_LDFLAGS): Likewise.
27716 (normal_mod_SOURCES): Remove normal/handler.c.
27717 Add script/main.c, script/script.c, script/execute.c,
27718 script/function.c, script/lexer.c, grub_script.tab.c
27719 and grub_script.yy.c.
27720 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27721 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27722 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27723 (grub_setup_SOURCES): Remove kern/parser.c.
27724 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27725 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27726 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27727 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27728 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27729 (grub_setup_SOURCES): Remove kern/parser.c.
27730 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27731 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27732 * include/grub/command.h (grub_command_iterate): Removed.
27733 (FOR_COMMANDS): New macro.
27734 * include/grub/dl.h (grub_dl): New member next.
27735 (grub_dl_iterate): Removed.
27736 (grub_dl_head): New variable declaration.
27737 (FOR_DL_MODULES): New macro.
27738 * include/grub/fs.h: Include list.h.
27739 (grub_fs): Make next first element.
27740 (grub_fs_list): New variable declaration.
27741 (grub_fs_register): Make inline.
27742 (grub_fs_unregister): Likewise.
27743 (grub_fs_iterate): Removed.
27744 (FOR_FILESYSTEMS): New macro.
27745 * include/grub/handler.h: Removed.
27746 * include/grub/list.h (grub_list_hook_t): Removed.
27747 (grub_list_test_t): Likewise.
27748 (grub_list_pop): Likewise.
27749 (grub_list_iterate): Likewise.
27750 (grub_list_insert): Likewise.
27751 (FOR_LIST_ELEMENTS): New macro.
27752 * include/grub/parser.h (grub_parser_class): Removed.
27753 (grub_parser_register): Likewise.
27754 (grub_parser_unregister): Likewise.
27755 (grub_parser_get_current): Likewise.
27756 (grub_parser_set_current): Likewise.
27757 (grub_register_rescue_parser): Likewise.
27758 (grub_rescue_parse_line): New function.
27759 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27760 * include/grub/script_sh.h (grub_script_function_list): New variable
27761 declaration.
27762 (FOR_SCRIPT_FUNCTIONS): New macro.
27763 (grub_script_function_iterate): Removed.
27764 (grub_normal_parse_line): New prototype.
27765 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27766 (FOR_DISABLED_TERM_INPUTS): Likewise.
27767 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27768 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27769 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27770 element.
27771 (grub_video_register): Inline.
27772 (grub_video_unregister): Likewise.
27773 (grub_video_adapter_list): New variable declaration.
27774 (grub_video_iterate): Removed.
27775 (FOR_VIDEO_ADAPTERS): New macro.
27776 * kern/dl.c (grub_dl_list): Removed. All users updated.
27777 (grub_dl_iterate): Removed.
27778 * kern/fs.c (grub_fs_list): Make global.
27779 (grub_fs_register): Removed.
27780 (grub_fs_unregister): Likewise.
27781 (grub_fs_iterate): Likewise.
27782 * kern/handler.c: Removed.
27783 * kern/list.c (grub_list_pop): Removed.
27784 (grub_list_iterate): Likewise.
27785 (grub_list_insert): Likewise.
27786 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27787 (grub_prio_list_insert): Don't use grub_list_insert.
27788 * kern/main.c (grub_register_rescue_parser): Don't call
27789 grub_register_rescue_parser.
27790 * kern/parser.c (grub_parser_class): Removed.
27791 (grub_parser_execute): Use grub_rescue_parse_line.
27792 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27793 (grub_rescue_parser): Removed.
27794 (grub_register_rescue_parser): Likewise.
27795 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27796 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27797 (grub_auth_check_authentication): Likewise.
27798 * normal/completion.c (iterate_command): Removed.
27799 (grub_normal_do_completion): Use FOR_COMMANDS.
27800 * normal/handler.c: Removed.
27801 * normal/main.c (read_config_file): Remove parser changing.
27802 (grub_normal_execute): Don't call read_handler_list.
27803 (grub_normal_read_line_real): Statically allocate prompt.
27804 (grub_cmdline_run): Use grub_normal_parse_line.
27805 (GRUB_MOD_FINI): Don't call free_handler_list.
27806 * normal/menu_entry.c (run): Likewise.
27807 * script/function.c (grub_script_function_list): Make global.
27808 (grub_script_function_iterate): Removed.
27809 * script/main.c (grub_normal_parse_line): Make global.
27810 (grub_sh_parser): Removed.
27811 (GRUB_MOD_INIT): Likewise.
27812 (GRUB_MOD_FINI): Likewise.
27813 * tests/lib/functional_test.c (grub_functional_test): Use
27814 FOR_LIST_ELEMENTS.
27815 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27816 (grub_test_run): Use FOR_LIST_ELEMENTS.
27817 * tests/lib/unit_test.c (main): Likewise.
27818 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27819 grub_list_pop.
27820 * util/grub-fstest.c (grub_term_input_class): Removed.
27821 (grub_term_output_class): Likewise.
27822 * util/grub-probe.c: Likewise.
27823 * util/i386/pc/grub-setup.c: Likewise.
27824 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27825 * util/grub-script-check.c (main): Don't call grub_init_all and
27826 grub_fini_all.
27827 * video/video.c (grub_video_adapter_list): Make global.
27828 (grub_video_register): Removed.
27829 (grub_video_unregister): Likewise.
27830 (grub_video_iterate): Likewise.
27831
27832 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27833
27834 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27835 reported by Henrique Ferreiro.
27836
27837 2010-06-09 Robert Millan <rmh@gnu.org>
27838
27839 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27840 ones, when both are available.
27841
27842 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27843
27844 Make --version uniform and avoid hard-coded program name.
27845
27846 * util/grub-mkimage.c (main): Use `program_name' instead of
27847 hard-coded string.
27848 * util/i386/pc/grub-setup.c (main): Likewise.
27849 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27850 * util/grub-install.in: Save the basename of $0 in $self, and use the
27851 latter in informational messages. Use the same format for --version
27852 as the binary programs.
27853 * util/grub-mkconfig.in: Likewise.
27854 * util/grub-mkrescue.in: Likewise.
27855 * util/grub-reboot.in: Likewise.
27856 * util/grub-set-default.in: Likewise.
27857 * util/i386/efi/grub-install.in: Likewise.
27858 * util/ieee1275/grub-install.in: Likewise.
27859 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27860
27861 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27862
27863 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27864 embedding area. Use <= instead of == when checking for non-emptiness.
27865
27866 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27867
27868 * configure.ac: Add `.' to the directories searched for unifont.
27869
27870 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27871
27872 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27873 grub_script.yy.h.
27874
27875 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27876
27877 * docs/grub.texi (History): Expand to cover GRUB 2.
27878 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27879 commands, not `terminal'.
27880 (serial): Likewise.
27881 (terminal_input): New section.
27882 (terminal_output): New section.
27883 (uppermem): New section (stub).
27884 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27885
27886 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27887
27888 * docs/grub.texi (Security): Menu entries are unrestricted by
27889 default, not restricted to superusers as I had previously thought.
27890 Reword to account for this.
27891
27892 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27893
27894 * kern/emu/misc.c (device_mapper_null_log): New function.
27895 (grub_device_mapper_supported): New function.
27896 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27897 prototype.
27898 * kern/emu/hostdisk.c (find_partition_start): Check whether
27899 device-mapper is supported before trying to use it.
27900 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27901
27902 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27903
27904 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27905 (File name syntax): Likewise.
27906 (help): --all is no longer supported in GRUB 2. Be more precise
27907 about pattern matching.
27908
27909 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27910
27911 * normal/completion.c (grub_normal_do_completion): When completing
27912 arguments to "set" and the current word contains an equals sign,
27913 skip to after the equals sign before starting completion.
27914
27915 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27916
27917 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27918
27919 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27920
27921 * docs/grub.texi (Network): New section.
27922 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27923 `(nd)' as in GRUB Legacy.
27924 (pxe_unload): New section.
27925
27926 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27927
27928 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27929 in the rescue shell, so recommend using `set' instead. Thanks,
27930 Jordan Uggla.
27931
27932 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27933
27934 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27935 (password): New section.
27936 (password_pbkdf2): New section.
27937 (search): New section.
27938 (Security): New section.
27939 (Troubleshooting): New section, currently very incomplete.
27940 (Invoking grub-mkpasswd-pbkdf2): New section.
27941 (Internals): New section, currently very incomplete.
27942
27943 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27944
27945 * util/grub.d/00_header.in: Add some more quoting (of
27946 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27947 work again.
27948 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27949
27950 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27951
27952 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27953 to `count', fixing variable shadowing that broke the -c option.
27954
27955 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
27956
27957 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27958 in case they contain spaces.
27959
27960 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27961
27962 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27963 "part_" to partmap module names, in line with grub-install.
27964 Reported by: Jindřich Makovička (Debian bug #584426).
27965
27966 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27967
27968 * util/grub-mkimage.c: Make target-related error messages slightly
27969 more helpful; -O talks about "format". Explicitly point to the use
27970 of -O if no target is specified.
27971 Reported by: Didier Raboud (Debian bug #584415).
27972
27973 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
27974
27975 * INSTALL: Document several build requirements for optional features
27976 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27977
27978 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27979
27980 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27981 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27982 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27983
27984 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27985
27986 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27987 Thanks to Jordan Uggla for spotting this.
27988
27989 2010-06-02 Aleš Nesrsta <starous@volny.cz>
27990
27991 Finally make USB usable.
27992
27993 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27994 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27995 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27996 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27997 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27998 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27999 (GRUB_OHCI_FSMPS): Likewise.
28000 (GRUB_OHCI_PERIODIC_START): Likewise.
28001 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
28002 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
28003 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
28004 (GRUB_OHCI_SET_PORT_RESET): Likewise.
28005 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
28006 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
28007 (grub_ohci_transaction): Likewise.
28008 (grub_ohci_transfer): Improve condition detection algorithms.
28009 Handle toggle property. Program the transactions correctly.
28010 Improve error handling. Various important fixups.
28011 (grub_ohci_portstatus): Put register writes in right order.
28012 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
28013 (grub_uhci_transfer): Don't show "failed" message on success.
28014 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
28015 array.
28016 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
28017 determine its size.
28018 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
28019 before initialization is completed. Use IN direction for empty
28020 transfers. Use last_trans and compute toggle.
28021 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
28022 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
28023 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
28024 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
28025 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
28026 (grub_usb_device): Increase toggle to 256.
28027 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
28028 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
28029 GRUB_USBMS_SUBCLASS_SFF8070.
28030 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
28031 (grub_scsi_inquiry): New member page and alloc_length.
28032 (grub_scsi_request_sense): New structure.
28033 (grub_scsi_request_sense_data): Likewise.
28034 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
28035 control.
28036 * disk/scsi.c (grub_scsi_request_sense): New function.
28037 (grub_scsi_test_unit_ready): Likewise.
28038 (grub_scsi_inquiry): Fill new fields.
28039 (grub_scsi_read_capacity): Likewise.
28040 (grub_scsi_read10): Add request sense at the end.
28041 (grub_scsi_read12): Likewise.
28042 (grub_scsi_write10): Likewise.
28043 (grub_scsi_write12): Likewise.
28044 (grub_scsi_open): Add Test Unit Ready.
28045 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
28046 Support additional subclasses. Con't clear halt yet. Activate the
28047 proper config. Calculate LUNs correctly.
28048 (grub_usbms_transfer): Various important fixups.
28049
28050 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28051
28052 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
28053 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
28054 (grub_ohci_fini_hw): New function.
28055 (grub_ohci_restore_hw): Likewise.
28056 (GRUB_MOD_INIT(ohci)): Register preboot hook.
28057 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
28058 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
28059
28060 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28061
28062 Dedicated DMA allocations.
28063
28064 * bus/pci.c (grub_memalign_dma32): New function
28065 (grub_dma_free): Likewise.
28066 (grub_dma_get_virt): Likewise.
28067 (grub_dma_get_phys): Likewise.
28068 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
28069 (grub_ohci_pci_iter): Use dma32_alloc.
28070 (grub_ohci_transfer): Likewise.
28071 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
28072 (grub_usb_bulk_readwrite): Likewise.
28073 * include/grub/pci.h: Add declarations.
28074
28075 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28076
28077 CS5536 support.
28078
28079 * bus/cs5536.c: New file.
28080 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
28081 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
28082 (cs5536_mod_SOURCES): New variable.
28083 (cs5536_mod_CFLAGS): Likewise.
28084 (cs5536_mod_LDFLAGS): Likewise.
28085 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
28086 machine/pci.h.
28087 (kernel_img_SOURCES): Add bus/cs5536.c.
28088 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
28089 usb_keyboard.mod.
28090 (usb_mod_SOURCES): New variable.
28091 (usb_mod_CFLAGS): New variable.
28092 (usb_mod_LDFLAGS): New variable.
28093 (usbtest_mod_SOURCES): New variable.
28094 (usbtest_mod_CFLAGS): New variable.
28095 (usbtest_mod_LDFLAGS): New variable.
28096 (ohci_mod_SOURCES): New variable.
28097 (ohci_mod_CFLAGS): New variable.
28098 (ohci_mod_LDFLAGS): New variable.
28099 (usbms_mod_SOURCES): New variable.
28100 (usbms_mod_CFLAGS): New variable.
28101 (usbms_mod_LDFLAGS): New variable.
28102 (usb_keyboard_mod_SOURCES): New variable.
28103 (usb_keyboard_mod_CFLAGS): New variable.
28104 (usb_keyboard_mod_LDFLAGS): New variable.
28105 * include/grub/smbus.h: New file.
28106 * include/grub/cs5536.h: New file.
28107
28108 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28109
28110 * util/grub.d/00_header.in: Add safety check to make sure that
28111 ${locale_dir} exists before trying to probe it.
28112
28113 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28114
28115 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28116 per the GNU Coding Standards; this is now too obscure to be worth
28117 documenting.
28118 (QNX): Likewise.
28119 (chainloader): Remove cross-reference to `SCO UnixWare'.
28120
28121 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28122
28123 * docs/grub.texi (Chain-loading): New section.
28124 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28125 adjusted for GRUB 2.
28126 (SCO UnixWare): Likewise.
28127 (QNX): Likewise.
28128 (chainloader): Add reference to `Block list syntax'.
28129 (drivemap): New section.
28130 (parttool): New section.
28131
28132 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28133
28134 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28135 the grub shell'.
28136 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28137 (Installing GRUB using grub-install): Remove reference to the grub
28138 shell; mention `grub-mkimage' and `grub-setup' instead.
28139 (Invoking grub-install): Likewise.
28140 (Interface): Add reference to `Menu entry editor'.
28141 (serial): Remove `--device' option.
28142
28143 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28144
28145 * docs/grub.texi (Configuration): New section, documenting
28146 configuration file generation using grub-mkconfig. I've left a slot
28147 for documenting the full shell scripting format but have not yet
28148 started on writing that up.
28149 (Invoking grub-mkconfig): New section.
28150
28151 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28152
28153 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28154 (GNU GRUB manual): Likewise.
28155 (General commands): Update description of `terminfo' for GRUB 2.
28156
28157 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28158
28159 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28160 (GRUB_MOD_INIT): Fix capitalisation.
28161 * docs/grub.texi (Command-line and menu entry commands): Document
28162 gettext and gptsync commands.
28163
28164 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28165
28166 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28167 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28168
28169 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
28170
28171 Add btrfs probing support, currently only in the single-device case.
28172
28173 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28174 function.
28175 (grub_guess_root_device): Call find_root_device_from_mountinfo
28176 before looking in /dev.
28177
28178 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28179
28180 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28181 GRUB_DISK_SIZE_UNKNOWN.
28182 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28183
28184 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
28185
28186 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28187 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28188 corrupted or not synced properly.
28189
28190 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28191
28192 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28193 Reported by: Seth Goldberg.
28194
28195 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28196
28197 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28198 addition of dest.
28199 Reported by: Seth Goldberg.
28200
28201 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28202
28203 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28204 Reported by: Seth Goldberg.
28205
28206 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28207
28208 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28209 64-bit address as signed on MIPS.
28210
28211 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28212
28213 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28214 to the empty string.
28215
28216 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28217
28218 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28219
28220 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28221 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28222 * kern/misc.c (__enable_execute_stack): Disable on
28223 GRUB_MACHINE_EMU.
28224
28225 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28226
28227 Make grub-probe work with symbolic links under /dev/mapper as well
28228 as with real block devices. The Linux world seems to be (at best)
28229 in transition here, and GRUB shouldn't get caught in the middle.
28230
28231 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28232 /dev/mapper.
28233
28234 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28235
28236 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28237 input files (in which case exit zero).
28238
28239 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28240
28241 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28242 return NULL for various reasons even if it has a maximum-length
28243 buffer: for example, there might be a symlink loop, or the path
28244 might exceed PATH_MAX. If this happens, return NULL.
28245
28246 2010-05-27 Robert Millan <rmh@gnu.org>
28247
28248 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28249 partmap module to handle cross-partmap setups.
28250 Reported by Orestes Mas. Gràcies!
28251
28252 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28253
28254 * util/grub-mkrescue.in: Initialise override_dir rather than
28255 assuming that it's unset or empty in the environment.
28256
28257 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28258
28259 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28260 variable index into p_index to suppress a warning with -Wshadow.
28261
28262 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28263
28264 * INSTALL: Added flex >= 2.5.35 requirement.
28265
28266 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28267
28268 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28269
28270 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28271
28272 cmostest support.
28273
28274 * commands/i386/cmostest.c: New file.
28275 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28276 (cmostest_mod_SOURCES): New variable.
28277 (cmostest_mod_CFLAGS): Likewise.
28278 (cmostest_mod_LDFLAGS): Likewise.
28279 * conf/i386-pc.rmk: Likewise.
28280 * docs/grub.texi (Vendor power-on keys): New section.
28281 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28282 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28283 and GRUB_BUTTON_CMOS_ADDRESS.
28284 * util/grub.d/00_header.in: Handle powering-on by separate button.
28285
28286 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28287
28288 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28289 Removed drawing_scrollbar argument. All users updated
28290 Fixes #29792.
28291 Reported by Jo Shields
28292
28293 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28296 buffer since gfxterm handles double repaint.
28297
28298 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28299
28300 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28301 * term/gfxterm.c (real_scroll): Likewise.
28302
28303 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28304
28305 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28306 before calling BIOS.
28307
28308 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28309
28310 * include/grub/i18n.h: Always enable grub_gettext.
28311
28312 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28313
28314 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28315 partition naming style.
28316
28317 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
28318
28319 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28320 not the first option.
28321
28322 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28323
28324 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28325
28326 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28327
28328 * util/misc.c: Move inclusion of <limits.h> to ...
28329 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28330
28331 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28332
28333 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28334 Fix merge error in NetBSD code.
28335 (find_partition_start) [__NetBSD__]: Likewise.
28336
28337 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28338
28339 Fix grub-mkrescue usage unit testing.
28340
28341 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28342
28343 2010-05-18 Christian Franke <franke@computer.org>
28344
28345 * util/grub.d/10_windows.in: Use path names instead of
28346 drive letters to prevent warning from Cygwin 1.7.
28347 Add drivemap command to menuentry if needed.
28348
28349 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28350
28351 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28352 gnumach and gnumach.gz.
28353
28354 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28355
28356 * include/grub/i18n.h (gettext): Inline instead of using #define.
28357 (grub_gettext): Likewise.
28358 (_): Likewise.
28359
28360 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28361
28362 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28363 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28364 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28365 (main): Add a slash after pkglibdirroot.
28366
28367 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28368
28369 * util/grub-install.in: Add missing "in" keyword.
28370
28371 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28372
28373 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28374 Reported by: Seth Goldberg.
28375
28376 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28377
28378 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28379
28380 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28381
28382 * configure.ac: Check for Linux device-mapper support.
28383
28384 * util/hostdisk.c (device_is_mapped): New function.
28385 (find_partition_start): New function, partly broken out from
28386 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28387 device-mapper support added.
28388 (linux_find_partition): Use find_partition_start.
28389 (convert_system_partition_to_system_disk): Add `st' argument.
28390 Support Linux /dev/mapper/* devices if device-mapper support is
28391 available; only DM-RAID devices are understood at present.
28392 (find_system_device): Add `st' argument. Pass it to
28393 convert_system_partition_to_system_disk.
28394 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28395 find_system_device and convert_system_partition_to_system_disk. Use
28396 find_partition_start.
28397
28398 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28399 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28400 * util/deviceiter.c [__linux__]: Define MINOR.
28401 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28402 * util/mkdevicemap.c (grub_putchar): New function.
28403 (grub_getkey): New function.
28404 (grub_refresh): New function.
28405 (main): Set debug=all if -v -v is used.
28406
28407 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28408
28409 Fix build with non-GNU libcs.
28410
28411 * util/misc.c (canonicalize_file_name): Move to ...
28412 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28413 grub_make_system_path_relative_to_its_root.
28414
28415 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28416
28417 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28418 we handle finding grub-mkimage. Default to finding grub-mkimage in
28419 ${bindir} with program_transform_name applied, and provide a
28420 --grub-mkimage option to override this.
28421
28422 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28423
28424 Remove grub-mkisofs.
28425
28426 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28427 (grub_mkisofs_SOURCES): Removed.
28428 (grub_mkisofs_CFLAGS): Removed.
28429 * util/mkisofs/defaults.h: Removed.
28430 * util/mkisofs/eltorito.c: Likewise.
28431 * util/mkisofs/exclude.h: Likewise.
28432 * util/mkisofs/hash.c: Likewise.
28433 * util/mkisofs/include/: Likewise.
28434 * util/mkisofs/include/fctldefs.h: Likewise.
28435 * util/mkisofs/include/mconfig.h: Likewise.
28436 * util/mkisofs/include/prototyp.h: Likewise.
28437 * util/mkisofs/include/statdefs.h: Likewise.
28438 * util/mkisofs/iso9660.h: Likewise.
28439 * util/mkisofs/joliet.c: Likewise.
28440 * util/mkisofs/match.c: Likewise.
28441 * util/mkisofs/match.h: Likewise.
28442 * util/mkisofs/mkisofs.c: Likewise.
28443 * util/mkisofs/mkisofs.h: Likewise.
28444 * util/mkisofs/msdos_partition.h: Likewise.
28445 * util/mkisofs/multi.c: Likewise.
28446 * util/mkisofs/name.c: Likewise.
28447 * util/mkisofs/rock.c: Likewise.
28448 * util/mkisofs/tree.c: Likewise.
28449 * util/mkisofs/write.c: Likewise.
28450
28451 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28452
28453 Unify grub-mkimage accross platforms.
28454
28455 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28456 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28457 (grub_mkelfimage_SOURCES): Removed.
28458 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28459 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28460 (bin_UTILITIES): Add grub-mkimage.
28461 (grub_mkimage_SOURCES): New variable.
28462 (kernel_img_HEADERS): Remove machine/kernel.h.
28463 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28464 (pkglib_PROGRAMS): Add kernel.img.
28465 (kernel_img_HEADERS): Add machine/kernel.h.
28466 (kernel_img_FORMAT): Removed.
28467 (bin_UTILITIES): Remove grub-mkimage.
28468 (grub_mkimage_SOURCES): Removed.
28469 (grub_mkimage_CFLAGS): Likewise.
28470 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28471 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28472 (pkglib_PROGRAMS): Add kernel.img.
28473 (bin_UTILITIES): Remove grub-mkimage.
28474 (grub_mkimage_SOURCES): Removed.
28475 (grub_mkimage_CFLAGS): Likewise.
28476 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28477 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28478 (pkglib_PROGRAMS): Add kernel.img.
28479 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28480 (pkglib_PROGRAMS): Add kernel.img.
28481 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28482 (grub_mkimage_SOURCES): Removed.
28483 (grub_mkimage_CFLAGS): Likewise.
28484 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28485 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28486 (pkglib_PROGRAMS): Add kernel.img.
28487 (bin_UTILITIES): Remove grub-mkimage.
28488 (grub_mkimage_SOURCES): Removed.
28489 (grub_mkimage_CFLAGS): Likewise.
28490 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28491 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28492 (grub_mkimage_SOURCES): Removed.
28493 (grub_mkimage_CFLAGS): Likewise.
28494 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28495 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28496 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28497 (grub_pe32_optional_header): ... this.
28498 (grub_pe64_optional_header): ... and this. All users updated.
28499 (GRUB_PE32_PE32_MAGIC): Split into ..
28500 (GRUB_PE32_PE32_MAGIC): .. this.
28501 (GRUB_PE32_PE64_MAGIC): .. and this.
28502 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28503 * include/grub/elf.h (PT_GNU_STACK): New definition.
28504 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28505 * include/grub/i386/efi/kernel.h: Likewise.
28506 * include/grub/i386/kernel.h: Likewise.
28507 * include/grub/i386/pc/kernel.h: Likewise.
28508 * include/grub/i386/qemu/boot.h: Likewise.
28509 * include/grub/mips/kernel.h: Likewise.
28510 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28511 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28512 * include/grub/powerpc/kernel.h: Likewise.
28513 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28514 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28515 * include/grub/sparc64/kernel.h: Likewise.
28516 * include/grub/x86_64/efi/kernel.h: Likewise.
28517 * include/grub/x86_64/kernel.h: Likewise.
28518 * include/grub/offsets.h: New file.
28519 * include/grub/kernel.h (grub_module_info): Split into ...
28520 (grub_module_info32): ... this.
28521 (grub_module_info64): ... and this.
28522 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28523 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28524 (grub_boot_blocklist): Moved from here ...
28525 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28526 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28527 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28528 * include/grub/types.h (grub_target_to_host16): Removed.
28529 (grub_target_to_host32): Likewise.
28530 (grub_target_to_host64): Likewise.
28531 (grub_host_to_target16): Likewise.
28532 (grub_host_to_target32): Likewise.
28533 (grub_host_to_target64): Likewise.
28534 (grub_host_to_target_addr): Likewise.
28535
28536 Support grub-mkrescue for efi, coreboot and qemu.
28537
28538 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28539 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28540 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28541 * util/grub-mkrawimage.c: Moved from here ...
28542 * util/grub-mkimage.c: ... here. All users updated.
28543 (ALIGN_ADDR): Use image_target.
28544 (TARGET_NO_FIELD): New const.
28545 (image_target_desc): New type.
28546 (image_targets): New array.
28547 (grub_target_to_host64): Use image_target.
28548 (grub_target_to_host32): Likewise.
28549 (grub_target_to_host16): Likewise.
28550 (grub_host_to_target64): Likewise.
28551 (grub_host_to_target32): Likewise.
28552 (grub_host_to_target16): Likewise.
28553 (grub_host_to_target_addr): Likewise.
28554 (generate_image): Handle multiimage.
28555 (main): Require -O parameter. All users updated.
28556 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28557 util/efi/grub-mkimage.c
28558 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28559 New option --rom-directory.
28560 Use xorriso.
28561 * util/i386/efi/grub-mkimage.c: Removed.
28562 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28563 (grub_target_to_host32): Likewise.
28564 (grub_target_to_host64): Likewise.
28565 (grub_host_to_target16): Likewise.
28566 (grub_host_to_target32): Likewise.
28567 (grub_host_to_target64): Likewise.
28568 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28569 (grub_target_to_host32): Likewise.
28570 (grub_target_to_host64): Likewise.
28571 (grub_host_to_target16): Likewise.
28572 (grub_host_to_target32): Likewise.
28573 (grub_host_to_target64): Likewise.
28574
28575 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28576
28577 Source tree is reorganized for emu build.
28578
28579 * include/grub/util/console.h: Move from here...
28580 * include/grub/emu/console.h: ...to here.
28581 * include/grub/util/getroot.h: Move from here...
28582 * include/grub/emu/getroot.h: ...to here.
28583 * include/grub/util/hostdisk.h: Move from here...
28584 * include/grub/emu/hostdisk.h: ...to here.
28585 * util/console.c: Move from here...
28586 * kern/emu/console.c: ...to here.
28587 * util/getroot.c: Move from here...
28588 * kern/emu/getroot.c: ...to here.
28589 * util/grub-emu.c: Move from here...
28590 * kern/emu/main.c: ...to here.
28591 * util/hostdisk.c: Move from here...
28592 * kern/emu/hostdisk.c: ...to here.
28593 * util/hostfs.c: Move from here...
28594 * kern/emu/hostfs.c: ...to here.
28595 * util/mm.c: Move from here...
28596 * kern/emu/mm.c: ...to here.
28597 * util/pci.c: Move from here...
28598 * bus/emu/pci.c: ...to here.
28599 * util/sdl.c: Move from here...
28600 * video/emu/sdl.c: ...to here.
28601 * util/time.c: Move from here...
28602 * kern/emu/time.c: ...to here.
28603 * util/usb.c: Move from here...
28604 * bus/usb/emu/usb.c: ...to here.
28605
28606 * include/grub/emu/misc.h: New header for grub-emu functions.
28607 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28608
28609 * conf/any-emu.rmk: Rule updates for above renames.
28610 * conf/common.rmk: Likewise.
28611 * conf/i386-pc.rmk: Likewise.
28612 * conf/i386-qemu.rmk: Likewise.
28613 * conf/mips.rmk: Likewise.
28614 * conf/sparc64-ieee1275.rmk: Likewise.
28615 * conf/x86-efi.rmk: Likewise.
28616
28617 * disk/lvm.h: #include updates for above renames.
28618 * util/grub-mkrelpath.c: Likewise.
28619 * util/grub-probe.c: Likewise.
28620 * util/i386/pc/grub-setup.c: Likewise.
28621 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28622 * kern/emu/console.c: Likewise.
28623 * kern/emu/getroot.c: Likewise.
28624 * kern/emu/hostdisk.c: Likewise.
28625 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28626
28627 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28628 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28629 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28630 * util/misc.c: Remove grub-emu functions.
28631
28632 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28633
28634 Fix gfxmenu crash.
28635 Reported by: Thorsten Grützmacher.
28636
28637 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28638 timeout hook.
28639 (circprog_set_property): Register and unregister timeout hook.
28640 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28641 (label_destroy): Free template. and unregister hook.
28642 (label_set_state): New function.
28643 (label_set_property): Handle templates and hooks.
28644 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28645 timeout hook.
28646 (progress_bar_set_property): Register and unregister timeout hook.
28647 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28648 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28649 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28650 (update_timeout_visit): Removed.
28651 (update_timeouts): New function.
28652 (redraw_timeouts): Likewise.
28653 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28654 (grub_gfxmenu_clear_timeout): Likewise.
28655 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28656 (grub_gfxmenu_timeout_notify): Likewise.
28657 (grub_gfxmenu_timeout_notifications): New external variable.
28658 (grub_gfxmenu_timeout_register): New function.
28659 (grub_gfxmenu_timeout_unregister): Likewise.
28660
28661 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28662
28663 Transform (broken) vga terminal into (working) vga video driver.
28664
28665 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28666 video/i386/pc/vga.c.
28667 * include/grub/video.h (grub_video_driver_id):
28668 Add GRUB_VIDEO_DRIVER_VGA.
28669 * term/i386/pc/vga.c: Renamed to ...
28670 * video/i386/pc/vga.c: ...this
28671 (DEBUG_VGA): Removed.
28672 (CHAR_WIDTH): Likewise.
28673 (CHAR_HEIGHT): Likewise.
28674 (TEXT_WIDTH): Likewise.
28675 (TEXT_HEIGHT): Likewise.
28676 (DEFAULT_FG_COLOR): Likewise.
28677 (DEFAULT_BG_COLOR): Likewise.
28678 (colored_char): Likewise.
28679 (xpos): Likewise.
28680 (ypos): Likewise.
28681 (cursor_state): Likewise.
28682 (fg_color): Likewise.
28683 (bg_color): Likewise.
28684 (text_buf): Likewise.
28685 (page): Likewise.
28686 (font): Likewise.
28687 (framebuffer): New variable.
28688 (set_read_map): Disabled.
28689 (setup): New variable.
28690 (is_target): Likewise.
28691 (grub_vga_mod_init): Likewise.
28692 (grub_vga_mod_fini): Likewise.
28693 (check_vga_mem): Likewise.
28694 (write_char): Likewise.
28695 (write_cursor): Likewise.
28696 (scroll_up): Likewise.
28697 (grub_vga_putchar): Likewise.
28698 (grub_vga_getcharwidth): Likewise.
28699 (grub_vga_getwh): Likewise.
28700 (grub_vga_getxy): Likewise.
28701 (grub_vga_gotoxy): Likewise.
28702 (grub_vga_cls): Likewise.
28703 (grub_vga_setcolorstate): Likewise.
28704 (grub_vga_setcursor): Likewise.
28705 (grub_video_vga_init): New function.
28706 (grub_video_vga_setup): Likewise.
28707 (grub_video_vga_fini): Likewise.
28708 (update_target): Likewise.
28709 (grub_video_vga_blit_bitmap): Likewise.
28710 (grub_video_vga_blit_render_target): Likewise.
28711 (grub_video_vga_set_active_render_target): Likewise.
28712 (grub_video_vga_get_active_render_target): Likewise.
28713 (grub_video_vga_swap_buffers): Likewise.
28714 (grub_video_vga_set_palette): Likewise.
28715 (grub_video_vga_get_info_and_fini): Likewise.
28716 (grub_vga_term): Removed.
28717 (grub_video_vga_adapter): New variable.
28718 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28719 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28720
28721 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28722
28723 * video/readers/jpeg.c: Indented.
28724
28725 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28726
28727 Various jpeg cleanups.
28728
28729 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28730 (grub_jpeg_decode_quan_table): Use sizeof.
28731 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28732
28733 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
28734
28735 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28736 tables. Ignore non-last ac bit.
28737 (grub_jpeg_decode_quan_table): Likewise.
28738
28739 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28740
28741 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28742 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28743 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28744 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28745 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28746 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28747
28748 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28749
28750 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28751 error.
28752
28753 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28754
28755 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28756
28757 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28758
28759 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28760 condition.
28761
28762 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28763
28764 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28765 part.
28766
28767 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28768
28769 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28770 pointers.
28771
28772 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28773
28774 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28775
28776 2010-05-01 Christian Franke <franke@computer.org>
28777
28778 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28779 Remove broken Cygwin path conversion.
28780 * util/misc.c: [__CYGWIN__] Add include and define.
28781 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28782 for Cygwin 1.7.
28783 (make_system_path_relative_to_its_root): Simplify loop, replace early
28784 return by break.
28785 [__CYGWIN__] Add conversion to win32 path.
28786 Include "/" case in trailing slash removal.
28787
28788 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28789
28790 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28791 Reported by: Seth Goldberg
28792
28793 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28794
28795 * commands/help.c (grub_cmd_help): Fix a typo.
28796 Reported by: Seth Goldberg
28797
28798 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28799
28800 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28801 name and add N_.
28802 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28803 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28804 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28805 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28806 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28807 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28808 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28809 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28810 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28811 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28812 * normal/context.c (GRUB_MOD_INIT): Likewise.
28813 * normal/main.c (GRUB_MOD_INIT): Likewise.
28814 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28815 * term/serial.c (GRUB_MOD_INIT): Likewise.
28816 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28817
28818 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28819
28820 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28821 extra == 0.
28822
28823 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28824
28825 * commands/iorw.c: New file.
28826 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28827 (iorw_mod_SOURCES): New variable.
28828 (iorw_mod_CFLAGS): Likewise.
28829 (iorw_mod_LDFLAGS): Likewise.
28830
28831 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28832
28833 Hotkey support
28834
28835 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28836 * normal/main.c (hotkey_aliases): New variable.
28837 (grub_normal_add_menu_entry): Parse "--hotkey".
28838 * normal/menu_text.c (run_menu): Handle hotkeys.
28839
28840 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28841
28842 * kern/i386/coreboot/init.c (grub_machine_init): Call
28843 grub_machine_mmap_init on qemu.
28844
28845 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28846
28847 * boot/i386/qemu/boot.S: Add a missing .code16.
28848
28849 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28850
28851 Use LBIO on coreboot.
28852
28853 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28854 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28855 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28856 New declaration.
28857 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28858 grub_machine_mmap_init on coreboot.
28859 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28860 GRUB_LINUXBIOS_MEMBER_LINK.
28861 (grub_machine_mmap_iterate): Fix declaration.
28862 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28863
28864 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28865
28866 Split coreboot and multiboot ports.
28867
28868 * conf/i386-multiboot.rmk: New file.
28869 * configure.ac: Add multiboot port.
28870 * include/grub/i386/multiboot/boot.h: New file.
28871 * include/grub/i386/multiboot/console.h: Likewise.
28872 * include/grub/i386/multiboot/init.h: Likewise.
28873 * include/grub/i386/multiboot/kernel.h: Likewise.
28874 * include/grub/i386/multiboot/loader.h: Likewise.
28875 * include/grub/i386/multiboot/memory.h: Likewise.
28876 * include/grub/i386/multiboot/serial.h: Likewise.
28877 * include/grub/i386/multiboot/time.h: Likewise.
28878 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28879 * loader/multiboot.c: Likewise.
28880 * loader/multiboot_mbi2.c: Likewise.
28881 * util/grub-mkrescue.in: Generate multiboot rescue.
28882
28883 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28884
28885 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28886
28887 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28888
28889 Merge handling of input and output terminals. Fix a hang.
28890
28891 * commands/terminal.c (abstract_terminal): New struct.
28892 (handle_command): New function. Based on grub_cmd_terminal_input.
28893 (grub_cmd_terminal_input): Use handle_command.
28894 (grub_cmd_terminal_output): Use handle_command.
28895
28896 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28897
28898 Fix comment handling.
28899
28900 * tests/grub_script_comments.in: New testcase.
28901 * conf/tests.rmk: Rules for new testcase.
28902 * script/yylex.l: Updated flex rules.
28903
28904 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28905
28906 * docs/grub.texi (play): Document that zero pitches produce rests.
28907 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28908 if argc is 1.
28909
28910 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28911
28912 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28913 autogen issues.
28914
28915 2010-04-26 Christian Franke <franke@computer.org>
28916
28917 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28918 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28919 (grub_get_prefix): Remove function.
28920 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28921 make_system_path_relative_to_its_root ().
28922 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28923
28924 2010-04-24 Christian Franke <franke@computer.org>
28925
28926 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28927 (kernel_img_LDFLAGS): Remove -static-libgcc.
28928
28929 2010-04-24 Christian Franke <franke@computer.org>
28930
28931 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28932 and CHECK_END_SYMBOL if grub-emu is built.
28933 Unset TARGET_OBJ2ELF if grub-emu is built
28934 without module support.
28935
28936 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
28937
28938 Nilfs2 support.
28939
28940 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28941 (grub_fstest_SOURCES): Likewise.
28942 (pkglib_MODULES): Add nilfs2.mod.
28943 (nilfs2_mod_SOURCES): New variable.
28944 (nilfs2_mod_CFLAGS): Likewise.
28945 (nilfs2_mod_LDFLAGS): Likewise.
28946 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28947 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28948 * fs/nilfs2.c: New file.
28949
28950 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28951
28952 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28953 is not supported.
28954
28955 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28956
28957 Add grub-mkconfig support for NetBSD.
28958
28959 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28960 * util/grub-mkconfig.in: export new NetBSD specific variables.
28961 * po/POTFILES-shell: added 10_netbsd.in.
28962 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28963
28964 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28965
28966 Fix emu build with grub-emu-pci and grub-emu-modules.
28967
28968 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28969 functions.
28970 * include/grub/libpciaccess.h: New file.
28971 * conf/any-emu.rmk: Update kernel headers for emu build.
28972
28973 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28974
28975 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28976
28977 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28978
28979 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28980
28981 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28982
28983 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28984 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28985 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28986 util/ieee1275/ofpath.c.
28987 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28988 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28989 * include/grub/sparc64/ieee1275/boot.h
28990 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28991 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28992 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28993 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28994 const char *.
28995 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28996 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28997 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28998 install.
28999
29000 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
29001
29002 * util/grub-mkconfig.in: Corrected two == equality tests.
29003 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
29004 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
29005 expect a number appended to it.
29006 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
29007 expects a number appended to it.
29008
29009 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29010
29011 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
29012
29013 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
29014
29015 * util/hostdisk.c (make_device_name): Change to new partition naming.
29016
29017 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
29018
29019 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
29020
29021 2010-04-17 Christian Franke <franke@computer.org>
29022
29023 * Makefile.in: Add missing localedir setting.
29024
29025 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
29026
29027 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
29028 mistake in r2156. Noticed by Anthony Fok.
29029
29030 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
29031 @localedir@.
29032 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29033
29034 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
29035
29036 Fix a spurious, uninitialized variable warning.
29037
29038 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
29039 Initialize variable, shdr.
29040 (grub_freebsd_load_elfmodule): Likewise.
29041 (grub_freebsd_load_elf_meta): Likewise.
29042
29043 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
29044
29045 Fix for escaped dollar in double quoted strings.
29046
29047 * script/yylex.l: Updated flex rules.
29048 * conf/tests.rmk: Rule for new testcase.
29049 * tests/grub_script_dollar.in: New testcase.
29050
29051 2010-04-13 Carles Pina i Estany <carles@pina.cat>
29052 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
29053
29054 Enclose all translated strings in grub.cfg in single quotes, and
29055 escape them appropriately (Ubuntu bug #552921).
29056
29057 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
29058 * util/grub.d/10_hurd.in: Use it.
29059 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29060 * util/grub.d/10_linux.in (linux_entry): Likewise.
29061
29062 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29063
29064 Fix cygwin compilation.
29065
29066 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
29067 * include/grub/misc.h (__register_frame_info)
29068 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
29069 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29070 * kern/misc.c (__register_frame_info)
29071 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
29072 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
29073
29074 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29075
29076 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
29077
29078 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29079
29080 Unify libgcc processing.
29081
29082 * Makefile.in (kernel_img_LDFLAGS): New variable.
29083 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
29084 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
29085 overwriting.
29086 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
29087 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
29088 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
29089 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
29090 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
29091 overwriting. Remove -lgcc and -static-libgcc
29092 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
29093 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29094 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29095 (kernel_img_LDFLAGS): Append instead of overwriting.
29096 Remove -lgcc and -static-libgcc
29097 * conf/sparc64-ieee1275.rmk: Likewise.
29098 * include/grub/powerpc/libgcc.h: Move to ...
29099 * include/grub/libgcc.h: .. this.
29100 * include/grub/libgcc.h: Don't export most of the function on x86.
29101 (__bswapsi2): New export.
29102 (__bswapdi2): Likewise.
29103 * include/grub/mips/libgcc.h: Removed.
29104 * include/grub/sparc64/libgcc.h: Likewise.
29105
29106 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29107
29108 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29109 disk_info_msg (conflicts with gettexting into languages with cases).
29110
29111 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29112
29113 Add grub-probe support for NetBSD.
29114
29115 * util/getroot.c (find_root_device): Convert block device to
29116 character device on NetBSD.
29117 * util/probe.c (probe): Require character device on NetBSD.
29118 * util/hostdisk.c: NetBSD specific headers.
29119 (configure_device_driver): new function to tune device driver
29120 parameters (currently only for NetBSD floppy driver).
29121 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29122 via disklabel ioctl).
29123 (open_device): call configure_device_driver on NetBSD.
29124 (convert_system_partition_to_system_disk): NetBSD specific code.
29125 (device_is_wholedisk): Likewise.
29126 (grub_util_biosdisk_get_grub_dev): Likewise.
29127 (make_device_name): Fixed a typo in bsd_part_str.
29128 * configure.ac: check for opendisk() and getrawpartition() on
29129 NetBSD and set LIBUTIL.
29130 * Makefile.in: add LIBUTIL to LIBS.
29131
29132 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29133
29134 Documentation fix.
29135
29136 * util/grub-script-check.c: Better help message.
29137
29138 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29139
29140 Fix FreeBSD build.
29141
29142 * configure.ac: Flex version check.
29143 * conf/common.rmk: Add -Wno-error to sh.mod.
29144 * script/yylex.l: Remove all #pragma.
29145
29146 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29147
29148 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29149 prototype.
29150 Reported by: Seth Goldberg.
29151
29152 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29153
29154 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29155 Rename "module" to "module2".
29156 Reported by: Seth Goldberg.
29157
29158 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29159
29160 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29161 EXPORT_FUNC.
29162 Reported by: Seth Goldberg.
29163
29164 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29165
29166 * lib/posix_wrap/locale.h: Add missing file.
29167 Reported by: Seth Goldberg.
29168
29169 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29170
29171 grub-emu module load support.
29172
29173 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29174 NO_DYNAMIC_MODULES switched to this.
29175 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29176 (CFLAGS): Likewise.
29177 * conf/any-emu.rmk: Generate symlist.
29178 (kernel_img_HEADERS): Add util/datetime.h.
29179 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29180 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29181 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29182 kern/$(target_cpu)/cache.S.
29183 * configure.ac (grub-emu-modules): New option.
29184 * genmk.rb: Handle multiple source lists.
29185 * include/grub/sdl.h: New file.
29186 * include/grub/libusb.h: Likewise.
29187 * util/grub-emu.c (main): Hanle (host) root.
29188 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29189 GRUB_ERR_UNKNOWN_DEVICE.
29190 * util/misc.c: Move mm functions to ...
29191 * util/mm.c: ... here. All users updated.
29192
29193 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29194
29195 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29196 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29197 missing files.
29198 (maintainer-clean): Remove libgcrypt-grub.
29199
29200 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29201
29202 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29203
29204 2010-04-09 EFI Coder <eficoder@hotmail.com>
29205
29206 * normal/menu_text.c (print_message): Clean up the message and show
29207 the Fn information when on EFI
29208 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29209
29210 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29211
29212 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29213 All users updated.
29214 * normal/crypto.c (read_crypto_list): Likewise.
29215 * normal/dyncmd.c (read_command_list): Likewise.
29216 * normal/term.c (read_terminal_list): Likewise.
29217 * normal/main.c (read_lists): Use explicit prefix.
29218 (read_lists_hook): Use read_lists.
29219 (grub_normal_execute): Likewise.
29220
29221 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29222
29223 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29224 Reported by: Thomas Schmitt.
29225 Add -no-emul-boot to grub-mkisofs parameters.
29226
29227 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29228
29229 * font/font.c: Indented.
29230
29231 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29232
29233 Elif support to GRUB script (by Deepak Vankadaru).
29234
29235 * tests/grub_script_if.in: New testcase.
29236 * conf/tests.rmk: Rule for new testcase.
29237 * script/parser.y: Grammar rules for elif.
29238
29239 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29240
29241 While and until loops support to GRUB script.
29242
29243 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29244 (grub_script_create_cmdwhile): New function prototype.
29245 (grub_script_execute_cmdwhile): New function prototype.
29246 * script/execute.c (grub_script_execute_cmdwhile): New function.
29247 * script/parser.y (command): New commands.
29248 (whilecmd): New grammar rule.
29249 (untilcmd): New grammar rule.
29250 * script/script.c (grub_script_create_cmdwhile): New function.
29251 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29252 function.
29253
29254 * tests/grub_script_while1.in: New testcase.
29255 * conf/tests.rmk: Rule for new testcase.
29256
29257 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29258
29259 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29260 as *.jpg.
29261
29262 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
29263
29264 GRUB_BACKGROUND support.
29265
29266 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29267 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29268
29269 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29270
29271 Load fonts and modules for gfxmenu in grub-mkconfig.
29272 Idea by: Mario Vazquez
29273
29274 * util/grub.d/00_header.in: Load pf2 and image modules.
29275
29276 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29277
29278 grub-mkconfig multiple terminal support.
29279
29280 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29281 * util/grub.d/00_header.in: Likewise.
29282
29283 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29284
29285 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29286 we use cd $(srcdir).
29287
29288 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
29289
29290 * util/grub.d/10_linux.in: Only use the first word of
29291 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29292 spaces in GRUB_DISTRIBUTOR.
29293 * util/grub.d/10_kfreebsd.in: Likewise.
29294 * util/grub.d/10_hurd.in: Likewise.
29295
29296 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29297
29298 Fix unit testing framework for Qemu 0.12.
29299
29300 * tests/util/grub-shell.in: Remove -serial stdio option.
29301
29302 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29303
29304 POSIX header file wrappers.
29305
29306 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29307 equivalents.
29308 * lib/posix_wrap/ctype.h: Likewise.
29309 * lib/posix_wrap/errno.h: Likewise.
29310 * lib/posix_wrap/langinfo.h: Likewise.
29311 * lib/posix_wrap/limits.h: Likewise.
29312 * lib/posix_wrap/localcharset.h: Likewise.
29313 * lib/posix_wrap/stdint.h: Likewise.
29314 * lib/posix_wrap/stdio.h: Likewise.
29315 * lib/posix_wrap/stdlib.h: Likewise.
29316 * lib/posix_wrap/string.h: Likewise.
29317 * lib/posix_wrap/sys/types.h: Likewise.
29318 * lib/posix_wrap/unistd.h: Likewise.
29319 * lib/posix_wrap/wchar.h: Likewise.
29320 * lib/posix_wrap/wctype.h: Likewise.
29321 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29322 (grub_script.yy.h): Likewise.
29323 * script/yylex.l: Remove POSIX emulation #defines.
29324 * Makefile.in (POSIX_CFLAGS): New variable.
29325 (GNULIB_UTIL_CFLAGS): Likewise.
29326
29327 Regexp support.
29328
29329 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29330 (regexp_mod_SOURCES): New variable.
29331 (regexp_mod_CFLAGS): Likewise.
29332 (regexp_mod_LDFLAGS): Likewise.
29333 * commands/regexp.c: New file.
29334 * gnulib/regcomp.c: New file. Imported from gnulib.
29335 * gnulib/regex.c: Likewise.
29336 * gnulib/regex_internal.c: Likewise.
29337 * gnulib/regex_internal.h: Likewise.
29338 * gnulib/regexec.c: Likewise.
29339 * gnulib/regex.h: Likewise.
29340
29341 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29342
29343 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29344 unsupported video mode types.
29345
29346 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29347
29348 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29349
29350 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29351
29352 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29353 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29354
29355 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29356
29357 Remove unused grub_vga_get_font.
29358
29359 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29360 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29361
29362 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29363
29364 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29365 * include/grub/misc.h: Likewise.
29366
29367 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29368
29369 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29370 for which failure is fatal.
29371
29372 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29373
29374 * util/grub-install.in: Use mkdir -p to create grub directory.
29375 * util/i386/efi/grub-install.in: Likewise.
29376 * util/ieee1275/grub-install.in: Likewise.
29377
29378 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29379
29380 * Makefile.in (LEX): new variable.
29381
29382 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29383
29384 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29385 `=' and added double quotes on operands of this equality test.
29386
29387 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29388
29389 * Makefile.in (uninstall): Remove a leftover debug echo.
29390 Reported by: Grégoire Sutre
29391
29392 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29393
29394 MIPS multiboot2 support.
29395
29396 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29397 (multiboot2_mod_SOURCES): New variable.
29398 (multiboot2_mod_CFLAGS): Likewise.
29399 (multiboot2_mod_LDFLAGS): Likewise.
29400 (multiboot2_mod_ASFLAGS): Likewise.
29401 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29402 definition.
29403 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29404 (MULTIBOOT_MBI_REGISTER): Likewise.
29405 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29406 (MULTIBOOT_ELF32_MACHINE): Likewise.
29407 (MULTIBOOT_ELF64_MACHINE): Likewise.
29408 * include/grub/mips/multiboot.h: New file.
29409 * include/grub/video.h (grub_video_driver_id): New type
29410 GRUB_VIDEO_DRIVER_SM712.
29411 (grub_video_get_info_and_fini): Export.
29412 (grub_video_get_palette): Likewise.
29413 (grub_video_get_driver_id): Likewise.
29414 * include/multiboot2.h: Resynced with spec.
29415 * loader/i386/multiboot.c: Moved from here ...
29416 * loader/multiboot.c: ... here. All users updated.
29417 (grub_multiboot_boot): Use platform-specific macros.
29418 * loader/i386/multiboot_elfxx.c: Moved from here ...
29419 * loader/multiboot_elfxx.c: ... here. All users updated.
29420 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29421 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29422 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29423
29424 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29425
29426 Import gnulib argp module.
29427
29428 * gnulib/argp-ba.c: New file.
29429 * gnulib/argp-eexst.c: Likewise.
29430 * gnulib/argp-fmtstream.c: Likewise.
29431 * gnulib/argp-fmtstream.h: Likewise.
29432 * gnulib/argp-fs-xinl.c: Likewise.
29433 * gnulib/argp-help.c: Likewise.
29434 * gnulib/argp-namefrob.h: Likewise.
29435 * gnulib/argp-parse.c: Likewise.
29436 * gnulib/argp-pin.c: Likewise.
29437 * gnulib/argp-pv.c: Likewise.
29438 * gnulib/argp-pvh.c: Likewise.
29439 * gnulib/argp-version-etc.c: Likewise.
29440 * gnulib/argp-version-etc.h: Likewise.
29441 * gnulib/argp-xinl.c: Likewise.
29442 * gnulib/argp.h: Likewise.
29443
29444 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29445
29446 * kern/device.c (grub_device_iterate): Clear errors after failed
29447 opening device.
29448
29449 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29450
29451 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29452 returned by firmware.
29453
29454 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29455
29456 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29457 compilation on coreboot and qemu
29458
29459 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29460
29461 * include/multiboot2.h: Resync with spec.
29462
29463 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29464
29465 Multiboot2 tag support
29466
29467 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29468 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29469 Remove loader/multiboot_loader.c.
29470 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29471 (grub_multiboot2_real_boot): Likewise.
29472 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29473 (grub_get_multiboot_mmap_count): New proto.
29474 (grub_fill_multiboot_mmap): Likewise.
29475 (grub_multiboot_set_video_mode): Likewise.
29476 (grub_multiboot_set_console): Likewise.
29477 (grub_multiboot_load): Likewise.
29478 (grub_multiboot_load_elf): Likewise.
29479 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29480 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29481 * include/multiboot.h: Resynced with specification.
29482 * include/multiboot2.h: Resynced with specification.
29483 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29484 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29485 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29486 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29487 users updated.
29488 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29489 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29490 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29491 Removed.
29492 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29493 Moved from here...
29494 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29495 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29496 Moved from here...
29497 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29498 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29499 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29500 All users updated.
29501 * loader/i386/multiboot_mbi2.c: New file.
29502
29503 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29504
29505 Resync with gnulib.
29506
29507 * Makefile.in (GNULIB_CFLAGS): New variable.
29508 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29509 (grub_script_check_CFLAGS): New variable.
29510 * gnulib/alloca.h: Resync with gnulib.
29511 * gnulib/error.c: Likewise.
29512 * gnulib/error.h: Likewise.
29513 * gnulib/fnmatch.c: Likewise.
29514 * gnulib/fnmatch_loop.c: Likewise.
29515 * gnulib/getdelim.c: Likewise.
29516 * gnulib/getline.c: Likewise.
29517 * gnulib/getopt.c: Likewise.
29518 * gnulib/getopt1.c: Likewise.
29519 * gnulib/getopt_int.h: Likewise.
29520 * gnulib/gettext.h: Likewise.
29521 * gnulib/progname.c: Likewise.
29522 * gnulib/progname.h: Likewise.
29523
29524 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29525
29526 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29527 which is the case with --disabled-nls.
29528
29529 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29530 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29531 * util/misc.c: Likewise.
29532 * util/mkisofs/mkisofs.c: Likewise.
29533 * util/mkisofs/mkisofs.h: Likewise.
29534
29535 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29536
29537 Simplify Apple CC support.
29538
29539 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29540 Add 0 byte at the end not to have a symbol with empty target.
29541 * mmap/i386/pc/mmap_helper.S: Likewise.
29542 * genmk.rb: Ignore errors 2030 and 2050.
29543 * kern/i386/pc/startup.S: Use LOCAL when possible.
29544
29545 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29546
29547 Testcase and the fix for final semicolon on cmdline.
29548
29549 * tests/grub_script_final_semicolon.in: New testcase.
29550 * conf/tests.rmk: Rules for the new testcase.
29551 * script/parser.y: Grammar fix.
29552
29553 2010-03-26 BVK Chaitanya <bvk@localhost>
29554
29555 Blank lines testcase for GRUB script.
29556
29557 * tests/grub_script_blanklines.in: New testcase.
29558 * conf/tests.rmk: Rules for the new testcase.
29559
29560 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29561
29562 Don't use __FILE__.
29563
29564 * genmk.rb: Add -DGRUB_FILE to all C targets.
29565 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29566 * include/grub/list.h: Likewise.
29567 * include/grub/misc.h: Likewise.
29568 * include/grub/mm.h: Likewise.
29569 * include/grub/test.h: Likewise.
29570 * kern/mm.c: Likewise.
29571 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29572
29573 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29574
29575 Sunpc partitions support.
29576
29577 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29578 (grub_fstest_SOURCES): Likewise.
29579 (pkglib_MODULES): Add part_sunpc.mod.
29580 (part_sunpc_mod_SOURCES): New variable.
29581 (part_sunpc_mod_CFLAGS): Likewise.
29582 (part_sunpc_mod_LDFLAGS): Likewise.
29583 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29584 * partmap/sunpc.c: New file.
29585
29586 2010-03-26 BVK Chaitanya <bvk@localhost>
29587
29588 For loop support to GRUB script.
29589
29590 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29591 (grub_script_create_cmdfor): New function prototype.
29592 (grub_script_execute_cmdfor): New function prototype.
29593 * script/execute.c (grub_script_execute_cmdfor): New function.
29594 * script/parser.y (command): New for command.
29595 (forcmd): New grammar rule.
29596 * script/script.c (grub_script_create_cmdfor): New function.
29597 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29598 function.
29599 * tests/grub_script_for1.in: New testcase.
29600 * conf/tests.rmk: Rules for new testcase.
29601
29602 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29603
29604 Nested partitions
29605
29606 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29607 'partition' is NULL, grub_partition_get_start already does that.
29608 * commands/loadenv.c (check_blocklists): Likewise.
29609 (write_blocklists): Likewise.
29610 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29611 (grub_fstest_SOURCES): Likewise.
29612 (pkglib_MODULES): Add part_bsd.mod.
29613 (part_bsd_mod_SOURCES): New variable.
29614 (part_bsd_mod_CFLAGS): Likewise.
29615 (part_bsd_mod_LDFLAGS): Likewise.
29616 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29617 (grub_emu_SOURCES): Likewise.
29618 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29619 * include/grub/bsdlabel.h: New file.
29620 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29621 'get_name'.
29622 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29623 (grub_partition_map_list): New variable.
29624 (grub_partition_map_register): Inline.
29625 (grub_partition_map_unregister): Likewise.
29626 (FOR_PARTITION_MAPS): New macro.
29627 (grub_partition_map_iterate): Removed.
29628 (grub_partition_get_start): Handle nested partitions.
29629 * include/grub/msdos_partition.h: Remove bsd-related entries.
29630 (grub_pc_partition): Remove.
29631 * kern/disk.c (grub_disk_close): Free partition data.
29632 (grub_disk_adjust_range): Handle nested partitions.
29633 * kern/partition.c (grub_partition_map_probe): New function.
29634 (grub_partition_probe): Parse name to number, handle subpartitions.
29635 (get_partmap): New function.
29636 (grub_partition_iterate): Handle subpartitions.
29637 (grub_partition_get_name): Likewise.
29638 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29639 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29640 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29641 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29642 Set 'number'.
29643 (acorn_partition_map_probe): Remove.
29644 (acorn_partition_map_get_name): Likewise.
29645 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29646 Set 'number'.
29647 Set 'index' to 0 since there can be only one partition entry per sector.
29648 (amiga_partition_map_probe): Remove.
29649 (amiga_partition_map_get_name): Likewise.
29650 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29651 Set 'number'.
29652 Set 'offset' and 'index' to real positions of partitions.
29653 (apple_partition_map_probe): Remove.
29654 (apple_partition_map_get_name): Likewise.
29655 * partmap/bsdlabel.c: New file.
29656 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29657 Set 'number'.
29658 Allocate 'data' so it can be correctly freed.
29659 Set 'index' to offset inside sector.
29660 (gpt_partition_map_probe): Remove.
29661 (gpt_partition_map_get_name): Likewise.
29662 * partmap/msdos.c (grub_partition_parse): Remove.
29663 (pc_partition_map_iterate): Don't force raw access.
29664 Set 'number'.
29665 Make 'ext_offset' a local variable.
29666 (pc_partition_map_probe): Remove.
29667 (pc_partition_map_get_name): Remove.
29668 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29669 Set 'number'.
29670 (sun_partition_map_probe): Remove.
29671 (sun_partition_map_get_name): Likewise.
29672 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29673 (grub_pcpart_type): Likewise.
29674 * util/hostdisk.c (open_device): Handle new numbering scheme.
29675 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29676 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29677 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29678 * util/grub-install.in: Insert all subpartition modules.
29679 * util/ieee1275/grub-install.in: Likewise.
29680
29681 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29682
29683 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29684 grammar.
29685
29686 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
29687
29688 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29689
29690 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
29691
29692 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29693 match where 'make install' puts them.
29694 * util/i386/efi/grub-install.in: Likewise.
29695
29696 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
29697
29698 * .bzrignore: Add gentrigtables, grub-script-check,
29699 grub_script_check_init.c, grub_script_check_init.h, and
29700 trigtables.c.
29701
29702 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29703
29704 * kern/parser.c: Indented.
29705
29706 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29707
29708 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29709
29710 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29711
29712 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29713 alpha_mask_size == 0 case.
29714
29715 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29716
29717 GRUB shell lexer and parser improvements.
29718
29719 * conf/any-emu.rmk: Build rule updates.
29720 * conf/common.rmk: Likewise.
29721 * conf/i386-coreboot.rmk: Likewise.
29722 * conf/i386-efi.rmk: Likewise.
29723 * conf/i386-ieee1275.rmk: Likewise.
29724 * conf/i386-pc.rmk: Likewise.
29725 * conf/powerpc-ieee1275.rmk: Likewise.
29726 * conf/x86_64-efi.rmk: Likewise.
29727
29728 * configure.ac: Configure check for flex.
29729
29730 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29731 types.
29732 (grub_lexer_param): Struct member updates.
29733 (grub_parser_param): Likewise.
29734 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29735 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29736 (grub_script_lexer_init): Prototype update.
29737 (grub_script_lexer_record_start): Likewise.
29738 (grub_script_lexer_record_stop): Likewise.
29739 (grub_script_lexer_yywrap): New function prototype.
29740 (grub_script_lexer_fini): Likewise.
29741 (grub_script_execute_argument_to_string): Removed by...
29742 (grub_script_execute_argument_to_argv): ...better version.
29743
29744 * script/execute.c (ROUND_UPTO): New macro.
29745 (grub_script_execute_cmdline): Out of memory fixes.
29746 (grub_script_execute_menuentry): Likewise.
29747 (grub_script_execute_argument_to_string): Removed. Update all
29748 users by...
29749 (grub_script_execute_argument_to_argv): ...better version.
29750 * script/function.c (grub_script_function_create): Use
29751 grub_script_execute_argument_to_argv instead of
29752 grub_script_execute_argument_to_string.
29753
29754 * script/lexer.c (check_varstate): Removed.
29755 (check_textstate): Removed.
29756 (grub_script_lexer_record_start): Likewise.
29757 (grub_script_lexer_record_stop): Likewise.
29758 (recordchar): Replaced with...
29759 (grub_script_lexer_record): ...new function.
29760 (nextchar): Removed.
29761 (grub_script_lexer_init): Rewritten.
29762 (grub_script_yylex): Rewritten.
29763 (append_newline): New function.
29764 (grub_script_lexer_yywrap): New function.
29765 (grub_script_lexer_fini): New function.
29766 (grub_script_yyerror): Sets error flag.
29767
29768 * script/yylex.l: New file.
29769 (grub_lexer_yyfree): Wrapper for flex yyffre.
29770 (grub_lexer_yyalloc): Likewise.
29771 (grub_lexer_yyrealloc): Likewise.
29772 * script/parser.y: Refactored.
29773
29774 * script/script.c (grub_script_arg_add): Out of memory fixes.
29775 (grub_script_add_arglist): Likewise.
29776 (grub_script_create_cmdline): Likewise.
29777 (grub_script_create_cmdmenu): Likewise.
29778 (grub_script_add_cmd): Likewise.
29779 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29780 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29781 unnecessary code.
29782
29783 * tests/grub_script_echo1.in: New testcase.
29784 * tests/grub_script_vars1.in: New testcase.
29785 * tests/grub_script_echo_keywords.in: New testcase.
29786
29787 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29788
29789 Remove some redundancy in build system.
29790
29791 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29792 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29793 (TARGET_LDFLAGS): Add -nostdlib.
29794 (TARGET_IMG_LDFLAGS): Likewise.
29795 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29796 anything since mmap isn't available.
29797 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29798 Add util/time.c.
29799 (pkglib_MODULES): Remove reboot.mod.
29800 (reboot_mod_SOURCES): Removed.
29801 (reboot_mod_CFLAGS): Likewise.
29802 (reboot_mod_LDFLAGS): Likewise.
29803 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29804 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29805 (DEFSYMFILES): Add kernel_syms.lst.
29806 (kernel_img_HEADERS): Add common headers.
29807 (symlist.c): New target.
29808 (kernel_syms.lst): Likewise.
29809 (pkglib_MODULES): Add memdisk.mod.
29810 (memdisk_mod_SOURCES): New variable.
29811 (memdisk_mod_CFLAGS): Likewise.
29812 (memdisk_mod_LDFLAGS): Likewise.
29813 (pkglib_MODULES): Add reboot.mod.
29814 (reboot_mod_SOURCES): New variable.
29815 (reboot_mod_CFLAGS): Likewise.
29816 (reboot_mod_LDFLAGS): Likewise.
29817 (pkglib_MODULES): Add date.mod.
29818 (date_mod_SOURCES): New variable.
29819 (date_mod_CFLAGS): Likewise.
29820 (date_mod_LDFLAGS): Likewise.
29821 (pkglib_MODULES): Add datehook.mod.
29822 (datehook_mod_SOURCES): New variable.
29823 (datehook_mod_CFLAGS): Likewise.
29824 (datehook_mod_LDFLAGS): Likewise.
29825 (pkglib_MODULES): Add lsmmap.mod.
29826 (lsmmap_mod_SOURCES): New variable.
29827 (lsmmap_mod_CFLAGS): Likewise.
29828 (lsmmap_mod_LDFLAGS): Likewise.
29829 (pkglib_MODULES): Add boot.mod.
29830 (boot_mod_SOURCES): New variable.
29831 (boot_mod_CFLAGS): Likewise.
29832 (boot_mod_LDFLAGS): Likewise.
29833 * conf/i386-coreboot.rmk: Removed redundant parts.
29834 * conf/i386-ieee1275.rmk: Likewise.
29835 * conf/i386-pc.rmk: Likewise.
29836 * conf/mips-yeeloong.rmk: Likewise.
29837 * conf/mips.rmk: Likewise.
29838 * conf/powerpc-ieee1275.rmk: Likewise.
29839 * conf/sparc64-ieee1275.rmk: Likewise.
29840 * conf/x86_64-efi.rmk: Likewise.
29841 * conf/i386-coreboot.rmk: Moved qemu parts ..
29842 * conf/i386-qemu.rmk: ... here
29843 * conf/i386-efi.rmk: Moved common parts to...
29844 * conf/x86-efi.rmk: ... here.
29845 * conf/i386.rmk: Added modules common to all x86 variants.
29846 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29847 * disk/memdisk.c: Remove grub/machine/kernel.h.
29848 * gensymlist.sh.in: Include symbol.h.
29849 * hook/datehook.c: Correct module name.
29850 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29851 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29852 * include/grub/i386/efi/serial.h: New file.
29853 * include/grub/x86_64/efi/serial.h: Likewise.
29854 * util/time.c: Likewise.
29855 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29856
29857 2010-03-14 Colin King <colin.king@ubuntu.com>
29858 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29859
29860 Shrink the pre-partition-table part of boot.img by eight bytes.
29861
29862 * boot/i386/pc/boot.S (ERR): New macro.
29863 (chs_mode): Use ERR.
29864 (geometry_error): Likewise.
29865 (hd_probe_error): Remove. This is only used once, so we wrwite
29866 it inline instead.
29867 (read_error): Instead of printing read_error_string, just set up
29868 %si and fall through to ...
29869 (error_message): ... this new function, also used by ERR.
29870
29871 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29872
29873 Speed up consecutive hostdisk operations on the same device.
29874
29875 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29876 (grub_util_biosdisk_open): Initialise disk->data.
29877 (struct linux_partition_cache): New structure.
29878 (linux_find_partition): Cache partition start positions; these are
29879 expensive to compute on every read and write.
29880 (open_device): Cache open file descriptor in disk->data, so that we
29881 don't have to reopen it and flush the buffer cache for consecutive
29882 operations on the same device.
29883 (grub_util_biosdisk_close): New function.
29884 (grub_util_biosdisk_dev): Set `close' member.
29885
29886 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29887 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29888 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29889 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29890 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29891
29892 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29893
29894 Compile parts of grub-emu as modules.
29895
29896 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29897 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29898 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29899 (all-local): Add $(GRUB_EMU).
29900 (install-local): Install $(GRUB_EMU).
29901 (uninstall): Uninstall $(GRUB_EMU).
29902 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29903 * kern/dl.c: Likewise.
29904 * commands/sleep.c: Not include machine/time.h.
29905 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29906 (COMMON_CFLAGS): Likewise.
29907 (sbin_UTILITIES): Remove grub-emu.
29908 (grub_emu_SOURCES): Removed.
29909 (kernel_img_RELOCATABLE): New variable.
29910 (pkglib_PROGRAMS): Add kernel.img.
29911 (kernel_img_SOURCES): New variable
29912 (kernel_img_CFLAGS): Likewise.
29913 (kernel_img_LDFLAGS): Likewise.
29914 (TARGET_NO_STRIP): Likewise.
29915 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29916 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29917 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29918 (grub-emu): New target.
29919 (GRUB_EMU): New variable.
29920 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29921 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29922 * loader/xnu.c: Likewise.
29923 * include/grub/pci.h: Likewise.
29924 * genemuinit.sh: New file.
29925 * genemuinitheader.sh: Likewise.
29926 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29927 Support TARGET_NO_DYNAMIC_MODULES.
29928 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29929 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29930 * disk/loopback.c: Likewise.
29931 * font/font_cmd.c: Likewise.
29932 * partmap/acorn.c: Likewise.
29933 * partmap/amiga.c: Likewise.
29934 * partmap/apple.c: Likewise.
29935 * partmap/gpt.c: Likewise.
29936 * partmap/msdos.c: Likewise.
29937 * partmap/sun.c: Likewise.
29938 * parttool/msdospart.c: Likewise.
29939 * term/gfxterm.c: Likewise.
29940 * video/bitmap.c: Likewise.
29941 * video/readers/jpeg.c: Likewise.
29942 * video/readers/png.c: Likewise.
29943 * video/readers/tga.c: Likewise.
29944 * video/video.c: Likewise.
29945 * util/grub-emu.c (read_command_list): Removed.
29946 (main): Don't call util_init_nls.
29947 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29948 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29949
29950 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29951
29952 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29953 date.mod, datehook.mod.
29954 (datetime_mod_SOURCES): New variable.
29955 (datetime_mod_CFLAGS): Likewise.
29956 (datetime_mod_LDFLAGS): Likewise.
29957 (date_mod_SOURCES): Likewise.
29958 (date_mod_CFLAGS): Likewise.
29959 (date_mod_LDFLAGS): Likewise.
29960 (datehook_mod_SOURCES): Likewise.
29961 (datehook_mod_CFLAGS): Likewise.
29962 (datehook_mod_LDFLAGS): Likewise.
29963 * conf/sparc64-ieee1275.rmk: Likewise.
29964 * lib/ieee1275/datetime.c: New file.
29965
29966 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29967
29968 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29969 (ieee1275_fb_mod_SOURCES): New variable.
29970 (ieee1275_fb_mod_CFLAGS): Likewise.
29971 (ieee1275_fb_mod_LDFLAGS): Likewise.
29972 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29973 New proto.
29974 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29975 (HEAP_MAX_ADDR): Likewise.
29976 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29977 type.
29978 Correct stop condition.
29979 (grub_ieee1275_devices_iterate): New function.
29980 * video/ieee1275.c: New file.
29981
29982 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29983
29984 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29985
29986 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29987 as scratch.
29988 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29989 SCRATCH_PAD_DISKBOOT as scratch.
29990 (bootit): Pass Openfirmware pointer in %o4.
29991 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29992 of 0x200000.
29993 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29994 with util/grub-mkrawimage.c.
29995 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29996 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29997 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29998 (grub_aout_load) [GRUB_UTIL]: Likewise.
29999 * include/grub/kernel.h (grub_modules_get_end): New proto.
30000 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
30001 (SCRATCH_PAD_BOOT): New definition.
30002 (SCRATCH_PAD_DISKBOOT): Likewise.
30003 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
30004 * include/grub/sparc64/ieee1275/ieee1275.h
30005 (grub_ieee1275_original_stack): New variable
30006 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30007 New definition
30008 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
30009 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
30010 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
30011 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
30012 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
30013 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
30014 (grub_platform_image_format_t): New type.
30015 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
30016 * kern/main.c (grub_modules_get_end)
30017 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
30018 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
30019 (codestart): Switch stacks.
30020 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
30021 variable.
30022 (grub_heap_init): Use grub_modules_get_end.
30023 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
30024 stack.
30025 * util/grub-mkrawimage.c (generate_image): Support sparc64.
30026 (main): Likewise.
30027 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
30028
30029 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
30030
30031 * util/grub-mkrescue.in: Base ISO UUID on UTC.
30032
30033 2010-03-08 Matt Kraai <kraai@ftbfs.org>
30034
30035 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
30036 bug #559005).
30037
30038 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
30039
30040 * genmoddep.awk: Output all missing symbols and not only first.
30041
30042 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30043
30044 * NEWS: Put the date of 1.98 release.
30045
30046 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30047
30048 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
30049 ft2build.h.
30050
30051 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30052
30053 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
30054 completition in the middle of string.
30055
30056 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30057
30058 * util/grub-mkrescue.in: Use mktemp with explicit template.
30059
30060 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30061
30062 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
30063
30064 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
30065
30066 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
30067 right pointer.
30068
30069 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30070
30071 Fix FreeBSD compilation.
30072
30073 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
30074 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
30075
30076 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
30077
30078 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
30079
30080 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30081
30082 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
30083
30084 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30085
30086 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
30087
30088 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30089
30090 Support relative image path in theme file.
30091
30092 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
30093 (image_set_property): Handle theme_dir and relative path.
30094
30095 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30096
30097 * configure.ac: Alias amd64 to x86_64.
30098
30099 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30100
30101 * NEWS: mention multiboot on EFI.
30102
30103 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30104
30105 * kern/main.c (grub_load_modules): Handle errors from init functions of
30106 embeded modules.
30107
30108 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30109
30110 * normal/autofs.c (autoload_fs_module): Handle errors.
30111
30112 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30113
30114 Disable linux.mod on qemu-mips since it's not functional and leads
30115 to compilation failure.
30116
30117 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30118 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30119 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30120 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30121 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30122 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30123 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30124 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30125 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30126 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30127 Reported by: BVK Chaitanya
30128
30129 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30130
30131 * INSTALL: Add gettext as a dependency and add qemu to a new section
30132 "Prerequisites for make-check".
30133
30134 2010-03-04 Christian Franke <franke@computer.org>
30135
30136 * util/grub-pe2elf.c: Add missing include "progname.h".
30137
30138 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30139
30140 * normal/crypto.c (read_crypto_list): Fix a typo.
30141 Reported by: Seth Goldberg.
30142
30143 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30144
30145 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
30146 Reported by: Seth Goldberg.
30147
30148 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30149
30150 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30151 ascii.bitmaps.
30152
30153 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30154
30155 * genmk.rb: Remove terminal*.lst in make clean.
30156 Reported by: Seth Goldberg.
30157
30158 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30159
30160 * util/i386/efi/grub-install.in: Copy gettext files.
30161
30162 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30163
30164 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30165
30166 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30167
30168 Wait for user entry basing on presence of output rather than on errors.
30169
30170 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30171 (grub_install_newline_hook): Likewise.
30172 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30173 * normal/menu.c (show_menu): Check line_counter to determine presence
30174 of output.
30175 * normal/term.c (grub_normal_line_counter): New variable.
30176 (grub_normal_get_line_counter): New function.
30177 (grub_install_newline_hook): Likewise.
30178
30179 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30180
30181 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30182
30183 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30184
30185 * configure.ac: Update version to 1.98.
30186
30187 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30188
30189 * util/grub.d/10_linux.in (linux_entry): Don't default to
30190 gfxpayload=keep if Linux doesn't support video handover.
30191
30192 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30193
30194 Don't compile video modules on yeeloong since video subsystem is part
30195 of kernel.
30196
30197 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30198 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30199 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30200 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30201 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30202 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30203 * include/grub/bitmap_scale.h: Likewise.
30204 * include/grub/bufio.h: Likewise.
30205 * include/grub/font.h: Likewise.
30206 * include/grub/gfxterm.h: Likewise.
30207 * include/grub/video.h: Likewise.
30208 * include/grub/vbe.h: Don't include video_fb.h.
30209 * video/i386/pc/vbe.c: Include video_fb.h.
30210 * commands/i386/pc/vbetest.c: Include video.h.
30211
30212 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30213
30214 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30215 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30216 default entry if GRUB_SAVEDEFAULT=true. This allows using
30217 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30218 saving a new default on every boot.
30219
30220 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30221
30222 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30223 * normal/term.c (read_terminal_list): Likewise.
30224 * normal/main.c (grub_normal_init_page): Likewise.
30225 (grub_normal_read_line_real): Likewise.
30226
30227 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30228
30229 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30230 memory leak.
30231 Reported by: Seth Goldberg.
30232
30233 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30234
30235 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30236 duplicate declaration of `start'.
30237
30238 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30239
30240 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30241 filename.
30242 Reported by: Georgy Buranov
30243
30244 2010-02-20 Carles Pina i Estany <carles@pina.cat>
30245
30246 * util/grub-mkrawimage.c (usage): Change string formatting to
30247 improve gettext.
30248
30249 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30250
30251 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30252 backspace keys.
30253
30254 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30255
30256 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30257 Reported by: Michael Suchanek.
30258
30259 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
30260
30261 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30262 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30263
30264 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30265
30266 Remove any reference to non-free fonts.
30267
30268 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30269 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30270 uses non-free components.
30271 * font/font.c (grub_font_get_name): Remove example name.
30272 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30273 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30274 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30275 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30276
30277 2010-02-16 Georgy Buranov <gburanov@gmail.com>
30278
30279 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30280
30281 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30282
30283 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30284 Double divisor.
30285 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30286 features.
30287 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30288
30289 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30290
30291 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30292
30293 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30294
30295 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30296 * docs/grub.texi (Command-line and menu entry commands): Document play
30297 command.
30298
30299 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30300
30301 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30302 parse arguments as inline tempo and notes. Move code for playing notes
30303 to...
30304 (play): ... new function.
30305
30306 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30307
30308 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30309 grub_uint16_t instead of short.
30310 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30311 disk from little endian to cpu endianness.
30312
30313 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30314
30315 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30316 GRUB_TICKS_PER_SECOND instead of 120.
30317
30318 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30321 escape sequence after \e.
30322
30323 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30324
30325 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30326 non-ASCII characters.
30327
30328 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30329
30330 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30331 set root in single quotes to prevent \, from being unescaped.
30332
30333 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30334
30335 Prevent unknown commands from stopping menuentry execution.
30336
30337 * script/execute.c (grub_script_execute_cmdline): Print error after
30338 unknown command.
30339
30340 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30341
30342 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30343 Reported by: Pavel Pisa.
30344
30345 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30346
30347 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30348
30349 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30350
30351 Merge grub_ieee1275_map_physical into grub_map and rename to
30352 grub_ieee1275_map
30353
30354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30355 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30356 Remove.
30357 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30358 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30359 necessary.
30360 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30361
30362 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30363
30364 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30365 opening and not after.
30366
30367 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30368
30369 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30370 constants.
30371
30372 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30373
30374 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30375 (alloc_phys): Use ALIGN_UP instead of align_addr.
30376
30377 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30378
30379 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30380
30381 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30382
30383 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30384
30385 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30386
30387 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30388 verbose dprintf.
30389
30390 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30391
30392 Fix over-4GiB seek on sparc64.
30393
30394 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30395 Replace pos_i and pos_lo with pos. All users updated.
30396 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30397 New constant.
30398 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30399 Likewise.
30400 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30401 and pos_lo.
30402
30403 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30404
30405 * util/grub-mkrawimage.c (main): Call set_program_name.
30406
30407 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30408
30409 Properly align 64-bit targets.
30410
30411 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30412 (generate_image): Use ALIGN_ADDR.
30413
30414 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 Properly create cross-endian images.
30417
30418 * include/grub/types.h (grub_host_to_target_addr): New macro
30419 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30420
30421 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30422
30423 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30424
30425 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30426
30427 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30428
30429 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30430 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30431 (grub_linux_boot): Divide by 64K when on VESA.
30432
30433 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30434
30435 Support GRUB_GFXPAYLOAD_LINUX.
30436
30437 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30438 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30439
30440 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30441
30442 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30443 to show messages instead of discarding them.
30444 Process errors after executing command and not before. Keep old method
30445 too as precaution.
30446
30447 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30448
30449 * configure.ac: Check for ft2build.h.
30450
30451 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30452
30453 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30454
30455 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30456
30457 * genkernsyms.sh.in: Use TARGET_CC.
30458
30459 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
30460
30461 * NEWS: Update.
30462
30463 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30464
30465 * include/grub/multiboot2.h: Remove leftover file.
30466 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30467 * include/grub/partition.h [GRUB_UTIL]: Likewise.
30468
30469 2010-02-07 Yves Blusseau <blusseau@zetam.org>
30470
30471 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
30472
30473 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30474
30475 Fix warnings in grub-emu when compiling with maximum warning options.
30476
30477 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30478 (grub_arch_modules_addr): Return 0 and not NULL.
30479 * util/misc.c (ENABLE_RELOCATABLE): New definition.
30480 (xstrdup): Use newstr instead of dup.
30481 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30482 of disk to dsk to avoid shadowing.
30483 (find_free_slot): Fix prototype.
30484 * util/getroot.c (grub_util_is_dmraid): Make static.
30485 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30486 Add missing prototype.
30487 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
30488
30489 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30490
30491 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30492 appropriately.
30493
30494 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30495
30496 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30497 code out.
30498
30499 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30500
30501 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30502 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30503 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30504 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30505 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30506 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30507
30508 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30509
30510 * include/grub/err.h (grub_err_printf): Don't export.
30511
30512 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30513
30514 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30515
30516 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30517
30518 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30519 * kern/misc.c (grub_gettext_dummy): Make static.
30520
30521 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30522
30523 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30524 by non-valid ones.
30525 * kern/term.c (grub_putchar): Likewise.
30526
30527 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30528
30529 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30530 buggy hook call and memory leak.
30531
30532 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30533
30534 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30535
30536 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30537
30538 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30539
30540 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30541
30542 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30543 modevar.
30544 Return grub_errno on allocation error.
30545
30546 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30547
30548 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30549
30550 2010-02-06 Yves Blusseau <blusseau@zetam.org>
30551
30552 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30553 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30554
30555 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30556
30557 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30558 non-pxe disk.
30559 (grub_pxefs_open): Likewise.
30560
30561 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30562
30563 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30564 * util/grub.d/10_kfreebsd.in: Likewise.
30565 * util/grub.d/10_linux.in: Likewise.
30566
30567 2010-02-06 Colin D Bennett <colin@gibibit.com>
30568
30569 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30570 (gfxmenu_mod_SOURCES): New variable.
30571 (gfxmenu_mod_CFLAGS): Likewise.
30572 (gfxmenu_mod_LDFLAGS): Likewise.
30573 * include/grub/term.h (grub_term_set_current_output): Declare
30574 argument as const.
30575 * docs/gfxmenu-theme-example.txt: New file.
30576 * gfxmenu/gfxmenu.c: Likewise.
30577 * gfxmenu/gui_box.c: Likewise.
30578 * gfxmenu/gui_canvas.c: Likewise.
30579 * gfxmenu/gui_circular_progress.c: Likewise.
30580 * gfxmenu/gui_image.c: Likewise.
30581 * gfxmenu/gui_label.c: Likewise.
30582 * gfxmenu/gui_list.c: Likewise.
30583 * gfxmenu/gui_progress_bar.c: Likewise.
30584 * gfxmenu/gui_string_util.c: Likewise.
30585 * gfxmenu/gui_util.c: Likewise.
30586 * gfxmenu/icon_manager.c: Likewise.
30587 * gfxmenu/model.c: Likewise.
30588 * gfxmenu/named_colors.c: Likewise.
30589 * gfxmenu/theme_loader.c: Likewise.
30590 * gfxmenu/view.c: Likewise.
30591 * gfxmenu/widget-box.c: Likewise.
30592 * include/grub/gfxmenu_model.h: Likewise.
30593 * include/grub/gfxmenu_view.h: Likewise.
30594 * include/grub/gfxwidgets.h: Likewise.
30595 * include/grub/gui.h: Likewise.
30596 * include/grub/gui_string_util.h: Likewise.
30597 * include/grub/icon_manager.h: Likewise.
30598
30599 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30600
30601 Agglomerate scrolling in gfxterm.
30602
30603 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30604 (grub_virtual_screen_setup): Initialise 'total_screen'.
30605 (write_char): Split to ...
30606 (paint_char): ... this ...
30607 (write_char): ... and this.
30608 (paint_char): Handle delayed scrolling.
30609 (draw_cursor): Likewise.
30610 (scroll_up): Split to ...
30611 (real_scroll): ... this ...
30612 (scroll_up): ... and this.
30613 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30614 characters.
30615 (grub_gfxterm_refresh): Call real_scroll.
30616
30617 2010-02-06 Colin D Bennett <colin@gibibit.com>
30618
30619 * include/grub/misc.h (grub_iscntrl): New inline function.
30620 (grub_isalnum): Likewise.
30621 (grub_strtol): Likewise.
30622
30623 2010-02-06 Colin D Bennett <colin@gibibit.com>
30624
30625 * normal/menu_text.c (get_entry_number): Move from here ...
30626 * normal/menu.c (get_entry_number): ... moved here.
30627 * include/grub/menu.h (grub_menu_get_default_entry_index):
30628 New prototype.
30629 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30630 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30631 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30632 (grub_menu_viewer_should_return): Likewise.
30633 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30634 * normal/menu_text.c (run_menu): Enable menu switching.
30635 * normal/menu_viewer.c (should_return): New variable.
30636 (menu_viewer_changed): Likewise.
30637 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30638 (grub_menu_viewer_should_return): New function.
30639 (menuviewer_write_hook): Likewise.
30640 (grub_menu_viewer_init): Likewise.
30641
30642 2010-02-06 Colin D Bennet <colin@gibibit.com>
30643 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30644
30645 Support for gfxterm in a window.
30646
30647 * include/grub/gfxterm.h: New file.
30648 * include/grub/video.h (struct grub_video_rect): New declaration.
30649 (grub_video_rect_t): Likewise.
30650 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30651 (refcount): New variable.
30652 (render_target): Likewise.
30653 (window): Likewise.
30654 (repaint_callback): Likewise.
30655 (grub_virtual_screen_setup): Use 'render_target'.
30656 (init_window): New function.
30657 (grub_gfxterm_init_window): Likewise.
30658 (grub_gfxterm_init): Check reference counter.
30659 Use init_window.
30660 (destroy_window): New function.
30661 (grub_gfxterm_destroy_window): Likewise.
30662 (grub_gfxterm_fini): Check reference counter.
30663 Use destroy_window.
30664 (redraw_screen_rect): Restore viewport.
30665 Use 'render_target' and 'window'.
30666 Call 'repaint_callback'.
30667 (write_char): Use 'render_target'.
30668 (draw_cursor): Likewise.
30669 (scroll_up): Restore viewport.
30670 Use 'render_target' and 'window'.
30671 Call 'repaint_callback'.
30672 (grub_gfxterm_cls): Likewise.
30673 (grub_gfxterm_refresh): Use 'window'.
30674 (grub_gfxterm_set_repaint_callback): New function.
30675 (grub_gfxterm_background_image_cmd): Use 'window'.
30676 (grub_gfxterm_get_term): New function.
30677 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30678
30679 2010-02-06 Colin D Bennett <colin@gibibit.com>
30680
30681 Bitmap scaling support.
30682
30683 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30684 (bitmap_scale_mod_SOURCES): New variable.
30685 (bitmap_scale_mod_CFLAGS): Likewise.
30686 (bitmap_scale_mod_LDFLAGS): Likewise.
30687 * include/grub/bitmap_scale.h: New file.
30688 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30689 (background_image_cmd_options): New variable.
30690 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30691 (cmd): Rename and change type to ...
30692 (background_image_cmd_handle): ... this. All users updated.
30693 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30694 * video/bitmap_scale.c: New file.
30695
30696 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30697
30698 SDL support.
30699
30700 * Makefile.in (LIBSDL): New variable.
30701 (enable_grub_emu_sdl): Likewise.
30702 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30703 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30704 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30705 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30706 * util/sdl.c: New file.
30707
30708 2010-02-06 Colin D Bennett <colin@gibibit.com>
30709 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30710
30711 Double buffering support.
30712
30713 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30714 * include/grub/video.h: Update comment.
30715 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30716 New type.
30717 (grub_video_fb_doublebuf_blit_init): New prototype.
30718 * term/gfxterm.c (scroll_up): Support double buffering.
30719 (grub_gfxterm_refresh): Likewise.
30720 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30721 (grub_video_fb_doublebuf_blit_init): Likewise.
30722 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30723 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30724 'displayed_page', 'render_page' and 'update_screen'.
30725 (grub_video_vbe_fini): Free offscreen buffer.
30726 (doublebuf_pageflipping_commit): New function.
30727 (doublebuf_pageflipping_update_screen): Likewise.
30728 (doublebuf_pageflipping_init): Likewise.
30729 (double_buffering_init): Likewise.
30730 (grub_video_vbe_setup): Enable doublebuffering.
30731 (grub_video_vbe_swap_buffers): Implement.
30732 (grub_video_vbe_set_active_render_target): Handle double buffering.
30733 (grub_video_vbe_get_active_render_target): Likewise.
30734 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30735 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30736 (grub_video_vbe_enable_double_buffering): Likewise.
30737 (grub_video_vbe_swap_buffers): Use update_screen.
30738 (grub_video_set_mode): Use double buffering.
30739
30740 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30741
30742 * maintainance/gentrigtables.py: Remove.
30743 * lib/trig.c: Likewise.
30744
30745 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30746
30747 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30748 `trigtables.c'.
30749 (trigtables.c): New rule.
30750 (gentrigtables): Likewise.
30751 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30752
30753 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30754
30755 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30756 integer constants.
30757
30758 2010-02-06 Colin D Bennet <colin@gibibit.com>
30759
30760 Trigonometry support.
30761
30762 * include/grub/trig.h: New file.
30763 * lib/trig.c: Likewise.
30764 * maintainance/gentrigtables.py: Likewise.
30765 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30766 (trig_mod_SOURCES): New variable.
30767 (trig_mod_CFLAGS): Likewise.
30768 (trig_mod_LDFLAGS): Likewise.
30769
30770 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30771
30772 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30773 disk devices.
30774
30775 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30776
30777 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30778 error.
30779
30780 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30781
30782 * util/hostdisk.c (open_device): Don't use partition device when reading
30783 before the partition.
30784 (grub_util_biosdisk_read): Don't read from partition and before the
30785 partition in single operation.
30786 (grub_util_biosdisk_write): Don't write to partition and before the
30787 partition in single operation.
30788
30789 2010-02-03 Torsten Landschoff <torsten@debian.org>
30790
30791 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30792 last sectors.
30793
30794 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30795
30796 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30797 CDROM reads.
30798 (grub_biosdisk_write): Refuse to write to CDROM.
30799
30800 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30801
30802 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30803
30804 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30805
30806 * font/font.c (find_glyph): Check that bmp_idx is available before
30807 using it.
30808 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30809 with (font == NULL).
30810
30811 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
30812
30813 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30814
30815 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30816
30817 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30818 * util/grub-script-check.c (getline): Fix empty lines case.
30819
30820 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30821
30822 * Makefile.in (check): Exit with fail status when one of the tests
30823 fails.
30824 * tests/example_functional_test.c (example_test): Fix reversed assert.
30825 * tests/example_unit_test.c (example_test): Likewise.
30826
30827 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
30828
30829 * util/grub.d/10_linux.in: This script does not use any of the
30830 contents of gettext.sh, only the external command `gettext', so stop
30831 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30832 the same prefix as GRUB.)
30833 * util/grub.d/10_kfreebsd.in: Likewise.
30834
30835 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30836
30837 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30838 of the line.
30839
30840 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30841
30842 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30843 last sectors.
30844
30845 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30846
30847 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30848 having a 4KiB and not 32KiB buffer size.
30849
30850 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30851
30852 * util/hostfs.c: Include `<errno.h>'.
30853 (grub_hostfs_read): Handle errors from fseeko() and fread().
30854
30855 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30856
30857 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30858 loop when using read hooks on files whose size isn't sector-aligned.
30859
30860 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30861
30862 Remove unused parameter.
30863
30864 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30865 (grub_iso9660_open): Remove initialization of `data->length'.
30866
30867 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30868
30869 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30870 memleak conditions.
30871
30872 2010-01-27 Carles Pina i Estany <carles@pina.cat>
30873
30874 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30875 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30876
30877 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30878
30879 * util/bin2h.c (usage): Fix warning (space after backslash).
30880
30881 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30882
30883 * font/font.c: Include `grub/fontformat.h.
30884 Remove font file format constants.
30885 (grub_font_load): Use the new macros.
30886 * include/grub/fontformat.h: New file.
30887 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30888 (write_font_pf2): Use the new macros.
30889
30890 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30891
30892 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30893 does.
30894
30895 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30896
30897 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30898
30899 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30900 (_start): Macroify `0x7F'.
30901
30902 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30903 (make_install_device): Use "(pxe)" as fallback prefix when booting
30904 via PXE.
30905
30906 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30907
30908 * configure.ac: Reset LIBS after check for libgcc symbols.
30909
30910 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
30911
30912 * util/hostdisk.c (open_device): Add trailing newline to debug
30913 message.
30914
30915 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30916
30917 * configure.ac: Check for `limits.h'.
30918 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30919
30920 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30921
30922 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30923 capitalize error strings.
30924
30925 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30926
30927 * util/grub.d/10_hurd.in: Add a recovery mode.
30928
30929 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30930
30931 * configure.ac: Check for libgcc symbols with -nostdlib.
30932
30933 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30934
30935 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30936
30937 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30938
30939 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30940 stack since heap may be unavailable at that point.
30941 (grub_ofconsole_gotoxy): Likewise.
30942
30943 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30944
30945 * configure.ac: Check for _restgpr_14_x.
30946 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30947 and _savegpr_* prototypes.
30948
30949 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30950
30951 Use generic grub_reboot() for i386-efi.
30952
30953 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30954 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30955 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30956
30957 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30958
30959 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30960 presence of "prefix" variable as it breaks when normal.mod is
30961 embedded.
30962
30963 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30964
30965 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30966 stack since heap is unavailable at that point.
30967
30968 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30969
30970 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30971 (grub_freebsd_bootinfo): Rewritten.
30972 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30973
30974 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30975
30976 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30977
30978 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30979
30980 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30981 domain now.
30982
30983 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
30984
30985 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30986 around for handling "/" to the correct fix. Fix a memory leak. Use
30987 xstrdup instead of strdup.
30988
30989 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30990
30991 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30992
30993 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30994
30995 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30996
30997 * font/font.c (struct grub_font): New member 'bmp_idx'.
30998 (font_init): Initialise 'bmp_idx'.
30999 (load_font_index): Fill 'bmp_idx'.
31000 (find_glyph): Make inline. Use bmp_idx for BMP characters.
31001
31002 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31003
31004 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
31005 unnecessary calls.
31006
31007 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31008
31009 Move context handling out of the kernel.
31010
31011 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
31012 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
31013 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
31014 * conf/i386-efi.rmk: Likewise.
31015 * conf/i386-ieee1275.rmk: Likewise.
31016 * conf/i386-pc.rmk: Likewise.
31017 * conf/powerpc-ieee1275.rmk: Likewise.
31018 * conf/sparc64-ieee1275.rmk: Likewise.
31019 * conf/x86_64-efi.rmk: Likewise.
31020 * include/grub/env.h: Include grub/menu.h.
31021 (grub_env_var_type): Removed.
31022 (grub_env_var): Replaced field 'type' with 'global'.
31023 (grub_env_find): New prototype.
31024 (grub_env_context_open): Remove EXPORT_FUNC.
31025 (grub_env_context_close): Likewise.
31026 (grub_env_export): Likewise.
31027 (grub_env_set_data_slot): Removed.
31028 (grub_env_get_data_slot): Likewise.
31029 (grub_env_unset_data_slot): Likewise.
31030 (grub_env_unset_menu): New prototype.
31031 (grub_env_set_menu): Likewise.
31032 (grub_env_get_menu): Likewise.
31033 * include/grub/env_private.h: New file.
31034 * include/grub/normal.h (grub_context_init): New prototype.
31035 (grub_context_fini): Likewise.
31036 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
31037 * normal/context.c (grub_cmd_export): ... to here.
31038 * kern/env.c: Include env_private.h.
31039 (HASHSZ): Moved to include/grub/env_private.h.
31040 (grub_env_context): Likewise.
31041 (grub_env_sorted_var): Likewise.
31042 (current_context): Renamed from this ...
31043 (grub_current_context): ...to this. 'static' removed. All users updated.
31044 (grub_env_find): Removed 'static'.
31045 (grub_env_context_open): Moved to normal/context.c.
31046 (grub_env_context_close): Likewise.
31047 (grub_env_export): Likewise.
31048 (mangle_data_slot_name): Removed.
31049 (grub_env_set_data_slot): Likewise.
31050 (grub_env_get_data_slot): Likewise.
31051 (grub_env_unset_data_slot): Likewise.
31052 * kern/main.c (grub_set_root_dev): Don't export root.
31053 It will be done later.
31054 (grub_main): Don't export prefix.
31055 It will be done later.
31056 * normal/context.c: New file.
31057 * normal/main.c (free_menu): Use grub_env_unset_menu.
31058 (grub_normal_add_menu_entry): Use grub_env_get_menu.
31059 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
31060 (GRUB_MOD_INIT(normal)): Call grub_context_init.
31061 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
31062
31063 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31064
31065 setpci support.
31066
31067 * commands/setpci.c: New file.
31068 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
31069 (setpci_mod_SOURCES): New variable.
31070 (setpci_mod_CFLAGS): Likewise.
31071 (setpci_mod_LDFLAGS): Likewise.
31072
31073 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31074
31075 Byte-addressable PCI configuration space.
31076
31077 * bus/pci.c (grub_pci_make_address): Use byte address instead of
31078 dword address.
31079 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
31080 GRUB_PCI_REG_CACHELINE.
31081 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
31082 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
31083 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
31084 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
31085 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
31086 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
31087 grub_pci_make_address.
31088 (lock_rom_area): Likewise.
31089 * commands/lspci.c (grub_lspci_iter): Use macroses
31090 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
31091 of grub_pci_make_address.
31092 * disk/ata.c (grub_ata_pciinit): Likewise.
31093 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
31094 (GRUB_PCI_REG_VENDOR): Likewise.
31095 (GRUB_PCI_REG_DEVICE): Likewise.
31096 (GRUB_PCI_REG_COMMAND): Likewise.
31097 (GRUB_PCI_REG_STATUS): Likewise.
31098 (GRUB_PCI_REG_REVISION): Likewise.
31099 (GRUB_PCI_REG_CLASS): Likewise.
31100 (GRUB_PCI_REG_CACHELINE): Likewise.
31101 (GRUB_PCI_REG_LAT_TIMER): Likewise.
31102 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
31103 (GRUB_PCI_REG_BIST): Likewise.
31104 (GRUB_PCI_REG_ADDRESSES): Likewise.
31105 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31106 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31107 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31108 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31109 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31110 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31111 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31112 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31113 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31114 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31115 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31116 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31117 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31118 (GRUB_PCI_REG_MIN_GNT): Likewise.
31119 (GRUB_PCI_REG_MAX_LAT): Likewise.
31120 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31121 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31122 * video/efi_uga.c (find_framebuf): Likewise.
31123 * video/sm712.c (grub_video_sm712_setup): Likewise.
31124 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31125 space.
31126
31127 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31128
31129 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31130 can be reliably determined to be supported.
31131
31132 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31133
31134 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31135 that VESA is supported.
31136 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31137 supported.
31138
31139 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31140
31141 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31142
31143 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31144
31145 * util/misc.c (make_system_path_relative_to_its_root): Work around
31146 special-casing of "/", as previous incarnation of this routine did.
31147
31148 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31149
31150 Fix any-emu compilation.
31151
31152 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31153 * grub_bin2h_SOURCES: New variable.
31154
31155 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31156
31157 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31158
31159 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31160
31161 * util/grub.d/00_header.in: Fix handling of locale_dir.
31162
31163 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31164
31165 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31166 as possible unifont location (Gentoo).
31167 Reported by: Alexander Brüning
31168
31169 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31170
31171 Don't try to generate lists for kernel.img.
31172
31173 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31174 (pkglib_MODULES): Remove kernel.img.
31175 (kernel_img_EXPORTS): Removed.
31176 (kernel_img_RELOCATABLE): New variable.
31177 * conf/x86_64-efi.rmk: Likewise.
31178 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31179
31180 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31181
31182 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31183 grub_xasprintf or grub_snprintf.
31184 (grub_vsprintf): Likewise.
31185 (grub_snprintf): New proto.
31186 (grub_vsnprintf): Likewise.
31187 (grub_xasprintf): Likewise.
31188 (grub_xvasprintf): Likewise.
31189 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31190 (grub_sprintf): Removed.
31191 (grub_vsnprintf): New function.
31192 (grub_snprintf): Likewise.
31193 (grub_xvasprintf): Likewise.
31194 (grub_xasprintf): Likewise.
31195 (grub_vsprintf): Renamed to ...
31196 (grub_vsnprintf_real): ...this. New argument max_len.
31197
31198 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31199
31200 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31201 fix grub-script-check warning.
31202
31203 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31204
31205 * include/grub/font.h (grub_font_load): Fix prototype.
31206
31207 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31208
31209 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31210
31211 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31212
31213 * include/grub/x86_64/at_keyboard.h: New file.
31214
31215 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31216
31217 * loader/mips/linux.c: Include missing grub/i18n.h.
31218
31219 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31220
31221 * normal/menu.c (notify_execution_failure): Clarify error message.
31222
31223 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31224
31225 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31226 return value (and revert all return statements). Update users.
31227
31228 2010-01-20 Dan Merillat <debian@dan.merillat.org>
31229
31230 * kern/device.c (grub_device_iterate): Allocate new part_ent
31231 structure based on sizeof (*p) rather than sizeof (p->next), to
31232 account for structure padding.
31233
31234 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31235 disk is NULL, which might happen for LVM physical volumes with no
31236 LVM signature.
31237
31238 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31239
31240 * loader/mips/linux.c (grub_cmd_initrd)
31241 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31242
31243 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31244
31245 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31246 (grub_video_video_init, grub_video_bitmap_init)
31247 (grub_font_manager_init, grub_term_gfxterm_init)
31248 (grub_at_keyboard_init): New extern declarations.
31249 (grub_machine_init): Initialize gfxterm and at_keyboard.
31250
31251 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31252
31253 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31254 `gfxterm.mod' into core image.
31255
31256 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31257 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31258 (kernel_img_FORMAT): Copy to ...
31259
31260 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31261 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31262 (kernel_img_FORMAT): ... here, and ...
31263
31264 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31265 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31266 (kernel_img_FORMAT): ... here.
31267
31268 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31269 and input (at_keyboard) terminals in kernel.
31270 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31271
31272 (pkglib_MODULES): Remove `pci.mod'.
31273 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31274 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31275 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31276 (at_keyboard_mod_LDFLAGS): Remove variables.
31277
31278 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
31279
31280 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31281
31282 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31283
31284 * include/grub/mips/libgcc.h: Only export symbols for functions
31285 that libgcc provides.
31286
31287 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31288
31289 MIPS support.
31290
31291 * bus/bonito.c: New file.
31292 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31293 GRUB_PCI_NUM_DEVICES.
31294 * term/i386/pc/serial.c: Move to ...
31295 * term/serial.c: ... here. All users updated.
31296 * util/i386/pc/grub-mkimage.c: Move to ...
31297 * util/grub-mkrawimage.c: ... here. All users updated.
31298 * term/i386/pc/at_keyboard.c: Move to ...
31299 * term/at_keyboard.c: ... here. All users updated.
31300 * conf/mips-qemu-mips.rmk: New file.
31301 * conf/mips-yeeloong.rmk: Likewise.
31302 * conf/mips.rmk: Likewise.
31303 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31304 mipsel-qemu-mips.
31305 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31306 to port addresses.
31307 (grub_ata_pciinit): Support CS5536.
31308 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31309 * font/font_cmd.c (loadfont_command): Open file before passing it to
31310 grub_font_load.
31311 (pseudo_file_read): New function.
31312 (pseudo_file_close): Likewise.
31313 (pseudo_fs): New structure.
31314 (load_font_module): New function.
31315 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31316 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31317 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31318 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31319 * include/grub/i386/at_keyboard.h: Split into ...
31320 * include/grub/at_keyboard.h: ... this ...
31321 * include/grub/i386/at_keyboard.h: ... and this.
31322 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31323 New prototype.
31324 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31325 updated.
31326 (grub_elf64_size): Likewise.
31327 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31328 filename.
31329 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31330 * include/grub/i386/coreboot/serial.h: Rewritten.
31331 * include/grub/i386/ieee1275/serial.h: Include
31332 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31333 * include/grub/i386/pc/serial.h: Moved from here ...
31334 * include/grub/serial.h: ... to here. All users updated.
31335 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31336 (GRUB_PCI_NUM_BUS): Likewise.
31337 (GRUB_PCI_NUM_DEVICES): Likewise.
31338 (grub_pci_device_map_range): Add missing volatile keyword.
31339 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31340 * include/grub/mips/at_keyboard.h: New file.
31341 * include/grub/mips/cache.h: Likewise.
31342 * include/grub/mips/io.h: Likewise.
31343 * include/grub/mips/kernel.h: Likewise.
31344 * include/grub/mips/libgcc.h: Likewise.
31345 * include/grub/mips/pci.h: Likewise.
31346 * include/grub/mips/qemu-mips/boot.h: Likewise.
31347 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31348 * include/grub/mips/qemu-mips/loader.h: Likewise.
31349 * include/grub/mips/qemu-mips/memory.h: Likewise.
31350 * include/grub/mips/qemu-mips/serial.h: Likewise.
31351 * include/grub/mips/qemu-mips/time.h: Likewise.
31352 * include/grub/mips/relocator.h: Likewise.
31353 * include/grub/mips/time.h: Likewise.
31354 * include/grub/mips/types.h: Likewise.
31355 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31356 * include/grub/mips/yeeloong/boot.h: Likewise.
31357 * include/grub/mips/yeeloong/kernel.h: Likewise.
31358 * include/grub/mips/yeeloong/loader.h: Likewise.
31359 * include/grub/mips/yeeloong/memory.h: Likewise.
31360 * include/grub/mips/yeeloong/pci.h: Likewise.
31361 * include/grub/mips/yeeloong/serial.h: Likewise.
31362 * include/grub/mips/yeeloong/time.h: Likewise.
31363 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31364 * kern/elf.c (grub_elf32_size): New parameter. All users
31365 updated.
31366 (grub_elf64_size): Likewise.
31367 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31368 Load modules before saying "Welcome to GRUB!".
31369 Call grub_refresh after saying "Welcome to GRUB!".
31370 * kern/mips/cache.S: New file.
31371 * kern/mips/cache_flush.S: Likewise.
31372 * kern/mips/dl.c: Likewise.
31373 * kern/mips/init.c: Likewise.
31374 * kern/mips/qemu-mips/init.c: Likewise.
31375 * kern/mips/startup.S: Likewise.
31376 * kern/mips/yeeloong/init.c: Likewise.
31377 * kern/term.c (grub_putcode): Handle NULL terminal.
31378 (grub_getcharwidth): Likewise.
31379 (grub_getkey): Likewise.
31380 (grub_checkkey): Likewise.
31381 (grub_getkeystatus): Likewise.
31382 (grub_getxy): Likewise.
31383 (grub_getwh): Likewise.
31384 (grub_gotoxy): Likewise.
31385 (grub_cls): Likewise.
31386 (grub_setcolorstate): Likewise.
31387 (grub_setcolor): Likewise.
31388 (grub_getcolor): Likewise.
31389 (grub_refresh): Likewise.
31390 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31391 (write_jump): Add hatch nop.
31392 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31393 * lib/mips/setjmp.S: New file.
31394 * loader/mips/linux.c: Likewise.
31395 * term/i386/pc/at_keyboard.c: Move from here ...
31396 * term/at_keyboard.c: ... to here.
31397 * term/i386/pc/serial.c: Moved from here ...
31398 * term/serial.c: ... to here. All users updated.
31399 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31400 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31401 (serial_translate_key_sequence): Avoid deadlock.
31402 (grub_serial_getkey): Handle backspace.
31403 (grub_serial_putchar): Fix newline handling.
31404 * util/i386/pc/grub-mkimage.c: Move from here ...
31405 * util/grub-mkrawimage.c: ... to here. All users updated.
31406 (generate_image): New parameters 'font_path' and 'format'.
31407 Support embedding font.
31408 Use grub_host_to_target* instead of grub_cpu_to_le*.
31409 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31410 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31411 (options): New option "--font".
31412 (usage): Likewise.
31413 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31414 (main): Handle "--font".
31415 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31416 (grub_virtual_screen_setup): Set bg_color_display.
31417 (redraw_screen_rect): Use bg_color_display instead of incorrect
31418 bg_color.
31419 (grub_gfxterm_cls): Likewise.
31420 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31421 Support embedding config file.
31422 (add_segments): Likewise.
31423 (options): New option "--config".
31424 (main): Handle "--config".
31425 * video/sm712.c: New file.
31426
31427 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31428
31429 Fix parallel builds.
31430
31431 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31432 font.c depend on ascii.h).
31433
31434 2010-01-12 Carles Pina i Estany <carles@pina.cat>
31435
31436 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31437
31438 2010-01-11 Carles Pina i Estany <carles@pina.cat>
31439
31440 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31441 By default: disabled.
31442 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31443 parameter.
31444
31445 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31446
31447 * font/font.c: Update copyright years.
31448 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31449
31450 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31451
31452 * font/font.c: Include `ascii.h'.
31453 (ASCII_BITMAP_SIZE): New macro.
31454 (ascii_font_glyph): Define.
31455 (ascii_glyph_lookup): New function.
31456 (grub_font_get_string_width): Change comment. If glyph not found, use
31457 ascii_glyph_lookup.
31458 (grub_font_get_glyph_with_fallback): If glyph not available returns
31459 ascii_glyph_lookup.
31460 * util/grub-mkfont.c (file_formats): New enum.
31461 (options): Add `ascii-bitmaps' new option.
31462 (usage): Add `asii-bitmaps' new option.
31463 (write_font_ascii_bitmap): New function.
31464 (write_font): Rename to ...
31465 (write_font_p2): ... this. Remove print_glyphs call.
31466 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31467 used. Call print_glyphs.
31468 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31469
31470 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31471
31472 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31473 (grub_bin2h_SOURCES): New variable.
31474 * util/bin2h.c: New file.
31475
31476 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31477
31478 * include/multiboot.h: Resynced with spec.
31479 * include/multiboot2.h: Likewise.
31480 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31481 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31482
31483 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31484
31485 * include/grub/term.h (grub_term_register_input,
31486 grub_term_register_output): Check return of terminal init()
31487 routines, and abort if errors are raised.
31488
31489 * commands/terminal.c: Update copyright year.
31490
31491 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31492
31493 * commands/terminal.c (grub_cmd_terminal_input)
31494 (grub_cmd_terminal_output): Check return of terminal init()
31495 routines, and abort if errors are raised.
31496
31497 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31498
31499 * include/grub/i386/bsd.h: Fix include pathes.
31500
31501 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31502
31503 Add missing *BSD copyright headers.
31504
31505 * include/grub/aout.h: Add BSD licence.
31506 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31507 * include/grub/i386/freebsd_linker.h: ... here,
31508 * include/grub/i386/freebsd_reboot.h: ... here,
31509 * include/grub/i386/netbsd_bootinfo.h: ... here,
31510 * include/grub/i386/netbsd_reboot.h: ... here,
31511 * include/grub/i386/openbsd_bootarg.h: ... here,
31512 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31513 licence to each file.
31514
31515 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31516
31517 * acinclude.m4: Remove `nop' assembly instruction; it's not
31518 implemented by all architectures.
31519
31520 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31521
31522 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31523 ELILO. This is no longer necessary.
31524
31525 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31526
31527 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31528
31529 * util/grub-script-check.c: grub-script-check tool.
31530 * conf/common.rmk: Make rules for grub-script-check.
31531
31532 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31533
31534 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31535 spotting it back in 2008. Shame on me for forgetting he did.
31536
31537 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31538
31539 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31540
31541 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31542 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31543 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31544 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31545 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31546 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31547
31548 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31549
31550 * include/grub/test.h: Add license header.
31551 * tests/example_functional_test.c: Likewise.
31552 * tests/example_unit_test.c: Likewise.
31553 * tests/lib/functional_test.c: Likewise.
31554 * tests/lib/test.c: Likewise.
31555 * tests/lib/unit_test.c: Likewise.
31556
31557 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31558
31559 Use flag-based instead of hook-based video mode selection and "auto"
31560 keyword.
31561
31562 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31563 (grub_video_set_mode): Changed prototype. All users updated.
31564 (grub_video_check_mode_flag): New inline function.
31565 * video/video.c (parse_modespec): New function.
31566 (grub_video_set_mode): Parse flags and keywords.
31567
31568 2010-01-17 Carles Pina i Estany <carles@pina.cat>
31569
31570 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31571 fprintf call.
31572
31573 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31574
31575 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31576
31577 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31578
31579 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31580 string.
31581 * util/grub-emu.c (usage): Likewise.
31582 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31583 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31584 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31585 * util/i386/pc/grub-setup.c (usage): Likewise.
31586
31587 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31588
31589 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31590 the message.
31591 (grub_util_info): Likewise.
31592 (grub_util_error): Likewise.
31593 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31594 and/or new lines in `grub_util_warna', `grub_util_info',
31595 `grub_util_error' calls.
31596 * util/getroot.c: Likewise.
31597 * util/grub-editenv.c: Likewise.
31598 * util/grub-emu.c: Likewise.
31599 * util/grub-fstest.c: Likewise.
31600 * util/grub-mkdevicemap.c: Likewise.
31601 * util/grub-mkfont.c: Likewise.
31602 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31603 * util/grub-mkrelpath.c: Likewise.
31604 * util/grub-pe2elf.c: Likewise.
31605 * util/grub-probe.c: Likewise.
31606 * util/hostdisk.c: Likewise.
31607 * util/i386/efi/grub-mkimage.c: Likewise.
31608 * util/i386/pc/grub-mkimage.c: Likewise.
31609 * util/i386/pc/grub-setup.c: Likewise.
31610 * util/ieee1275/ofpath.c: Likewise.
31611 * util/mkisofs/eltorito.c: Likewise.
31612 * util/mkisofs/rock.c: Likewise.
31613 * util/mkisofs/write.c: Likewise.
31614 * util/raid.c: Likewise.
31615 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31616 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31617
31618 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31619
31620 Enable multiboot on non-pc.
31621
31622 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31623 multiboot.mod and multiboot2.mod to ...
31624 * conf/i386.rmk (pkglib_MODULES): ... here.
31625 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31626 Moved to ...
31627 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31628 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31629 Moved to ...
31630 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31631 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31632 Moved to ...
31633 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31634 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31635 Moved to ...
31636 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31637 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31638 relocator.mod.
31639 (ata_mod_SOURCES): Removed.
31640 (ata_mod_CFLAGS): Likewise.
31641 (ata_mod_LDFLAGS): Likewise.
31642 (relocator_mod_SOURCES): Removed.
31643 (relocator_mod_CFLAGS): Likewise.
31644 (relocator_mod_ASFLAGS): Likewise.
31645 (relocator_mod_LDFLAGS): Likewise.
31646 Include i386.mk.
31647 * include/grub/x86_64/multiboot.h: New file.
31648 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31649 Terminate EFI.
31650
31651 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31652
31653 Video multiboot support.
31654
31655 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31656 New prototype.
31657 * include/multiboot.h: Resynced with multiboot specification.
31658 * include/multiboot2.h: Likewise.
31659 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31660 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31661 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31662 (HAS_VGA_TEXT): Likewise.
31663 (accepts_video): New variable.
31664 (grub_multiboot_set_accepts_video): New function.
31665 (grub_multiboot_get_mbi_size): Account for video structures.
31666 (set_video_mode): New function.
31667 (retrieve_video_parameters): Likewise.
31668 (grub_multiboot_make_mbi): Fill video fields.
31669
31670 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31671
31672 Video driver ids.
31673
31674 * include/grub/video.h (grub_video_driver_id): New type.
31675 (grub_video_adapter): New member 'id'. All users updated.
31676 (grub_video_get_driver_id): New proto.
31677 * video/video.c (grub_video_get_driver_id): New function.
31678
31679 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31680
31681 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31682 `var=val'.
31683
31684 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31685
31686 * normal/cmdline.c (print_completion): Gettextizze.
31687
31688 2001-01-14 Carles Pina i Estany <carles@pina.cat>
31689
31690 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31691
31692 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31693
31694 * gettext/gettext.c (grub_gettext_translate): Push and pop
31695 grub_errno.
31696 (grub_gettext_delete_list): Change comment style.
31697 * kern/err.c (grub_error): Gettextizze.
31698 (grub_fatal): Gettextizze.
31699
31700 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31701
31702 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31703 (grub_linux16_real_boot): ... this.
31704 * kern/i386/loader.S: Likewise.
31705 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31706 (grub_linux16_boot): New function. Switches to text mode and calls
31707 grub_linux16_real_boot().
31708
31709 * loader/i386/bsd.c: Include `<grub/video.h>'.
31710 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31711 text mode before calling grub_unix_real_boot().
31712
31713 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31714 (grub_multiboot_boot): Switch to text mode before calling
31715 grub_relocator32_boot().
31716
31717 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31718 (grub_chainloader_boot): Switch to text mode before calling
31719 grub_chainloader_real_boot().
31720
31721 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31722 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31723
31724 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31725 non-empty value.
31726
31727 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31728 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31729
31730 * util/grub.d/00_header.in: Define a "savedefault" function for use
31731 in menu entries.
31732 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31733
31734 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31735 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31736
31737 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31738 saved_entry if boot_once is unset.
31739 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31740 previous saved entry (i.e. grub-reboot).
31741
31742 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31743
31744 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31745
31746 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31747
31748 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31749 `var=val'.
31750 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31751
31752 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31753
31754 * util/grub-reboot.in: Fix --version output.
31755 * util/grub-set-default.in: Likewise.
31756
31757 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31758
31759 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31760 blocks.
31761
31762 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31763
31764 * util/grub.d/00_header.in: Quote the value assigned to `default',
31765 in case it contains spaces.
31766
31767 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31768
31769 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31770 `save_default_entry' call from the macosx case to the linux case.
31771
31772 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
31773 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
31774
31775 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31776 in `chosen' environment variable.
31777 * normal/menu_text.c (get_entry_number): Check if the variable
31778 matches the title of a menu entry.
31779 (run_menu): Pass menu to get_entry_number.
31780
31781 * util/grub-reboot.in: New file.
31782 * util/grub-set-default.in: New file.
31783 * conf/common.rmk (grub-reboot): New utility.
31784 (grub-set-default): New utility.
31785
31786 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31787 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31788 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31789 move it to `saved_entry' for the next boot. Load environment on
31790 initialisation.
31791 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31792 * util/grub.d/10_hurd.in: Likewise.
31793 * util/grub.d/10_linux.in (linux_entry): Likewise.
31794 * util/grub.d/10_windows.in: Likewise.
31795 * util/grub.d/30_os-prober.in: Likewise.
31796
31797 * util/grub-install.in: Create environment block.
31798 * util/i386/efi/grub-install.in: Likewise.
31799 * util/ieee1275/grub-install.in: Likewise.
31800 * util/sparc64/ieee1275/grub-install.in: Likewise.
31801
31802 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31803
31804 Unit testing framework for GRUB.
31805
31806 * Makefile.in: Test framework build rules for 'make check'.
31807 * conf/tests.rmk: Build rules for individual tests and framework.
31808
31809 * include/grub/test.h: Header file for whitebox tests.
31810 * tests/lib/functional_test.c: Framework support for whitebox
31811 functional tests.
31812 * tests/lib/test.c: Common whitebox testing code for unit and
31813 functional tests.
31814 * tests/lib/unit_test.c: Framework support for whitebox unit
31815 tests.
31816
31817 * tests/util/grub-shell-tester.in: Support utility for grub-script
31818 tests.
31819 * tests/util/grub-shell.in: Utility to execute grub-script
31820 commands in a Qemu instance.
31821
31822 * tests/example_functional_test.c: Example whitebox functional
31823 test.
31824 * tests/example_grub_script_test.in: Example grub-script test.
31825 * tests/example_scripted_test.in: Example scripted test.
31826 * tests/example_unit_test.c: Example whitebox unit test.
31827
31828 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31829
31830 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31831 Add loader/i386/multiboot_mbi.c.
31832 (multiboot2_mod_SOURCES): Likewise.
31833 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31834 (multiboot2_mod_SOURCES): Likewise.
31835 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31836 (grub_multiboot_make_mbi): Likewise.
31837 (grub_multiboot_free_mbi): Likewise.
31838 (grub_multiboot_init_mbi): Likewise.
31839 (grub_multiboot_add_module): Likewise.
31840 (grub_multiboot_set_bootdev): Likewise.
31841 * loader/i386/multiboot.c (mbi): Removed.
31842 (mbi_dest): Likewise.
31843 (alloc_mbi): New variable.
31844 (grub_multiboot_payload_size): Removed. All users updated.
31845 (grub_multiboot_pure_size): New variable.
31846 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31847 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31848 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31849 (grub_fill_multiboot_mmap): Likewise.
31850 (grub_multiboot_get_bootdev): Likewise.
31851 (grub_multiboot): Use multiboot_mbi functions.
31852 * loader/i386/multiboot_mbi.c: New file.
31853
31854 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31855
31856 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31857 it would result in module crash.
31858
31859 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31860
31861 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31862 (grub_ofconsole_getwh): Split to ...
31863 (grub_ofconsole_getwh): ... this.
31864 (grub_ofconsole_dimensions): ...and this.
31865 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31866
31867 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31868
31869 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31870
31871 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31872
31873 * loader/i386/pc/multiboot2.c: Removed stalled file.
31874
31875 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31876
31877 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31878 Reported by: Grégoire Sutre
31879
31880 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31881
31882 * util/misc.c (canonicalize_file_name): New function.
31883 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31884 instead of realpath().
31885
31886 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
31887
31888 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31889 and make it clearer that it's optional. Based on confusion
31890 witnessed on IRC.
31891
31892 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31893
31894 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31895 in premature implicit newline.
31896
31897 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31898
31899 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31900 which resulted in garbled command line at the end of screen.
31901
31902 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31903
31904 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31905 initialization with similar approach as with other Linux loaders.
31906
31907 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31908
31909 Fix i386-ieee1275 build.
31910
31911 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31912 and grub_term_height() for video_{width,height} initialization.
31913
31914 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31915
31916 Fix grub-emu build.
31917
31918 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31919
31920 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31921 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31922
31923 Support for multiple terminals.
31924
31925 * Makefile.in (pkglib_DATA): terminal.lst.
31926 (terminal.lst): New target.
31927 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31928 (GRUB_MOD_INIT(handler)): Likewise.
31929 (GRUB_MOD_FINI(handler)): Likewise.
31930 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31931 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31932 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31933 (grub_cmd_sleep): Use grub_term_save_pos.
31934 * commands/terminal.c: New file.
31935 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31936 commands/terminal.c and lib/charset.c.
31937 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31938 (pkglib_MODULES): Add terminal.mod.
31939 (terminal_mod_SOURCES): New variable.
31940 (terminal_mod_CFLAGS): Likewise.
31941 (terminal_mod_LDFLAGS): Likewise.
31942 * genhandlerlist.sh: Don't handle terminals.
31943 * genmk.rb: Generate terminal-*.lst.
31944 * genterminallist.sh: New file.
31945 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31946 (grub_is_valid_utf8): Likewise.
31947 (grub_utf8_to_ucs4_alloc): Likewise.
31948 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31949 (grub_menu_register_viewer): Changed argument.
31950 (grub_menu_try_text): New proto.
31951 (grub_gfxmenu_try_hook): New declaration.
31952 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31953 (grub_menu_init_page): Additional argument term.
31954 (grub_normal_init_page): Likewise.
31955 (grub_cmdline_get): Arguments simplified.
31956 (grub_utf8_to_ucs4_alloc): Removed.
31957 (grub_print_ucs4): Additional argument term.
31958 (grub_getstringwidth): Likewise.
31959 (grub_print_message_indented): Likewise.
31960 (grub_menu_text_register_instances): New proto.
31961 (grub_show_menu): Likewise.
31962 (read_terminal_list): Likewise.
31963 (grub_set_more): Likewise.
31964 * include/grub/parser.h: Include handler.h.
31965 * include/grub/reader.h: Rewritten.
31966 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31967 (GRUB_TERM_WIDTH): Changed to function.
31968 (GRUB_TERM_HEIGHT): Likewise.
31969 (GRUB_TERM_BORDER_WIDTH): Likewise.
31970 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31971 (GRUB_TERM_NUM_ENTRIES): Likewise.
31972 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31973 (GRUB_TERM_CURSOR_X): Likewise.
31974 (grub_term_input_class): Likewise.
31975 (grub_term_output_class): Likewise.
31976 (grub_term_outputs_disabled): New declaration.
31977 (grub_term_inputs_disabled): Likewise.
31978 (grub_term_outputs): Likewise.
31979 (grub_term_inputs): Likewise.
31980 (grub_term_register_input): Rewritten.
31981 (grub_term_register_output): Likewise.
31982 (grub_term_unregister_input): Likewise.
31983 (grub_term_unregister_output): Likewise.
31984 (FOR_ACTIVE_TERM_INPUTS): New macro.
31985 (FOR_DISABLED_TERM_INPUTS): Likewise.
31986 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31987 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31988 * include/grub/terminfo.h: Add oterm argument to all protypes.
31989 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31990 Use grub_rescue_run.
31991 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31992 All users updated.
31993 * kern/reader.c: Removed. All users updated.
31994 * kern/rescue_reader.c (grub_rescue_init): Removed.
31995 (grub_rescue_reader): Likewise.
31996 (grub_register_rescue_reader): Likewise.
31997 (grub_rescue_run): New function based on kern/reader.c.
31998 * kern/term.c: Adapted for multiterm.
31999 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
32000 (grub_is_valid_utf8): Likewise.
32001 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
32002 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
32003 right terminal.
32004 * loader/i386/linux.c (grub_linux_boot): Likewise.
32005 * normal/auth.c (grub_username_get): New function.
32006 (grub_auth_check_authentication): Use grub_username_get.
32007 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
32008 * normal/color.c: Adapt for multiterm.
32009 * normal/main.c (read_config_file): Don't use grub_reader_loop.
32010 (grub_normal_init_page): Additional argument term.
32011 (read_lists): Call read_terminal_lists.
32012 (grub_enter_normal_mode): Call grub_cmdline_run.
32013 Handle grub_normal_exit_level.
32014 (grub_cmd_normal): Make reentrant.
32015 (grub_cmd_normal_exit): New function.
32016 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
32017 * normal/menu.c: Adapt for multiterm.
32018 * normal/menu_entry.c: Likewise.
32019 * normal/menu_text.c: Likewise.
32020 * normal/menu_viewer.c: Removed. All users updated.
32021 * normal/term.c: New file.
32022 * util/console.c: Change order of includes to workaround a bug in
32023 ncurses headers.
32024 * term/terminfo.c: New argument oterm on all exported functions.
32025 All users updated.
32026 * util/grub-editenv.c (grub_term_input_class): Removed.
32027 (grub_term_output_class): Likewise.
32028
32029 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
32030
32031 Make loader output a bit more user-friendly.
32032
32033 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
32034 is being loaded. Likewise for the Hurd.
32035
32036 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
32037 that kernel of FreeBSD ${version} is being loaded.
32038
32039 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
32040 grub_dprintf().
32041 (grub_cmd_initrd): Likewise.
32042 * util/grub.d/10_linux.in (linux_entry): Print message indicating
32043 that Linux ${version} is being loaded. Likewise for initrd.
32044
32045 2010-01-09 Carles Pina i Estany <carles@pina.cat>
32046
32047 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
32048
32049 2010-01-08 Carles Pina i Estany <carles@pina.cat>
32050
32051 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
32052 (GRUB_MOD_INIT): Gettextizze.
32053 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
32054 (GRUB_MOD_INIT): Gettextizze.
32055 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
32056 (grub_cmd_linux): Capitalise Linux.
32057 (GRUB_MOD_INIT): Gettextizze.
32058 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
32059 (grub_cmd_linux): Capitalise Linux.
32060 (GRUB_MOD_INIT): Gettextizze.
32061 * loader/i386/linux.c: Include `<grub/i18n.h>'.
32062 (grub_cmd_linux): Capitalise Linux.
32063 (GRUB_MOD_INIT): Gettextizze.
32064 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
32065 (GRUB_MOD_INIT): Gettextizze.
32066 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
32067 (grub_cmd_linux): Capitalise Linux.
32068 (GRUB_MOD_INIT): Gettextizze.
32069 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
32070 (grub_cpu_xnu_init): Gettextizze.
32071 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
32072 (GRUB_MOD_INIT): Gettextizze.
32073 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
32074 (GRUB_MOD_INIT): Gettextizze.
32075 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
32076 (grub_linux_load64): Capitalise Linux.
32077 (GRUB_MOD_INIT): Gettextizze.
32078 * loader/xnu.c: Include `<grub/i18n.h>'.
32079 (GRUB_MOD_INIT): Gettextizze.
32080 * po/POTFILES: Add `loader/efi/appleloader.c',
32081 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
32082 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
32083 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
32084 `loader/i386/xnu.c', `loader/multiboot_loader.c',
32085 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
32086 and `loader/xnu.c'.
32087
32088 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32089
32090 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
32091
32092 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32093
32094 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
32095 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
32096 * util/mkisofs/mkisofs.c (main): Readjust --version output.
32097
32098 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32099
32100 Reset Multiboot 2 support. New loader implements the draft in
32101 /branches/multiboot2 and shares as much code as possible with the
32102 production Multiboot 1 implementation.
32103
32104 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32105 * loader/multiboot2.c: Likewise.
32106 * loader/i386/multiboot_helper.S: Likewise.
32107 * include/multiboot2.h: Replace with latest version from the draft
32108 in /branches/multiboot2.
32109
32110 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32111 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32112 and `loader/multiboot2.c'.
32113 (pkglib_MODULES): Add `multiboot2.mod'.
32114 (multiboot2_mod_SOURCES): New variable.
32115 (multiboot2_mod_LDFLAGS): Likewise.
32116 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32117
32118 * conf/i386-pc.rmk: Likewise.
32119
32120 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32121 (multiboot_mod_SOURCES): Remove variable.
32122 (multiboot_mod_LDFLAGS): Likewise.
32123 (multiboot_mod_CFLAGS): Likewise.
32124
32125 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32126 `<multiboot2.h>' instead of `<multiboot.h>'.
32127 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32128 (MULTIBOOT_HEADER_MAGIC): New macros.
32129
32130 * loader/multiboot_loader.c (module_version_status): Remove variable.
32131 (find_multi_boot2_header): Remove function.
32132 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32133 logic. Always check for the Multiboot version we're compiling for.
32134 (grub_cmd_module_loader): Likewise.
32135 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32136 command instead of `multiboot'.
32137
32138 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32139
32140 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32141 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32142 all users.
32143
32144 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32145 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32146
32147 Fix breakage introduced with previous commit.
32148
32149 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32150 commands.
32151 * normal/handler.c (read_handler_list): Revert part of previous commit
32152 affecting this file.
32153 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32154 (grub_normal_execute): ... here.
32155
32156 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32157
32158 Merge prefix-redefinition-fix branch.
32159
32160 * normal/autofs.c (read_fs_list): Make function capable of being
32161 run multiple times, gracefuly replacing the previous data
32162 structures.
32163 * normal/dyncmd.c (read_command_list): Likewise.
32164 * normal/handler.c (read_handler_list): Likewise.
32165 * normal/main.c (read_lists): New function. Calls all the
32166 list reading functions.
32167 (grub_normal_execute): Use read_lists() instead of calling all
32168 list reading functions explicitly. Register read_lists() as a
32169 variable hook attached to ${prefix}.
32170
32171 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32172
32173 Merge crypto branch.
32174
32175 * Makefile.in (pkglib_DATA): Add crypto.lst.
32176 (crypto.lst): New target.
32177 * commands/hashsum.c: New file.
32178 * commands/password.c (check_password): Use grub_crypto_memcmp.
32179 * commands/password_pbkdf2.c: New file.
32180 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32181 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32182 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32183 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32184 -I$(srcdir)/lib/libgcrypt_wrap.
32185 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32186 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32187 password_pbkdf2.mod.
32188 (crypto_mod_SOURCES): New variable.
32189 (crypto_mod_CFLAGS): Likewise.
32190 (crypto_mod_LDFLAGS): Likewise.
32191 (hashsum_mod_SOURCES): New variable.
32192 (hashsum_mod_CFLAGS): Likewise.
32193 (hashsum_mod_LDFLAGS): Likewise.
32194 (pbkdf2_mod_SOURCES): New variable.
32195 (pbkdf2_mod_CFLAGS): Likewise.
32196 (pbkdf2_mod_LDFLAGS): Likewise.
32197 (password_pbkdf2_mod_SOURCES): New variable.
32198 (password_pbkdf2_mod_CFLAGS): Likewise.
32199 (password_pbkdf2_mod_LDFLAGS): Likewise.
32200 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32201 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32202 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32203 Include conf/gcry.rmk.
32204 * include/grub/auth.h: Rewritten.
32205 * include/grub/crypto.h: New file.
32206 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32207 * include/grub/normal.h (read_crypto_list): New prototype.
32208 * lib/crypto.c: New file.
32209 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32210 * lib/pbkdf2.c: Likewise.
32211 * normal/auth.c (grub_auth_strcmp): Removed.
32212 (grub_iswordseparator): Likewise.
32213 (grub_auth_strword): Likewise.
32214 (is_authenticated): Use grub_strword.
32215 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32216 and grub_strword. Pass entered password to authentication callback.
32217 * normal/crypto.c: New file.
32218 * normal/main.c: Call read_crypto_list.
32219 * util/grub-mkpasswd-pbkdf2.c: New file.
32220 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32221
32222 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32223
32224 Fix descent and ascent calculation.
32225
32226 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32227 (options): New option "asce".
32228 (usage): Likewise.
32229 (add_char): Ignore invalid glyphs for descent calculation.
32230 Calculate ascent from actual content.
32231 (print_glyphs): Use 'asce'.
32232 (write_font): Likewise. Allow ascent override.
32233 (main): Handle "asce" option.
32234
32235 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32236
32237 * kern/err.c: Include `<grub/i18n.h>'.
32238 (grub_print_error): Add full stop. Gettextizze.
32239 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32240 (grub_bsd_load_elf): Capitalise ELF.
32241 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32242 (grub_cmd_freebsd_module): Likewise.
32243 (grub_cmd_freebsd_module_elf): Likewise.
32244 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32245
32246 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32247
32248 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32249 * commands/search_file.c (HELP_MESSAGE): New macro.
32250 * commands/search_label.c (HELP_MESSAGE): Likewise.
32251 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32252 * po/POTFILES: Add `commands/search_file.c',
32253 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32254 `commands/search.c'.
32255
32256 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32257
32258 * config.rpath: Update from Gnulib.
32259
32260 2010-01-05 Yves Blusseau <blusseau@zetam.org>
32261
32262 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32263
32264 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32265
32266 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32267
32268 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32269
32270 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32271 arguments to fread so that we get a return value in bytes, rather
32272 than something that will normally be rounded down to 0.
32273 Adjust error handling to avoid producing garbage when size_t is not
32274 the same size as long long.
32275
32276 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32277
32278 * util/mkisofs/write.c (padblock_write): Check return value of
32279 fread.
32280
32281 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32282
32283 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32284 floppy images now.
32285
32286 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32287
32288 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32289
32290 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32291 instead of manual alignment.
32292 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32293 verbose). Avoid attempts to read past end of the device
32294 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32295 but GRUB_DISK_CACHE_SIZE may exceed that).
32296
32297 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32298
32299 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32300 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32301 it to upper layer.
32302
32303 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32304
32305 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32306 New constant.
32307 (grub_efi_piwg_device_path): New structure
32308 (grub_efi_piwg_device_path_t): New type.
32309 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32310 (devpath_1): Transform to a structure. All users updated.
32311 (devpath_2): Likewise.
32312 (devpath_3): Likewise.
32313 (devpath_4): Likewise.
32314 (devpath_5): Likewise.
32315
32316 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32317
32318 * loader/efi/appleloader.c: Restored. Update all users.
32319
32320 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32321
32322 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32323
32324 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32325 (struct boot_blocklist): Move from here ...
32326 * include/grub/i386/pc/boot.h [ASM_FILE]
32327 (struct grub_boot_blocklist): ... to here. Update all users.
32328 (setup): Only initialize `start' member of `first_block'
32329 structure. Add assert() calls to verify the other members.
32330
32331 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32332 (generate_image): Fix broken blocklist length initialization.
32333 Add assert() call to verify blocklist `segment' field.
32334
32335 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32336
32337 * loader/efi/appleloader.c: Remove. Update all users.
32338
32339 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32340
32341 * boot/i386/pc/boot.S: Update copyright year.
32342 * boot/i386/pc/cdboot.S: Likewise.
32343 * boot/i386/pc/diskboot.S: Likewise.
32344 * boot/i386/pc/lnxboot.S: Likewise.
32345 * boot/i386/pc/pxeboot.S: Likewise.
32346 * bus/pci.c: Likewise.
32347 * commands/cmp.c: Likewise.
32348 * commands/help.c: Likewise.
32349 * commands/hexdump.c: Likewise.
32350 * commands/i386/pc/halt.c: Likewise.
32351 * commands/i386/pc/play.c: Likewise.
32352 * commands/i386/pc/vbeinfo.c: Likewise.
32353 * commands/ls.c: Likewise.
32354 * commands/test.c: Likewise.
32355 * disk/dmraid_nvidia.c: Likewise.
32356 * disk/i386/pc/biosdisk.c: Likewise.
32357 * disk/ieee1275/nand.c: Likewise.
32358 * disk/ieee1275/ofdisk.c: Likewise.
32359 * disk/lvm.c: Likewise.
32360 * disk/raid.c: Likewise.
32361 * disk/raid6_recover.c: Likewise.
32362 * disk/scsi.c: Likewise.
32363 * fs/affs.c: Likewise.
32364 * fs/cpio.c: Likewise.
32365 * fs/ext2.c: Likewise.
32366 * fs/hfs.c: Likewise.
32367 * fs/iso9660.c: Likewise.
32368 * fs/ntfs.c: Likewise.
32369 * fs/sfs.c: Likewise.
32370 * fs/udf.c: Likewise.
32371 * fs/ufs.c: Likewise.
32372 * fs/xfs.c: Likewise.
32373 * gencmdlist.sh: Likewise.
32374 * genmk.rb: Likewise.
32375 * include/grub/disk.h: Likewise.
32376 * include/grub/efi/api.h: Likewise.
32377 * include/grub/efi/efi.h: Likewise.
32378 * include/grub/efi/pe32.h: Likewise.
32379 * include/grub/elf.h: Likewise.
32380 * include/grub/fs.h: Likewise.
32381 * include/grub/i386/at_keyboard.h: Likewise.
32382 * include/grub/i386/pc/memory.h: Likewise.
32383 * include/grub/i386/pc/vbe.h: Likewise.
32384 * include/grub/i386/pci.h: Likewise.
32385 * include/grub/i386/tsc.h: Likewise.
32386 * include/grub/ieee1275/ieee1275.h: Likewise.
32387 * include/grub/ntfs.h: Likewise.
32388 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32389 * include/grub/sparc64/libgcc.h: Likewise.
32390 * include/grub/symbol.h: Likewise.
32391 * include/grub/types.h: Likewise.
32392 * include/multiboot2.h: Likewise.
32393 * io/gzio.c: Likewise.
32394 * kern/device.c: Likewise.
32395 * kern/disk.c: Likewise.
32396 * kern/efi/efi.c: Likewise.
32397 * kern/efi/mm.c: Likewise.
32398 * kern/elf.c: Likewise.
32399 * kern/file.c: Likewise.
32400 * kern/i386/dl.c: Likewise.
32401 * kern/i386/pc/init.c: Likewise.
32402 * kern/i386/pc/startup.S: Likewise.
32403 * kern/ieee1275/ieee1275.c: Likewise.
32404 * kern/ieee1275/init.c: Likewise.
32405 * kern/main.c: Likewise.
32406 * kern/mm.c: Likewise.
32407 * kern/powerpc/dl.c: Likewise.
32408 * kern/sparc64/dl.c: Likewise.
32409 * kern/x86_64/dl.c: Likewise.
32410 * lib/hexdump.c: Likewise.
32411 * loader/efi/appleloader.c: Likewise.
32412 * loader/i386/ieee1275/linux.c: Likewise.
32413 * loader/i386/pc/chainloader.c: Likewise.
32414 * loader/i386/pc/linux.c: Likewise.
32415 * loader/i386/pc/multiboot2.c: Likewise.
32416 * loader/ieee1275/multiboot2.c: Likewise.
32417 * loader/multiboot2.c: Likewise.
32418 * loader/multiboot_loader.c: Likewise.
32419 * loader/powerpc/ieee1275/linux.c: Likewise.
32420 * normal/completion.c: Likewise.
32421 * normal/menu_entry.c: Likewise.
32422 * partmap/apple.c: Likewise.
32423 * util/grub.d/10_hurd.in: Likewise.
32424 * util/hostfs.c: Likewise.
32425 * video/readers/png.c: Likewise.
32426
32427 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
32428
32429 * include/grub/misc.h (GNUC_PREREQ): New macro.
32430 (ATTRIBUTE_ERROR): New macro.
32431 * include/grub/list.h (grub_bad_type_cast_real): Use
32432 ATTRIBUTE_ERROR.
32433
32434 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32435
32436 * normal/menu_text.c (print_message): Change messages.
32437
32438 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32439
32440 * normal/menu_entry.c (store_completion): Gettextizze.
32441
32442 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32443
32444 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32445
32446 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32447
32448 * po/POTFILES: Sort correctly.
32449
32450 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32451
32452 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32453 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32454 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32455 full stop.
32456 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32457 summary. Gettextizze the strings.
32458 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32459 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32460 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32461 full stop.
32462 (GRUB_MOD_INIT): Remove command name from summary.
32463 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32464 summary.
32465 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32466 * term/i386/pc/serial.c (options): Add full stops.
32467 (GRUB_MOD_INIT): Remove command name from the summary.
32468
32469 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32470
32471 * commands/acpi.c: Gettextizze help strings and/or options. Include
32472 `grub/i18n.h' if needed.
32473 * commands/blocklist.c: Likewise.
32474 * commands/boot.c: Likewise.
32475 * commands/cat.c: Likewise.
32476 * commands/cmp.c: Likewise.
32477 * commands/configfile.c: Likewise.
32478 * commands/crc.c: Likewise.
32479 * commands/date.c: Likewise.
32480 * commands/echo.c: Likewise.
32481 * commands/efi/fixvideo.c: Likewise.
32482 * commands/efi/loadbios.c: Likewise.
32483 * commands/gptsync.c: Likewise.
32484 * commands/halt.c: Likewise.
32485 * commands/handler.c: Likewise.
32486 * commands/hdparm.c: Likewise.
32487 * commands/hexdump.c: Likewise.
32488 * commands/i386/cpuid.c: Likewise.
32489 * commands/i386/pc/drivemap.c: Likewise.
32490 * commands/i386/pc/halt.c: Likewise.
32491 * commands/i386/pc/pxecmd.c: Likewise.
32492 * commands/i386/pc/vbeinfo.c: Likewise.
32493 * commands/i386/pc/vbetest.c: Likewise.
32494 * commands/ieee1275/suspend.c: Likewise.
32495 * commands/keystatus.c: Likewise.
32496 * commands/loadenv.c: Likewise.
32497 * commands/ls.c: Likewise.
32498 * commands/lsmmap.c: Likewise.
32499 * commands/lspci.c: Likewise.
32500 * commands/memrw.c: Likewise.
32501 * commands/minicmd.c: Likewise.
32502 * commands/parttool.c: Likewise.
32503 * commands/password.c: Likewise.
32504 * commands/probe.c: Likewise.
32505 * commands/read.c: Likewise.
32506 * commands/reboot.c: Likewise.
32507 * commands/search.c: Likewise.
32508 * commands/sleep.c: Likewise.
32509 * commands/test.c: Likewise.
32510 * commands/true.c: Likewise.
32511 * commands/usbtest.c: Likewise.
32512 * commands/videotest.c: Likewise.
32513 * commands/xnu_uuid.c: Likewise.
32514 * disk/loopback.c: Likewise.
32515 * hello/hello.c: Likewise.
32516 * loader/i386/bsd.c: Likewise.
32517 * term/i386/pc/serial.c: Likewise.
32518 * po/POTFILES: Add new files.
32519
32520 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
32521
32522 * term/i386/pc/at_keyboard.c
32523 (keyboard_controller_wait_untill_ready): Rename to ...
32524 (keyboard_controller_wait_until_ready): ... this. Update all users.
32525
32526 2010-01-01 Carles Pina i Estany <carles@pina.cat>
32527
32528 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32529 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32530 string using string width.
32531 * normal/menu_text.c (grub_print_message_indented): Use
32532 grub_print_spaces and not print_spaces.
32533 (print_timeout): Likewise.
32534 (print_spaces): Move to...
32535 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32536
32537 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32538
32539 Import from Gnulib.
32540
32541 * gnulib/getdelim.c: New file.
32542 * gnulib/getline.c: Likewise.
32543
32544 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32545
32546 * include/grub/list.h (grub_assert_fail): Removed.
32547 (grub_bad_type_cast_real): New function.
32548 (grub_bad_type_cast): New macro.
32549 (GRUB_AS_LIST): Use grub_bad_type_cast.
32550 (GRUB_AS_LIST_P): Likewise.
32551 (GRUB_AS_NAMED_LIST): Likewise.
32552 (GRUB_AS_NAMED_LIST_P): Likewise.
32553 (GRUB_AS_PRIO_LIST): Likewise.
32554 (GRUB_AS_PRIO_LIST_P): Likewise.
32555 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
32556
32557 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32558
32559 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32560 Fix syntax error.
32561
32562 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32563
32564 * configure.ac: Check for TARGET_CFLAGS initialization before we
32565 initialize it ourselves (sigh).
32566 Move a few modifications to TARGET_CFLAGS to be unconditional
32567 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32568 eh_frame)
32569
32570 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32571 * term/i386/pc/at_keyboard.c
32572 (keyboard_controller_wait_untill_ready): Likewise.
32573 (keyboard_controller_led): Rename `led_status' paramter to avoid
32574 name conflict.
32575
32576 2009-12-28 Carles Pina i Estany <carles@pina.cat>
32577
32578 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32579 quotes.
32580
32581 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32582
32583 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32584
32585 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32586
32587 * normal/menu_text.c (grub_print_message_indented): Prevent
32588 past-the-end-of-array dereference.
32589
32590 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32591
32592 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32593 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32594
32595 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32596
32597 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32598 * normal/main.c (grub_normal_read_line): Remove a space from the
32599 default prompt.
32600
32601 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32602
32603 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32604 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32605 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32606 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32607 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32608 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32609 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32610
32611 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32612
32613 * video/readers/jpeg.c (cmd): Declare.
32614 (grub_cmd_jpegtest): Use `grub_command_t' type.
32615 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32616 Assign to `cmd'.
32617 (GRUB_MOD_FINI): Use `cmd' to unregister.
32618 * video/readers/png.c (cmd): Declare.
32619 (grub_cmd_pngtest): Use `grub_command_t' type.
32620 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32621 Assign to `cmd'.
32622 (GRUB_MOD_FINI): Use `cmd' to unregister.
32623 * video/readers/tga.c (cmd): Declare.
32624 (grub_cmd_tgatest): Use `grub_command_t' type.
32625 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32626 Assign to `cmd'.
32627 (GRUB_MOD_FINI): Use `cmd' to unregister.
32628
32629 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32630
32631 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32632 stops.
32633 * kern/corecmd.c (grub_register_core_commands): Likewise.
32634 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32635 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32636 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32637 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32638 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32639 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32640 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32641 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32642 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32643 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32644 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32645 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32646 * normal/handler.c (insert_handler): Likewise.
32647 * normal/main.c (GRUB_MOD_INIT): Likewise.
32648 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32649
32650 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32651
32652 * commands/help.c (grub_cmd_help): Print the command name before the
32653 summary.
32654 (GRUB_MOD_INIT): Remove command name from the summary.
32655 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
32656 string as summary.
32657 * lib/arg.c (find_long): Print the command name before the summary.
32658 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32659 summary.
32660 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32661 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32662 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32663 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32664 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32665 * commands/date.c (GRUB_MOD_INIT): Likewise.
32666 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32667 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32668 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32669 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32670 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32671 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32672 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32673 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32674 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32675 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32676 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32677 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32678 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32679 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32680 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32681 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32682 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32683 * commands/password.c (GRUB_MOD_INIT): Likewise.
32684 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32685 * commands/read.c (GRUB_MOD_INIT): Likewise.
32686 * commands/search.c (GRUB_MOD_INIT): Likewise.
32687 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32688 * commands/test.c (GRUB_MOD_INIT): Likewise.
32689 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32690 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32691 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32692 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32693 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32694 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32695 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32696 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32697 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32698 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32699 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32700 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32701 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32702 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32703
32704 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32705
32706 Use search command for preliminar UUID search.
32707
32708 * commands/search.c: Split into ...
32709 * commands/search_wrap.c: ...this
32710 * commands/search.c: ...and this.
32711 * commands/search_file.c: New file.
32712 * commands/search_label.c: New file.
32713 * commands/search_uuid.c: New file.
32714 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32715 Add commands/search_wrap.c, commands/search_file.c,
32716 commands/search_label.c and commands/search_uuid.c.
32717 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32718 (search_mod_SOURCES): Set to commands/search_wrap.c.
32719 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32720 search_label.mod.
32721 (search_fs_file_mod_SOURCES): New variable.
32722 (search_fs_file_mod_CFLAGS): Likewise.
32723 (search_fs_file_mod_LDFLAGS): Likewise.
32724 (search_label_mod_SOURCES): Likewise.
32725 (search_label_mod_CFLAGS): Likewise.
32726 (search_label_mod_LDFLAGS): Likewise.
32727 (search_fs_uuid_mod_SOURCES): New variable.
32728 (search_fs_uuid_mod_CFLAGS): Likewise.
32729 (search_fs_uuid_mod_LDFLAGS): Likewise.
32730 (fs_file_mod_SOURCES): Removed.
32731 (fs_file_mod_CFLAGS): Likewise.
32732 (fs_file_mod_LDFLAGS): Likewise.
32733 (fs_uuid_mod_SOURCES): Removed.
32734 (fs_uuid_mod_CFLAGS): Likewise.
32735 (fs_uuid_mod_LDFLAGS): Likewise.
32736 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32737 Set to util/grub-install.in.
32738 * disk/fs_file.c: Removed.
32739 * disk/fs_uuid.c: Likewise.
32740 * include/grub/search.h: New file.
32741 * util/grub-install.in: Handle sparc64.
32742 Create and use load.cfg.
32743 * util/sparc64/ieee1275/grub-install.in: Removed.
32744
32745 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32746
32747 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32748 Ignore return status if CF is cleared.
32749 (grub_biosdisk_get_diskinfo_standard): Likewise.
32750
32751 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32752
32753 * term/i386/pc/at_keyboard.c
32754 (keyboard_controller_wait_untill_ready): New function.
32755 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32756 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32757 for keyboard polling, rather than duplicate the same loop. This
32758 saves a few bytes in code size.
32759
32760 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32761
32762 Support for (pxe[:server[:gateway]]) syntax and
32763 use environment variable for PXE.
32764
32765 * commands/i386/pc/pxecmd.c (options): Removed.
32766 (print_ip): Removed.
32767 (grub_cmd_pxe): Removed
32768 (grub_cmd_pxe_unload): New function.
32769 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32770 (grub_pxe_your_ip): Made static.
32771 (grub_pxe_default_server_ip): Likewise.
32772 (grub_pxe_default_gateway_ip): Likewise.
32773 (grub_pxe_blksize): Likewise.
32774 (parse_ip): New function.
32775 (grub_pxe_open): Support server and gateway specification.
32776 (grub_pxe_close): Free disk->data.
32777 (grub_pxefs_open): Use disk->data.
32778 (grub_pxefs_read): Likewise.
32779 (grub_env_write_readonly): New function.
32780 (set_mac_env): Likewise.
32781 (set_env_limn_ro): Likewise.
32782 (parse_dhcp_vendor): Likewise.
32783 (grub_pxe_detect): Set the environment variables.
32784 (set_ip_env): New function.
32785 (write_ip_env): Likewise.
32786 (grub_env_write_pxe_default_server): Likewise.
32787 (grub_env_write_pxe_default_gateway): Likewise.
32788 (grub_env_write_pxe_blocksize): Likewise.
32789 (GRUB_MOD_INIT(pxe)): Set environment variables.
32790 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32791 (grub_pxe_mac_addr_t): ... this. All users updated.
32792 (grub_pxe_your_ip): Removed.
32793 (grub_pxe_server_ip): Likewise.
32794 (grub_pxe_gateway_ip): Likewise.
32795 (grub_pxe_blksize): Likewise.
32796
32797 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32798
32799 * commands/help.c: Include `<grub/i18n.h>'.
32800 (grub_cmd_help): Gettextizze.
32801 (GRUB_MOD_INIT): Likewise.
32802 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32803 (GRUB_MOD_INIT): Gettextizze.
32804 * commands/search.c: Include `<grub/i18n.h>'.
32805 (options): Gettextizze.
32806 (GRUB_MOD_INIT): Gettextizze.
32807 * lib/arg.c: Include `<grub/i18n.h>'.
32808 (help_options): Gettextizze.
32809 (find_long): Likewise.
32810 (grub_arg_show_help): Likewise.
32811 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32812 (read_command_list): Gettextizze.
32813 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
32814 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
32815
32816 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32817
32818 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32819 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32820 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32821 (led_status): New variable.
32822 (keyboard_controller_led): New function.
32823 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32824 update led status for caps lock, num lock and scroll lock.
32825
32826 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
32827
32828 * util/hostdisk.c (open_device): Fix a comment.
32829
32830 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32831
32832 * util/grub-install.in (host_os): New variable.
32833 * util/i386/efi/grub-install.in (host_os): Likewise.
32834
32835 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * util/mkisofs/write.c (padblock_write): Abort when given an
32838 excedingly large embed image, instead of silently truncating it.
32839
32840 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32841
32842 * include/multiboot.h: Indentation fixes.
32843
32844 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32845
32846 * include/multiboot.h (struct multiboot_aout_symbol_table)
32847 (struct multiboot_elf_section_header_table): New structure
32848 declarations (stolen from GRUB Legacy).
32849 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32850 table information.
32851
32852 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32853 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32854 type aliases.
32855
32856 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32857
32858 * include/multiboot.h: Make comments src2texi-friendly.
32859
32860 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32861
32862 For consistency with [multiboot]/docs/boot.S.
32863
32864 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32865 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32866 (MULTIBOOT_MAGIC2): Rename from this ...
32867 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32868
32869 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32870
32871 * include/multiboot.h: Remove `<grub/types.h>'.
32872 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32873 types. Update all users.
32874
32875 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32876
32877 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32878 `couldn't' and `can not' by `cannot'.
32879 * commands/i386/pc/drivemap.c: Likewise.
32880 * disk/ata.c: Likewise.
32881 * disk/ieee1275/nand.c: Likewise.
32882 * fs/affs.c: Likewise.
32883 * fs/fat.c: Likewise.
32884 * fs/hfs.c: Likewise.
32885 * fs/hfsplus.c: Likewise.
32886 * fs/iso9660.c: Likewise.
32887 * fs/jfs.c: Likewise.
32888 * fs/minix.c: Likewise.
32889 * fs/reiserfs.c: Likewise.
32890 * fs/sfs.c: Likewise.
32891 * fs/udf.c: Likewise.
32892 * fs/ufs.c: Likewise.
32893 * fs/xfs.c: Likewise.
32894 * loader/powerpc/ieee1275/linux.c: Likewise.
32895 * loader/sparc64/ieee1275/linux.c: Likewise.
32896 * util/grub-probe.c: Likewise.
32897 * util/misc.c: Likewise.
32898
32899 2009-12-24 Carles Pina i Estany <carles@pina.cat>
32900
32901 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32902 grub_errno calls.
32903 * commands/acpi.c: Likewise.
32904 * commands/blocklist.c: Likewise.
32905 * commands/efi/loadbios.c: Likewise.
32906 * commands/i386/pc/drivemap.c: Likewise.
32907 * commands/loadenv.c: Likewise.
32908 * commands/memrw.c: Likewise.
32909 * commands/password.c: Likewise.
32910 * commands/videotest.c: Likewise.
32911 * disk/ata.c: Likewise.
32912 * disk/ata_pthru.c: Likewise.
32913 * disk/dmraid_nvidia.c: Likewise.
32914 * disk/ieee1275/nand.c: Likewise.
32915 * disk/ieee1275/ofdisk.c: Likewise.
32916 * disk/loopback.c: Likewise.
32917 * disk/lvm.c: Likewise.
32918 * disk/mdraid_linux.c: Likewise.
32919 * disk/raid.c: Likewise.
32920 * disk/raid6_recover.c: Likewise.
32921 * disk/scsi.c: Likewise.
32922 * efiemu/main.c: Likewise.
32923 * efiemu/mm.c: Likewise.
32924 * efiemu/pnvram.c: Likewise.
32925 * efiemu/symbols.c: Likewise.
32926 * font/font.c: Likewise.
32927 * fs/cpio.c: Likewise.
32928 * fs/hfsplus.c: Likewise.
32929 * fs/iso9660.c: Likewise.
32930 * fs/jfs.c: Likewise.
32931 * fs/minix.c: Likewise.
32932 * fs/ntfs.c: Likewise.
32933 * fs/ntfscomp.c: Likewise.
32934 * fs/reiserfs.c: Likewise.
32935 * fs/ufs.c: Likewise.
32936 * fs/xfs.c: Likewise.
32937 * gettext/gettext.c: Likewise.
32938 * include/grub/auth.h: Likewise.
32939 * kern/elf.c: Likewise.
32940 * kern/file.c: Likewise.
32941 * kern/ieee1275/init.c: Likewise.
32942 * kern/ieee1275/mmap.c: Likewise.
32943 * kern/ieee1275/openfw.c: Likewise.
32944 * kern/powerpc/dl.c: Likewise.
32945 * kern/sparc64/dl.c: Likewise.
32946 * lib/arg.c: Likewise.
32947 * loader/i386/bsd.c: Likewise.
32948 * loader/i386/bsdXX.c: Likewise.
32949 * loader/i386/efi/linux.c: Likewise.
32950 * loader/i386/efi/xnu.c: Likewise.
32951 * loader/i386/ieee1275/linux.c: Likewise.
32952 * loader/i386/linux.c: Likewise.
32953 * loader/i386/multiboot.c: Likewise.
32954 * loader/i386/pc/linux.c: Likewise.
32955 * loader/i386/pc/multiboot2.c: Likewise.
32956 * loader/i386/xnu.c: Likewise.
32957 * loader/ieee1275/multiboot2.c: Likewise.
32958 * loader/macho.c: Likewise.
32959 * loader/machoXX.c: Likewise.
32960 * loader/multiboot2.c: Likewise.
32961 * loader/multiboot_loader.c: Likewise.
32962 * loader/powerpc/ieee1275/linux.c: Likewise.
32963 * loader/sparc64/ieee1275/linux.c: Likewise.
32964 * loader/xnu.c: Likewise.
32965 * loader/xnu_resume.c: Likewise.
32966 * mmap/i386/pc/mmap.c: Likewise.
32967 * normal/menu_viewer.c: Likewise.
32968 * partmap/acorn.c: Likewise.
32969 * partmap/amiga.c: Likewise.
32970 * partmap/apple.c: Likewise.
32971 * script/lexer.c: Likewise.
32972 * term/gfxterm.c: Likewise.
32973 * term/i386/pc/serial.c: Likewise.
32974 * term/i386/pc/vga.c: Likewise.
32975 * term/ieee1275/ofconsole.c: Likewise.
32976 * term/terminfo.c: Likewise.
32977 * video/bitmap.c: Likewise.
32978 * video/efi_gop.c: Likewise.
32979 * video/efi_uga.c: Likewise.
32980 * video/fb/video_fb.c: Likewise.
32981 * video/i386/pc/vbe.c: Likewise.
32982 * video/readers/tga.c: Likewise.
32983 * video/video.c: Likewise.
32984
32985 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
32986
32987 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32988 * commands/lspci.c: Likewise.
32989 * commands/probe.c: Likewise.
32990 * commands/xnu_uuid.c: Likewise.
32991 * conf/i386-coreboot.rmk: Likewise.
32992 * conf/i386-efi.rmk: Likewise.
32993 * conf/i386-ieee1275.rmk: Likewise.
32994 * conf/i386-pc.rmk: Likewise.
32995 * conf/powerpc-ieee1275.rmk: Likewise.
32996 * conf/sparc64-ieee1275.rmk: Likewise.
32997 * conf/x86_64-efi.rmk: Likewise.
32998 * fs/i386/pc/pxe.c: Likewise.
32999 * gettext/gettext.c: Likewise.
33000 * include/grub/efi/graphics_output.h: Likewise.
33001 * include/grub/i386/pc/memory.h: Likewise.
33002 * kern/env.c: Likewise.
33003 * kern/i386/qemu/startup.S: Likewise.
33004 * lib/i386/pc/biosnum.c: Likewise.
33005 * lib/i386/relocator.c: Likewise.
33006 * lib/i386/relocator_asm.S: Likewise.
33007 * lib/relocator.c: Likewise.
33008 * loader/i386/bsd.c: Likewise.
33009 * loader/i386/multiboot.c: Likewise.
33010 * loader/i386/pc/chainloader.c: Likewise.
33011 * loader/i386/xnu.c: Likewise.
33012 * loader/xnu.c: Likewise.
33013 * normal/main.c: Likewise.
33014 * normal/menu_text.c: Likewise.
33015 * util/getroot.c: Likewise.
33016 * util/grub-mkconfig_lib.in: Likewise.
33017 * util/grub.d/00_header.in: Likewise.
33018 * util/i386/pc/grub-mkimage.c: Likewise.
33019 * util/mkisofs/eltorito.c: Likewise.
33020 * util/mkisofs/exclude.h: Likewise.
33021 * util/mkisofs/hash.c: Likewise.
33022 * util/mkisofs/iso9660.h: Likewise.
33023 * util/mkisofs/joliet.c: Likewise.
33024 * util/mkisofs/mkisofs.c: Likewise.
33025 * util/mkisofs/mkisofs.h: Likewise.
33026 * util/mkisofs/multi.c: Likewise.
33027 * util/mkisofs/name.c: Likewise.
33028 * util/mkisofs/rock.c: Likewise.
33029 * util/mkisofs/tree.c: Likewise.
33030 * util/mkisofs/write.c: Likewise.
33031 * video/efi_gop.c: Likewise.
33032
33033 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
33034
33035 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
33036 size counting.
33037
33038 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33039
33040 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
33041 * genmk.rb (class SCRIPT): Modify the target file instead of source.
33042
33043 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33044
33045 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
33046 (GRUB_MOD_INIT(memrw)): Update help line.
33047
33048 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33049
33050 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
33051 Use grub_extcmd_t. All users updated.
33052 (options): New variable.
33053 (grub_cmd_read): Restructure for readability. Support "-v" option.
33054 (grub_cmd_write): Restructure for readability.
33055
33056 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33057
33058 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
33059
33060 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33061
33062 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
33063 with the actual contents of the correspondending make variable.
33064 * util/grub-mkrescue.in (pkglib_DATA): New variable.
33065 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
33066 specifying `*.lst' and `efiemu??.o'
33067
33068 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33069
33070 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
33071 after function name.
33072 Noticed by Rene Engelhard <rene@debian.org>.
33073
33074 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33075
33076 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
33077 (options): New variable.
33078 (iospace): Likewise.
33079 (grub_lspci_iter): List IO spaces if "-i" was given.
33080 (grub_cmd_lspci): Parse options.
33081 (GRUB_MOD_INIT(lspci)): Use extcmd.
33082 (GRUB_MOD_FINI(lspci)): Likewise.
33083
33084 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33085
33086 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
33087 `function' keyword.
33088 Patch by Tony Mancill <tmancill@debian.org>.
33089
33090 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33091
33092 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
33093 (grub_uhci_portstatus): Likewise.
33094 (grub_uhci_portstatus): Add necessary delay.
33095 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
33096
33097 2009-12-21 Carles Pina i Estany <carles@pina.cat>
33098
33099 * commands/acpi.c (options): Fix capitalizations and/or full stops.
33100 (GRUB_MOD_INIT): Likewise.
33101 * commands/boot.c (GRUB_MOD_INIT): Likewise.
33102 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
33103 * commands/echo.c (options): Fix capitalizations and/or full stops.
33104 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33105 (enable_rom_area): Likewise.
33106 (GRUB_MOD_INIT): Likewise.
33107 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33108 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33109 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33110 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33111 * commands/hexdump.c (options): Likewise.
33112 * commands/i386/cpuid.c (options): Likewise.
33113 (GRUB_MOD_INIT): Likewise.
33114 * commands/i386/pc/drivemap.c (options): Likewise.
33115 (GRUB_MOD_INIT): Likewise.
33116 * commands/i386/pc/halt (options): Likewise.
33117 (GRUB_MOD_INIT): Likewise.
33118 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33119 * commands/i386/pc/pxecmd.c (options): Likewise.
33120 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33121 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33122 * commands/keystatus.c (options): Likewise.
33123 (GRUB_MOD_INIT): Likewise.
33124 * commands/loadenv.c (options): Likewise.
33125 * commands/ls.c (options): Likewise.
33126 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33127 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33128 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33129 * commands/parttool.c (helpmsg): Likewise.
33130 * commands/probe.c (options): Likewise.
33131 * commands/read.c (GRUB_MOD_INIT): Likewise.
33132 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33133 * commands/search.c (options): Likewise.
33134 * commands/sleep.c (options): Likewise.
33135 * commands/test.c (GRUB_MOD_INIT): Likewise.
33136 * commands/true.c (GRUB_MOD_INIT): Likewise.
33137 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33138 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33139 * lib/arg.c (help_options): Likewise.
33140 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33141 `$(XGETTEXT)'.
33142 * po/POTFILES: Add `commands/loadenv.c'.
33143
33144 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
33145
33146 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
33147 instead of specifying them explicit.
33148
33149 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33150
33151 * NEWS: Add grub-probe support for GNU/Hurd.
33152
33153 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33154
33155 * NEWS: gettext was added after 1.97.
33156
33157 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33158
33159 * util/mkisofs/msdos_partition.h: New file (based on
33160 include/grub/msdos_partition.h).
33161 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33162 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33163 (ld_options, main): Recognize --protective-msdos-label.
33164 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33165 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33166 (padblock_write): If `use_protective_msdos_label' is set, patch a
33167 protective DOS-style label in the output image.
33168
33169 * util/grub-mkrescue.in: Use --protective-msdos-label.
33170
33171 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33172
33173 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33174 boot.
33175
33176 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33177
33178 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33179 variables.
33180 (ld_options, main): Recognize `--embedded-boot'.
33181 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33182 declarations.
33183 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33184 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33185 (padblock_write): Likewise. Rewrite to support embedded boot image.
33186
33187 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33188 for BIOS-based disk boot instead of only ElTorito.
33189
33190 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33191
33192 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33193 build (not needed for bootstrap).
33194
33195 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33196
33197 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33198 from i386-pc build (not needed for bootstrap).
33199 Rewrite a pair of strings.
33200
33201 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33202
33203 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33204
33205 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
33206
33207 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33208
33209 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33210
33211 * kern/env.c (grub_env_context_open): Mark exported variable for
33212 reexport.
33213
33214 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33215
33216 * kern/env.c (grub_env_export): Create nonexistent variables before
33217 exporting.
33218
33219 2009-12-20 Carles Pina i Estany <carles@pina.cat>
33220
33221 * include/grub/auth.h: Include `<grub/i18n.h>'.
33222 (GRUB_GET_PASSWORD): Gettextizze string.
33223 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33224 menu_text.c.
33225 (grub_utf8_to_ucs4_alloc): Fix indentation.
33226 (grub_print_ucs4): Likewise.
33227 (grub_getstringwidth): Likewise.
33228 (print_message_indented): New declaration.
33229 * normal/auth.c: Include `<grub/i18n.h>'.
33230 (grub_auth_check_authentication): Gettexttize string.
33231 * normal/cmdline.c: Include `<grub/i18n.h>'.
33232 (grub_cmdline_get): Gettextizze.
33233 * normal/color.c: Include `<grub/i18n.h>'.
33234 (grub_parse_color_name_pair): Gettexttize strings.
33235 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33236 string (use `print_message_indented').
33237 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33238 `include/grub/normal.h'.
33239 (print_message_indented): Renamed to ...
33240 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33241 used in normal/main.c).
33242 (print_message): Use `grub_print_message_indented' instead of
33243 `print_message_indented'.
33244 (print_timeout): Likewise.
33245 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33246 (grub_normal_print_device_info): Gettexttize strings.
33247 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33248
33249 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33250
33251 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33252 of arguments. Return number of tokens and not arguments. All users
33253 updated.
33254
33255 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33256
33257 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33258 non-MSDOS paritions.
33259
33260 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33261
33262 * include/grub/types.h (UNUSED): Removed since it conflicts with
33263 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33264 Reported by Grégoire Sutre.
33265
33266 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33267
33268 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33269 (grub_print_ucs4_alloc): Likewise.
33270 (grub_getstringwidth): Likewise.
33271 * normal/main.c (grub_normal_init_page): Gettextize version string.
33272 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33273 (getstringwidth): Renamed to ...
33274 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33275 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33276 (grub_print_ucs4): Remove `static' qualifer (now used in
33277 normal/main.c).
33278 * po/POTFILES: Add normal/main.c.
33279
33280 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33281
33282 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33283 (print_message_indented): Add `margin_left' and `margin_right'
33284 parameters.
33285 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33286 strings.
33287 (print_timeout): Use `print_message_indented' to print the message.
33288 Deletes `second_stage' parameter.
33289 (run_menu): Update `print_timeout' calls.
33290
33291 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33292
33293 Fix console palette on OpenFirmware.
33294
33295 * term/ieee1275/ofconsole.c (MAX): Removed.
33296 (colors): Redone based on VGA palette.
33297 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33298 colors are supported.
33299 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33300
33301 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33302
33303 Fix potential EfiEmu double prepare.
33304
33305 * efiemu/main.c (prepared): New variable
33306 (grub_efiemu_unload): Set prepare to '0'.
33307 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33308
33309 set_virtual_address_map support.
33310
33311 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33312 prototype.
33313 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33314 prototype.
33315 (grub_efiemu_crc32): Likewise.
33316 (grub_efiemu_crc64): Likewise.
33317 (grub_efiemu_set_virtual_address_map): Likewise.
33318 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33319 New definition.
33320 (grub_autoefi_set_virtual_address_map): Likewise.
33321 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33322 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33323 Restructure flow to accomodate it.
33324 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33325 (grub_efiemu_crc): Recompute CRC32.
33326 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33327 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33328 * efiemu/symbols.c (relocated_handle): New variable.
33329 (grub_efiemu_free_syms): Free relocated_handle.
33330 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33331 (grub_efiemu_write_sym_markers): New function.
33332 (grub_efiemu_set_virtual_address_map): Likewise.
33333
33334 Newer XNU parameters.
33335
33336 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33337 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33338 (grub_xnu_fill_devicetree): New prototype.
33339 (grub_xnu_heap_real_start): New variable.
33340 * loader/xnu.c (get_name_ptr): New function.
33341 (grub_xnu_load_driver): Fill namelen and name.
33342
33343 64-bit xnu support.
33344
33345 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33346 and 'loader/macho64.c'.
33347 * conf/i386-pc.rmk: Likewise.
33348 * conf/x86_64-efi.rmk: Likewise.
33349 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33350 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33351 * include/grub/macho.h (grub_macho_segment64): New structure.
33352 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33353 (grub_macho_size32): ... to this.
33354 (grub_macho32_get_entry_point): Renamed from ...
33355 (grub_macho_get_entry_point32): ... to this.
33356 (grub_macho_contains_macho64): New prototype.
33357 (grub_macho_size64): Likewise.
33358 (grub_macho_get_entry_point64): Likewise.
33359 (grub_macho32_load): Renamed from ...
33360 (grub_macho_load32): ... to this.
33361 (grub_macho32_filesize): Renamed from ...
33362 (grub_macho_filesize32): ... to this.
33363 (grub_macho32_readfile): Renamed from ...
33364 (grub_macho_readfile32): ... to this.
33365 (grub_macho_filesize64): New prototype.
33366 (grub_macho_readfile64): Likewise.
33367 (grub_macho_parse32): Likewise.
33368 (grub_macho_parse64): Likewise.
33369 * loader/macho.c: Split into ...
33370 * loader/machoXX.c: ... and this. Replace 32 with XX.
33371 * loader/macho32.c: New file.
33372 * loader/macho64.c: Likewise.
33373 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33374 (grub_cmd_xnu_kernel): Make 32-bit only.
33375 (grub_cmd_xnu_kernel64): New function.
33376 (grub_xnu_load_driver): Support Mach-O 64.
33377 (grub_cmd_xnu_mkext): Likewise.
33378 * util/grub.d/30_os-prober.in (osx_entry): New function.
33379 Generate entries for 64-bit boot too.
33380
33381 Eliminate ad-hoc tree format in XNU and EfiEmu.
33382
33383 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33384 * efiemu/pnvram.c: Rewritten to use environment variables.
33385 All users updated.
33386
33387 Inline utf16_to_utf8.
33388
33389 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33390 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33391 All users updated.
33392 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33393
33394 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33395 * commands/usbtest.c (grub_usb_get_string): ... move here.
33396 (usb_print_str): Fix error handling.
33397 * include/grub/usb.h (grub_usb_get_string): Remove.
33398
33399 UTF-8 to UTF-16 transformation.
33400
33401 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33402 (charset_mod_SOURCES): New variable.
33403 (charset_mod_CFLAGS): Likewise.
33404 (charset_mod_LDFLAGS): Likewise.
33405 * include/grub/utf.h: New file.
33406 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33407
33408 Support for device properties.
33409
33410 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33411 (grub_xnu_devprop_device_header): Likewise.
33412 (grub_xnu_devprop_device_descriptor): Likewise.
33413 (grub_xnu_devprop_add_device): New prototype.
33414 (grub_xnu_devprop_remove_device): Likewise.
33415 (grub_xnu_devprop_remove_property): Likewise.
33416 (grub_xnu_devprop_add_property_utf8): Likewise.
33417 (grub_xnu_devprop_add_property_utf16): Likewise.
33418 (grub_cpu_xnu_init): Likewise.
33419 (grub_cpu_xnu_fini): Likewise.
33420 (grub_cpu_xnu_unload): Likewise.
33421 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33422 (property_descriptor): Likewise.
33423 (devices): New variable.
33424 (grub_xnu_devprop_remove_property): New function.
33425 (grub_xnu_devprop_add_device): Likewise.
33426 (grub_xnu_devprop_remove_device): Likewise.
33427 (grub_xnu_devprop_add_property): Likewise.
33428 (grub_xnu_devprop_add_property_utf8): Likewise.
33429 (grub_xnu_devprop_add_property_utf16): Likewise.
33430 (hextoval): Likewise.
33431 (grub_cpu_xnu_fill_devprop): Likewise.
33432 (grub_cmd_devprop_load): Likewise.
33433 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33434 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33435 (cmd_devprop_load): New variable.
33436 (grub_cpu_xnu_init): New function.
33437 (grub_cpu_xnu_fini): Likewise.
33438 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33439 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33440 (grub_cmd_xnu_devtree): Likewise.
33441 (hextoval): New function.
33442 (unescape): Likewise.
33443 (grub_xnu_fill_devicetree): Likewise.
33444
33445 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33446 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33447
33448 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33449
33450 Workaround for broken ATI VBE.
33451
33452 * video/i386/pc/vbe.c (last_set_mode): New variable.
33453 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33454 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33455 (grub_video_vbe_setup): Don't check for reserved flag.
33456
33457 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
33458
33459 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33460 the `find' command.
33461
33462 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33463
33464 UUID support for HFS.
33465
33466 * fs/hfs.c (grub_hfs_uuid): New function.
33467 (grub_hfs_fs): New value .uuid.
33468 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33469
33470 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
33471
33472 Fix a segfault with parsing unknown long options.
33473
33474 * util/grub-mkrelpath.c (options): Zero terminate it.
33475
33476 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33477
33478 * include/grub/misc.h (grub_puts): New declaration.
33479 (grub_puts_): Likewise.
33480 * kern/misc.c (grub_puts): New definition.
33481 (grub_puts_): Likewise.
33482
33483 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33484
33485 * util/grub-probe.c (probe): Improve error message.
33486
33487 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33488
33489 * loader/i386/multiboot_elfxx.c
33490 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33491 initialization.
33492
33493 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33494
33495 Relocator framework
33496
33497 * loader/i386/xnu_helper.S: Removed. All users updated.
33498 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33499 (relocator_mod_SOURCES): New variable.
33500 (relocator_mod_CFLAGS): Likewise.
33501 (relocator_mod_LDFLAGS): Likewise.
33502 (relocator_mod_ASFLAGS): Likewise.
33503 * conf/x86_64.rmk: Likewise.
33504 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33505 (grub_multiboot_payload_entry_offset): Likewise.
33506 (grub_multiboot_forward_relocator): Likewise.
33507 (grub_multiboot_forward_relocator_end): Likewise.
33508 (grub_multiboot_backward_relocator): Likewise.
33509 (grub_multiboot_backward_relocator_end): Likewise.
33510 (grub_multiboot_payload_eip): New variable.
33511 (grub_multiboot_payload_orig): Likewise.
33512 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33513 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33514 * include/grub/i386/memory.h
33515 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33516 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33517 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33518 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33519 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33520 * include/grub/i386/relocator.h: New file.
33521 * include/grub/x86_64/relocator.h: Likewise.
33522 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33523 (XNU_RELOCATOR): New macro.
33524 (grub_xnu_launcher_start): Remove.
33525 (grub_xnu_launcher_end): Likewise.
33526 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33527 (grub_xnu_heap_real_start): Remove.
33528 (grub_xnu_heap_start): Change to void *. All users updated.
33529 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33530 * lib/i386/relocator.c: New file.
33531 * lib/i386/relocator_asm.S: Likewise.
33532 * lib/i386/relocator_backward.S: Likewise.
33533 * lib/mips/relocator.c: Likewise.
33534 * lib/mips/relocator_asm.S: Likewise.
33535 * lib/relocator.c: Likewise.
33536 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33537 (entry): Removed.
33538 (playground): Likewise.
33539 (grub_multiboot_payload_orig): New variable.
33540 (grub_multiboot_payload_dest): Likewise.
33541 (grub_multiboot_payload_size): Likewise.
33542 (grub_multiboot_payload_eip): Likewise.
33543 (grub_multiboot_payload_esp): Likewise.
33544 (grub_multiboot_boot): Use grub_relocator32_boot.
33545 (grub_multiboot_unload): Free relocators.
33546 (grub_multiboot): Setup stack. Use relocators.
33547 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33548 (grub_multiboot_load_elfXX): Use relocators.
33549 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33550 (grub_multiboot_payload_size): Likewise.
33551 (grub_multiboot_payload_dest): Likewise.
33552 (grub_multiboot_payload_entry_offset): Likewise.
33553 (grub_multiboot_forward_relocator): Likewise.
33554 (grub_multiboot_backward_relocator): Likewise.
33555 (grub_multiboot_real_boot): Likewise.
33556 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33557 (grub_xnu_entry_point): Likewise.
33558 (grub_xnu_arg1): Likewise.
33559 (grub_xnu_stack): Likewise.
33560 (grub_xnu_launch): Removed.
33561 (grub_xnu_boot_resume): New function.
33562 (grub_xnu_boot): Use relocators.
33563 * loader/i386/xnu_helper.S: Removed.
33564 * loader/xnu.c (grub_xnu_heap_start): New variable.
33565 (grub_xnu_heap_size): Likewise.
33566 (grub_xnu_heap_malloc): Use relocators.
33567 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33568
33569 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33570
33571 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33572 anything.
33573
33574 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33575
33576 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33577 GRUB_ERR_NONE before calling grub_env_set.
33578
33579 2009-12-12 Robert Millan <rmh@aybabtu.com>
33580
33581 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33582 * genmk.rb (video): New variable.
33583 (CLEANFILES, VIDEOFILES): Add #{video}.
33584 (#{video}): New target rule.
33585 * genvideolist.sh: New file.
33586 * Makefile.in (pkglib_DATA): Add video.lst.
33587 (video.lst): New target rule.
33588 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33589 `video.lst'.
33590 * util/grub.d/30_os-prober.in: Replace `vbe' with
33591 ${GRUB_VIDEO_BACKEND}.
33592
33593 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33594
33595 * THANKS: Add David Miller.
33596
33597 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33598
33599 libpciaccess support.
33600
33601 * Makefile.in (LIBPCIACCESS): New variable.
33602 (enable_grub_emu_pci): Likewise.
33603 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33604 util/pci.c and commands/lspci.c.
33605 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33606 * configure.ac (grub-emu-pci): New option.
33607 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33608 (grub_pci_device_unmap_range): Likewise.
33609 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33610 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33611 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33612 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33613 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33614 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33615 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33616 * include/grub/pciutils.h: New file.
33617 * util/pci.c: Likewise.
33618
33619 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
33620
33621 * util/misc.c: Don't include <errno.h> twice.
33622
33623 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
33624
33625 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33626 name in an error message.
33627 (grub_biosdisk_rw): Likewise.
33628
33629 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33630
33631 Eliminate NTFS 4Gib barrier.
33632
33633 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33634 (read_run_data): Likewise.
33635 (grub_ntfs_read_run_list): Likewise.
33636 (grub_ntfs_read_block): Likewise.
33637 (grub_ntfs_iterate_dir): Likewise.
33638 (read_mft): Likewise.
33639 (read_data): Likewise.
33640 Use COM_LOG_LEN.
33641 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33642 to avoid 64-bit division
33643 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33644 (grub_ntfs_rlst): Use grub_disk_addr_t.
33645
33646 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33647
33648 Eliminate grub-fstest 4Gib barrier.
33649
33650 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33651 (read_file): Fix error reporting.
33652
33653 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33654
33655 Eliminate hexdump 4Gib barrier.
33656
33657 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33658 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33659
33660 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33661
33662 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33663 Fixes amarsh bug.
33664
33665 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33666
33667 Remove miscellaneous files in distclean target.
33668
33669 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33670
33671 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
33672
33673 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33674 if they're already set. This resolves the conflict between my
33675 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33676 fixing the --grub-probe option again.
33677 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33678 change on 2009-10-06, so that we now once again source
33679 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33680
33681 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33682
33683 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33684 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33685 `util/devicemap.c'.
33686
33687 2009-12-08 Carles Pina i Estany <carles@pina.cat>
33688
33689 * include/grub/misc.h (grub_printf_): New declaration.
33690 * kern/misc.c (grub_printf_): New definition.
33691 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33692 instead of `grub_printf' and `_'.
33693 * normal/menu_entry.c (store_completion): Likewise.
33694 (run): Likewise.
33695 (grub_menu_entry_run): Likewise.
33696 * normal/menu_text.c (grub_wait_after_message): Likewise.
33697 (notify_booting): Likewise.
33698 (notify_fallback): Likewise.
33699 (notify_execution_failure): Likewise.
33700
33701 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
33702
33703 * configure.ac: Check for vasprintf.
33704 * util/misc.c (asprintf): Move allocation from here ...
33705 (vasprintf): ... to here. New function.
33706 (xasprintf): New function.
33707 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33708 prototypes.
33709 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33710 * util/grub-mkfont.c (write_font): Likewise.
33711 * util/grub-probe.c (probe): Likewise.
33712 * util/hostdisk.c (make_device_name): Likewise.
33713
33714 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
33715
33716 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33717 anything even prefixed with 'cdrom' as a cdrom.
33718
33719 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
33720
33721 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33722 mount points.
33723
33724 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33725
33726 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33727 grub_gettext_msg_list.
33728 (grub_gettext_gettranslation_from_position): Return const char *
33729 and not char *.
33730 (grub_gettext_translate): Add the translated strings into a list,
33731 returns from the list if existing there.
33732 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33733 (grub_gettext_delete_list): Delete the list.
33734 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33735 lang environment variable is changed.
33736 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33737
33738 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33739
33740 Rename kernel.mod to kernel.img.
33741
33742 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33743 (kernel_mod_EXPORTS): Rename to ...
33744 (kernel_img_EXPORTS): ... this.
33745 (kernel_mod_SOURCES): Rename to ...
33746 (kernel_img_SOURCES): ... this.
33747 (kernel_mod_HEADERS): Rename to ...
33748 (kernel_img_HEADERS): ... this. All users updated.
33749 (kernel_mod_CFLAGS): Rename to ...
33750 (kernel_img_CFLAGS): ... this.
33751 (kernel_mod_ASFLAGS): Rename to ...
33752 (kernel_img_ASFLAGS): ... this.
33753 (kernel_mod_LDFLAGS): Rename to ...
33754 (kernel_img_LDFLAGS): ... this.
33755 * conf/x86_64-efi.rmk: Likewise.
33756 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33757 (read_kernel_image): ... this. All users updated.
33758 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33759
33760 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33761
33762 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33763 (print_spaces): New function.
33764 (grub_print_ucs4): New function.
33765 (getstringwidth): New function.
33766 (print_message_indented): New function.
33767 (print_message): Gettexttize strings using print_message_indented.
33768 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33769 width.
33770 (get_entry_number): Gettextize and uses dynamic terminal width.
33771 (notify_booting, notify_fallback, notify_execution_failure):
33772 Gettextize.
33773 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33774 string.
33775 (run): Likewise.
33776 (grub_menu_entry_run): Likewise.
33777 * PO/POTFILES: Add normal/menu_entry.c.
33778
33779 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33780
33781 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33782
33783 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33784
33785 * util/grub-install.in: Install gettext .mo files.
33786 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33787
33788 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33789
33790 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33791 grub_dprintf.
33792
33793 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33794
33795 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33796 non-firmware-dependant one in realmode.S takes precedence.
33797
33798 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33799
33800 * commands/halt.c: Replace misc arch-specific headers with
33801 `<grub/misc.h>'.
33802 * commands/reboot.c: Likewise.
33803 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33804 `<grub/misc.h>'.
33805 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33806 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33807 (kernel_img_SOURCES): ... to here.
33808
33809 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33810 * include/grub/i386/pc/init.h: Likewise.
33811 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33812 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33813
33814 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33815
33816 * include/grub/i386/halt.h: Remove.
33817 * include/grub/i386/reboot.h: Likewise.
33818
33819 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33820
33821 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
33822
33823 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33824 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33825 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33826 "progname.h"
33827 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33828 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33829 (usage): Add missing comma in printf.
33830
33831 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33832
33833 Use the same reboot approach on i386 coreboot and qemu as we do on
33834 BIOS.
33835
33836 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33837 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33838 * kern/i386/reboot.c: Remove.
33839 * include/grub/i386/reboot.h (grub_reboot): Export function.
33840 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33841 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33842 0xf000:0xfff0 instead of 0xffff:0x0000.
33843 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33844 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33845
33846 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33847
33848 Fix $srcdir != $objdir build.
33849
33850 * Makefile.in (po/%.po): Rewrite as ...
33851 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33852
33853 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33854
33855 Fix GNU/Hurd grub-install crash.
33856 * util/grub-probe.c (probe): Try to access `path' only when it is not
33857 NULL.
33858
33859 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33860
33861 Correct module naming.
33862
33863 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33864 (GRUB_MOD_INIT(efi_uga)): ... to this
33865 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33866 (GRUB_MOD_FINI(efi_uga)): ... to this
33867 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33868 (GRUB_MOD_INIT(efi_gop)): ... to this
33869 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33870 (GRUB_MOD_FINI(efi_gop)): ... to this
33871
33872 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33873
33874 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33875 translatable.
33876 (usage): Translate `arg' strings using gettext().
33877 Thanks to Jordi Mallach for the suggestion.
33878
33879 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33880
33881 GOP support. Based on patch from Bean
33882 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33883
33884 * video/efi_gop.c: New file.
33885 * include/grub/efi/graphics_output.h: Likewise.
33886 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33887 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33888 variables.
33889 * conf/x86_64-efi.rmk: Likewise.
33890
33891 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33892
33893 Rename efi_fb to efi_uga.
33894
33895 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33896 'efi_uga.mod'.
33897 (efi_fb_mod_SOURCES): Rename this ...
33898 (efi_uga_mod_SOURCES): ... to this.
33899 (efi_fb_mod_CFLAGS): Rename this ...
33900 (efi_uga_mod_CFLAGS): ... to this.
33901 (efi_fb_mod_LDFLAGS): Rename this ...
33902 (efi_uga_mod_LDFLAGS): ... to this.
33903 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33904 'efi_uga.mod'.
33905 (efi_fb_mod_SOURCES): Rename this ...
33906 (efi_uga_mod_SOURCES): ... to this.
33907 (efi_fb_mod_CFLAGS): Rename this ...
33908 (efi_uga_mod_CFLAGS): ... to this.
33909 (efi_fb_mod_LDFLAGS): Rename this ...
33910 (efi_uga_mod_LDFLAGS): ... to this.
33911 * video/efi_fb.c: Move this ...
33912 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33913
33914 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33915
33916 * po/README: New file. Explain our PO file workflow.
33917
33918 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33919
33920 * po/ChangeLog: Remove. Move relevant entries back to ...
33921 * ChangeLog: ... here.
33922 * po/ca.po: Remove (now handled by TLP).
33923 * po/id.po: Likewise.
33924 * po/zh_CN.po: Likewise.
33925 * Makefile.in (LINGUAS): Initialize in a way that supports
33926 empty set.
33927
33928 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33929
33930 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33931 reliing on po/LINGUAS.
33932 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33933 (po/%.po): ... this.
33934
33935 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33936
33937 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33938 (main): Use `program_name' instead of nonexistent `progname'.
33939
33940 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33941
33942 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33943 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33944
33945 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33946
33947 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33948 commit.
33949 * conf/i386-efi.rmk: Likewise.
33950 * conf/i386-ieee1275.rmk: Likewise.
33951 * conf/powerpc-ieee1275.rmk: Likewise.
33952 * conf/sparc64-ieee1275.rmk: Likewise.
33953 * conf/x86_64-efi.rmk: Likewise.
33954
33955 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33956
33957 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33958
33959 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33960
33961 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33962
33963 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33964
33965 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33966 (grub_mkdevicemap_SOURCES): New variable.
33967 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33968 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33969 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33970 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33971 (grub_mkdevicemap_SOURCES): Remove.
33972 * conf/i386-efi.rmk: Likewise.
33973 * conf/i386-ieee1275.rmk: Likewise.
33974 * conf/i386-pc.rmk: Likewise.
33975 * conf/powerpc-ieee1275.rmk: Likewise.
33976 * conf/sparc64-ieee1275.rmk: Likewise.
33977 * conf/x86_64-efi.rmk: Likewise.
33978 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33979 (usage): Fix strings to use `program_name'.
33980 (main): Initialize gettext.
33981 * util/grub-editenv.c: Likewise.
33982 * util/grub-emu.c: Likewise.
33983 * util/grub-fstest.c: Likewise.
33984 * util/grub-mkdevicemap.c: Likewise.
33985 * util/grub-mkfont.c: Likewise.
33986 * util/grub-mkrelpath.c: Likewise.
33987 * util/grub-pe2elf.c: Likewise.
33988 * util/grub-probe.c: Likewise.
33989 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33990 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33991 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33992
33993 * util/misc.c: Include `"progname.h"'.
33994 (progname): Remove variable.
33995 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33996
33997 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33998
33999 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
34000 printf and print a newline after the menuentry header line.
34001 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34002
34003 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
34004
34005 autoconf >= 2.60 support $(localedir).
34006
34007 * INSTALL: Note that autoconf 2.60 is required.
34008 * configure.ac (AC_PREREQ): Bump to 2.60.
34009 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
34010 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
34011
34012 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
34013
34014 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
34015 aclocal is run.
34016
34017 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34018
34019 * normal/main.c (grub_normal_read_line): Fix off-by-one
34020 buffer overflow.
34021
34022 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
34023
34024 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
34025 "parser.grub" in grub_command_execute() call.
34026
34027 2009-11-24 Carles Pina i Estany <carles@pina.cat>
34028
34029 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
34030 * conf/i386-efi.rmk: Likewise.
34031 * conf/i386-ieee1275.rmk: Likewise.
34032 * conf/i386-pc.rmk: Likewise.
34033 * conf/powerpc-ieee1275.rmk: Likewise.
34034 * conf/sparc64-ieee1275.rmk: Likewise.
34035 * conf/x86_64-efi.rmk: Likewise.
34036 * gettext/gettex.c: Include <grub/i18n.h>.
34037 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
34038 here ...
34039 * include/grub/i18n.h: ... to here
34040 * include/grub/i18n.h: ... to here.
34041 * kern/misc.c: Include <grub/i18n.h>
34042 (grub_gettext_dummy): Move above user.
34043
34044 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34045
34046 * util/Makefile.in (install-local): Convert a `for' into a normal
34047 shell expansion.
34048
34049 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
34050
34051 * autogen.sh: Add automake call.
34052 * config.guess: Remove.
34053 * config.sub: Likewise.
34054 * install-sh: Likewise.
34055
34056 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34057
34058 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
34059
34060 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34061
34062 * util/Makefile.in (install-local): Convert a make `$(foreach)'
34063 function to a normal shell `for'.
34064
34065 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34066
34067 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34068
34069 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34070
34071 * util/grub-mkrelpath.c: New file.
34072 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
34073 (grub_mkrelpath_SOURCES): New variable.
34074 * include/grub/util/misc.h: New function prototype.
34075 * util/misc.c (make_system_path_relative_to_its_root): New function.
34076
34077 * util/grub-mkconfig_lib.in (bindir): New variable.
34078 (grub_mkrelpath): Likewise.
34079 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
34080
34081 * util/probe.c (probe): Make the file path relative to its root.
34082 Change a info message to use the GRUB path. Enable again the
34083 check if we can read the file with GRUB facilities.
34084
34085 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
34086 to its root.
34087
34088 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34089
34090 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
34091 platform.
34092
34093 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34094
34095 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
34096 strncmp().
34097
34098 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34099
34100 * util/getroot.c (grub_util_is_dmraid): New function.
34101 (grub_util_get_dev_abstraction): Treat dmraid and multipath
34102 devices as normal ones, not as LVM.
34103
34104 2009-11-23 Carles Pina i Estany <carles@pina.cat>
34105
34106 * conf/common.rmk: Add grub-gettext_lib target and updates
34107 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34108 LDFLAGS.
34109 * gettext/gettext.c: New file. (Reads mo files).
34110 * include/grub/file.h (grub_file_pread): New prototype.
34111 * include/grub/i18n.h (_): New prototype.
34112 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34113 prototypes.
34114 * kern/misc.c (grub_gettext_dummy): New function.
34115 * normal/menu_text.c: Include <grub/i18n.h>.
34116 * normal/menu_text.c (print_timeout): Gettexttize string.
34117 * normal/menu_text.c (print_message): Gettexttize string.
34118 * po/POTFILES: Add `normal/menu_text.c'.
34119 * po/ca.po: Add new translations.
34120 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34121 gettext module and defines locale_dir and lang in grub.cfg.
34122 * NEWS: Add gettext support.
34123
34124 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34125
34126 * util/hostdisk.c: Include `<grub/i18n.h>'.
34127 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34128 (make_device_name): Rewrite using asprintf.
34129 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34130 (find_system_device): If a device is not found, generate one just
34131 by reusing the OS path name.
34132 (read_device_map): Make it permissible for device.map not to exist.
34133
34134 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34135
34136 * script/sh/execute.c: Move from here ...
34137 * script/execute.c: ... to here. Update all users.
34138 * script/sh/function.c: Move from here ...
34139 * script/function.c: ... to here. Update all users.
34140 * script/sh/lexer.c: Move from here ...
34141 * script/lexer.c: ... to here. Update all users.
34142 * script/sh/main.c: Move from here ...
34143 * script/main.c: ... to here. Update all users.
34144 * script/sh/parser.y: Move from here ...
34145 * script/parser.y: ... to here. Update all users.
34146 * script/sh/script.c: Move from here ...
34147 * script/script.c: ... to here. Update all users.
34148
34149 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34150
34151 * configure.ac: Detect all `emu' platforms. Define
34152 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34153 --enable-grub-emu logic. Disable include/grub/machine
34154 symlink on `emu' platforms.
34155
34156 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34157 * gensymlist.sh.in: Likewise.
34158
34159 * include/grub/i386/coreboot/machine.h: Remove file.
34160 * include/grub/i386/efi/machine.h: Likewise.
34161 * include/grub/i386/ieee1275/machine.h: Likewise.
34162 * include/grub/i386/pc/machine.h: Likewise.
34163 * include/grub/i386/qemu/machine.h: Likewise.
34164 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34165 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34166 * include/grub/x86_64/efi/machine.h: Likewise.
34167
34168 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34169 * commands/halt.c: Likewise.
34170 * commands/reboot.c: Likewise.
34171 * include/grub/autoefi.h: Likewise.
34172 * include/grub/i386/at_keyboard.h: Likewise.
34173 * include/grub/i386/kernel.h: Likewise.
34174 * include/grub/i386/loader.h: Likewise.
34175 * include/grub/i386/pc/memory.h: Likewise.
34176 * kern/dl.c: Likewise.
34177 * kern/i386/coreboot/init.c: Likewise.
34178 * loader/i386/bsd.c: Likewise.
34179 * loader/i386/linux.c: Likewise.
34180 * loader/multiboot_loader.c: Likewise.
34181 * term/i386/pc/serial.c: Likewise.
34182 * term/usb_keyboard.c: Likewise.
34183
34184 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34185 `<grub/machine/machine.h>'
34186 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34187 * util/misc.c: Remove `<grub/machine/machine.h>' and
34188 `<grub/machine/time.h>'.
34189
34190 * Makefile.in (enable_grub_emu): Remove variable.
34191 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34192
34193 * conf/any-emu.rmk: New file.
34194 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34195 (grub_emu_init.c): Move from here ...
34196 * conf/any-emu.rmk: ... to here.
34197
34198 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34199 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34200 * conf/any-emu.rmk: ... to here.
34201
34202 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34203
34204 * include/grub/parser.h (grub_parser_register): Document need
34205 of `name' parameter.
34206 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34207 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34208 "sh" to "grub".
34209
34210 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34211
34212 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34213 `$(XGETTEXT)'.
34214 * include/grub/i18n.h (N_): New macro.
34215 * util/mkisofs/mkisofs.h: Likewise.
34216 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34217 around N_().
34218 (usage): Use gettext() to translate help strings when printing them.
34219
34220 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34221
34222 Based on patch from Bean
34223 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34224
34225 * video/efi_fb.c: New file.
34226 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34227 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34228 variables.
34229 * conf/x86_64-efi.rmk: Likewise.
34230
34231 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34232
34233 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34234 * util/i386/pc/grub-setup.c: Likewise.
34235
34236 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34237
34238 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34239 <hurd/fs.h>
34240 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34241 file_get_storage_info to implement grub_guess_root_device.
34242
34243 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34244
34245 * Makefile.in (target): Use make's builtin $(shell) function
34246 instead of calling directly $(SHELL) to create the locale directories,
34247 inside the $(foreach) function.
34248
34249 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34250
34251 * util/grub-mkrescue.in: Print an error and usage if output option
34252 has not been given.
34253
34254 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34255
34256 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34257 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34258 root and /boot are on different devices.
34259
34260 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34261
34262 Fix build for srcdir != objdir.
34263
34264 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34265 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34266 $(srcdir).
34267 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34268 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34269 reference for input.
34270
34271 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34272
34273 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34274 or hardlinking it). Remove -J option, Joliet is not compatible with
34275 multiple source directories.
34276
34277 2009-11-21 Carles Pina i Estany <carles@pina.cat>
34278 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34279
34280 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34281 (process_input_dir): New function. Process an arbitrary input
34282 directory.
34283 Misc adjustments to support both "override mode" and system-wide mode.
34284
34285 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34286
34287 * configure.ac (UNIFONT_BDF): Rename to ...
34288 (FONT_SOURCE): ... this. Update all users.
34289
34290 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34291
34292 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34293 to the list of unifont files to look for.
34294
34295 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34296
34297 Patch from Joe Auricchio <jauricchio@gmail.com>
34298 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34299 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34300 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34301
34302 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34303
34304 * Makefile.in (install-local): Add a missing backslash.
34305
34306 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34307
34308 * include/grub/x86_64/io.h: New file.
34309
34310 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34311
34312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34313 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34314 Include `"progname.h"'.
34315 (main): Initialize gettext.
34316 * util/i386/pc/grub-setup.c: Gettexttize.
34317 * util/i386/pc/grub-mkimage.c: Likewise.
34318
34319 * Makefile.in (po/*.po): Redefine as ...
34320 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34321
34322 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34323
34324 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34325
34326 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34327 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34328 (program_name): Remove.
34329 (main): Initialize gettext support.
34330 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34331 Include `<libintl.h>'.
34332 (_): New macro.
34333
34334 * util/mkisofs/eltorito.c: Gettexttize.
34335 * util/mkisofs/joliet.c: Likewise.
34336 * util/mkisofs/mkisofs.c: Likewise.
34337 * util/mkisofs/multi.c: Likewise.
34338 * util/mkisofs/rock.c: Likewise.
34339 * util/mkisofs/tree.c: Likewise.
34340 * util/mkisofs/write.c: Likewise.
34341
34342 * po/POTFILES: Update with new files.
34343
34344 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34345
34346 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34347 * util/mkisofs/iso9660.h: Likewise.
34348 * util/mkisofs/joliet.c: Likewise.
34349 * util/mkisofs/mkisofs.c: Likewise.
34350 * util/mkisofs/mkisofs.h: Likewise.
34351 * util/mkisofs/rock.c: Likewise.
34352 * util/mkisofs/tree.c: Likewise.
34353 * util/mkisofs/write.c: Likewise.
34354
34355 * util/mkisofs/eltorito.c (rcsid): Remove.
34356 * util/mkisofs/hash.c: Likewise.
34357 * util/mkisofs/joliet.c: Likewise.
34358 * util/mkisofs/name.c: Likewise.
34359 * util/mkisofs/rock.c: Likewise.
34360 * util/mkisofs/tree.c: Likewise.
34361 * util/mkisofs/write.c: Likewise.
34362
34363 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34364
34365 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34366 instead of static allocation.
34367 * util/mkisofs/match.h: Likewise.
34368
34369 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34370
34371 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34372 and `util/grub.d/10_linux.in'.
34373 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34374 translatable Shell files.
34375
34376 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34377
34378 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34379
34380 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34381
34382 * INSTALL: Document Automake is needed for bootstrap.
34383 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
34384 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34385 Add gettext initialization.
34386 (kfreebsd_entry): Make menuentry output translatable.
34387
34388 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34389
34390 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34391 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34392 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34393 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34394 (LINGUAS): Auto-generate using `po/LINGUAS'.
34395 * po/LINGUAS: New file.
34396
34397 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34398
34399 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34400 other things).
34401 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34402 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34403 bindtextdomain() calls for gettext initialization.
34404
34405 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34406
34407 * gnulib/progname.c: New file (imported from Gnulib).
34408 * gnulib/progname.h: Likewise.
34409 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34410 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34411 (usage): Replace `progname' with `program_name'.
34412 (main): Use set_program_name() for program name initialization.
34413
34414 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34415
34416 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34417 from here ...
34418 * Makefile.in (CPPFLAGS): ... to here.
34419
34420 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34421
34422 * aclocal.m4: Move from here ...
34423 * acinclude.m4: ... to here.
34424 * autogen.sh: Add call to `aclocal'.
34425 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34426
34427 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34428
34429 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34430 (LINGUAS): New variable.
34431 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34432 (install-local): Install MO files.
34433 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34434 * include/grub/i18n.h: New file.
34435 * po/POTFILES: New file.
34436 * po/ca.po: New file.
34437 * util/grub.d/10_linux.in (bindir): New variable.
34438 Add gettext initialization.
34439 (linux_entry): Make menuentry output translatable.
34440 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34441 (usage): Make --help output translatable.
34442 (main): Initialize gettext.
34443
34444 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34445
34446 * import_gcry.py: New file (written by Vladimir with minor
34447 adjustments).
34448 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34449 ciphers.
34450 * INSTALL: Document that Python is required for bootstrap.
34451
34452 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34453
34454 Import ciphers from libgcrypt 1.4.4.
34455
34456 * lib/libgcrypt/cipher/ChangeLog
34457 * lib/libgcrypt/cipher/ac.c
34458 * lib/libgcrypt/cipher/arcfour.c
34459 * lib/libgcrypt/cipher/bithelp.h
34460 * lib/libgcrypt/cipher/blowfish.c
34461 * lib/libgcrypt/cipher/camellia-glue.c
34462 * lib/libgcrypt/cipher/camellia.c
34463 * lib/libgcrypt/cipher/camellia.h
34464 * lib/libgcrypt/cipher/cast5.c
34465 * lib/libgcrypt/cipher/cipher.c
34466 * lib/libgcrypt/cipher/crc.c
34467 * lib/libgcrypt/cipher/des.c
34468 * lib/libgcrypt/cipher/dsa.c
34469 * lib/libgcrypt/cipher/ecc.c
34470 * lib/libgcrypt/cipher/elgamal.c
34471 * lib/libgcrypt/cipher/hash-common.c
34472 * lib/libgcrypt/cipher/hash-common.h
34473 * lib/libgcrypt/cipher/hmac-tests.c
34474 * lib/libgcrypt/cipher/md.c
34475 * lib/libgcrypt/cipher/md4.c
34476 * lib/libgcrypt/cipher/md5.c
34477 * lib/libgcrypt/cipher/primegen.c
34478 * lib/libgcrypt/cipher/pubkey.c
34479 * lib/libgcrypt/cipher/rfc2268.c
34480 * lib/libgcrypt/cipher/rijndael-tables.h
34481 * lib/libgcrypt/cipher/rijndael.c
34482 * lib/libgcrypt/cipher/rmd.h
34483 * lib/libgcrypt/cipher/rmd160.c
34484 * lib/libgcrypt/cipher/rsa.c
34485 * lib/libgcrypt/cipher/seed.c
34486 * lib/libgcrypt/cipher/serpent.c
34487 * lib/libgcrypt/cipher/sha1.c
34488 * lib/libgcrypt/cipher/sha256.c
34489 * lib/libgcrypt/cipher/sha512.c
34490 * lib/libgcrypt/cipher/tiger.c
34491 * lib/libgcrypt/cipher/twofish.c
34492 * lib/libgcrypt/cipher/whirlpool.c
34493
34494 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34495
34496 Fix build for systems without error().
34497
34498 * gnulib/error.c: New file (imported from Gnulib).
34499 * gnulib/error.h: Likewise.
34500 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34501 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34502 (this variable is now used by error()).
34503
34504 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34505
34506 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34507 instead of relying that char is signed.
34508
34509 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34510
34511 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34512 blocksize different from specified.
34513 (grub_pxefs_read): Likewise.
34514
34515 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34516
34517 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34518
34519 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34520 (grub_ata_readwrite): Likewise. Update 2 format strings.
34521 (grub_atapi_read): Likewise.
34522
34523 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34524 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34525 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34526 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34527 (ata_mod_LDFLAGS): Move from here ...
34528 * conf/i386.rmk: ... to here ...
34529 * conf/x86_64-efi.rmk: ... and here.
34530 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34531 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34532
34533 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34534
34535 Relicense multiboot.h, with RMS' blessing.
34536
34537 * include/multiboot.h: Change to X11 license.
34538
34539 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34540
34541 Support --version in grub-mkisofs.
34542
34543 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34544 (OPTION_VERSION): New macro.
34545 (ld_options): Recognize --version.
34546 (usage): Move `program_name' from here ...
34547 (program_name): ... to here. Add `static' qualifier.
34548 (main): Recognize `OPTION_VERSION'.
34549
34550 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
34551
34552 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34553 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34554
34555 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34556
34557 Fix help2man generation for mkisofs.
34558
34559 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34560 (usage): Send output to stdout (rather than stderr).
34561
34562 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34563
34564 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34565 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34566 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34567 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34568 (bin_SCRIPTS): Add `grub-mkfloppy'.
34569 (grub_mkfloppy_SOURCES): New variable.
34570
34571 * util/grub-mkrescue.in: New file.
34572 * util/i386/pc/grub-mkfloppy.in: New file.
34573
34574 * util/i386/coreboot/grub-mkrescue.in: Remove.
34575 * util/i386/pc/grub-mkrescue.in: Remove.
34576
34577 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34578
34579 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34580 from here ...
34581 * include/multiboot.h (struct multiboot_header): ... to here. Update
34582 all users.
34583 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34584 from here ...
34585 * include/multiboot.h (struct multiboot_info): ... to here. Update
34586 all users.
34587 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34588 from here ...
34589 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34590 Update all users.
34591 * include/grub/multiboot.h (struct grub_mod_list): Move
34592 from here ...
34593 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34594 Update all users.
34595
34596 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34597
34598 * include/multiboot2.h (multiboot_word): Rename from this ...
34599 (multiboot2_word): ... to this. Update all users.
34600 (multiboot_header): Rename from this ...
34601 (multiboot2_header): ... to this. Update all users.
34602 (multiboot_tag_header): Rename from this ...
34603 (multiboot2_tag_header): ... to this. Update all users.
34604 (multiboot_tag_start): Rename from this ...
34605 (multiboot2_tag_start): ... to this. Update all users.
34606 (multiboot_tag_name): Rename from this ...
34607 (multiboot2_tag_name): ... to this. Update all users.
34608 (multiboot_tag_module): Rename from this ...
34609 (multiboot2_tag_module): ... to this. Update all users.
34610 (multiboot_tag_memory): Rename from this ...
34611 (multiboot2_tag_memory): ... to this. Update all users.
34612 (multiboot_tag_unused): Rename from this ...
34613 (multiboot2_tag_unused): ... to this. Update all users.
34614 (multiboot_tag_end): Rename from this ...
34615 (multiboot2_tag_end): ... to this. Update all users.
34616
34617 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34618
34619 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34620 this platform we should support Multiboot1 first.
34621
34622 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34623 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34624 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34625
34626 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34627
34628 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34629 of write calls (converting them to fwrite() if they aren't already).
34630 (get_torito_desc): Likewise.
34631 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34632
34633 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34634
34635 * util/i386/pc/grub-install.in: Move from here ...
34636 * util/grub-install.in: ... to here. Update all users.
34637
34638 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
34639
34640 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34641
34642 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34643
34644 Support for El Torito without floppy emulation.
34645
34646 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34647 (init_boot_catalog): Improve error handling.
34648 (get_torito_desc): Don't use floppy emulation unless requested by
34649 user. Patch boot information table when requested via
34650 `-boot-info-table'.
34651 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34652 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34653 (use_boot_info_table): New variables.
34654 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34655 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34656 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34657 `--eltorito-emul-floppy'.
34658 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34659 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34660 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34661 (use_boot_info_table, get_731): New prototypes.
34662 * util/mkisofs/write.c (get_731): New function.
34663
34664 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
34665
34666 Fix the generation of the man page.
34667
34668 * util/pc/i386/grub-install.in: Source
34669 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34670
34671 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34672
34673 Large file support for grub-mkisofs.
34674
34675 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34676 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34677 (session_start): Upgrade type to `uint64_t'. Update all users.
34678 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34679 (struct directory_entry): Upgrade type of `starting_block' and
34680 `size' to `uint64_t'. Update all users.
34681 (struct deferred): Remove unused structure.
34682 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34683 Update all users.
34684 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34685 file is larger than `UINT32_MAX'.
34686 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34687 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34688 return value.
34689 (struct deferred_write): Upgrade type of `extent' and `size' to
34690 `uint64_t'. Update all users.
34691 (last_extent_written): Upgrade type to `uint64_t'. Update all
34692 users.
34693 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34694 Update all users. Upgrade type of `remain' to `int64_t' and
34695 `use' to `size_t'. Use error() to handle fread() errors.
34696 (write_files): Rely on write_one_file() rather than calling
34697 xfwrite() directly.
34698
34699 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
34700
34701 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34702
34703 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34704
34705 * util/mkisofs/fnmatch.c: Remove.
34706 * util/mkisofs/getopt1.c: Likewise.
34707 * util/mkisofs/getopt.c: Likewise.
34708 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34709 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34710 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34711 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34712 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34713
34714 * configure.ac: Detect `mingw32msvc' host_os.
34715 Check for lstat(), getuid() and getgid().
34716
34717 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34718 instances of `u_char' with `uint8_t'.
34719
34720 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34721 [!HAVE_GETUID] (getuid): New function (stub).
34722 [!HAVE_GETGID] (getgid): Likewise.
34723 [!HAVE_LSTAT] (lstat): Likewise.
34724 [!S_IROTH] (S_IROTH): New macro (dummy).
34725 [!S_IRGRP] (S_IRGRP): Likewise.
34726
34727 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34728
34729 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34730 conditional expression).
34731
34732 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34733
34734 Import from Gnulib.
34735
34736 * gnulib/fnmatch.c: New file.
34737 * gnulib/fnmatch.h: Likewise.
34738 * gnulib/fnmatch_loop.c: Likewise.
34739 * gnulib/getopt.c: Likewise.
34740 * gnulib/getopt.h: Likewise.
34741 * gnulib/getopt1.c: Likewise.
34742 * gnulib/getopt_int.h: Likewise.
34743 * gnulib/gettext.h: Likewise.
34744
34745 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34746
34747 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34748 * normal/handler.c (read_handler_list): Likewise.
34749
34750 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34751
34752 Misc cleanup.
34753
34754 * kern/command.c (grub_register_command_prio): Use
34755 grub_zalloc() instead of explicitly zeroing data.
34756 * kern/list.c: Include `<grub/mm.h>'.
34757 (grub_named_list_find): Replace `0' with `NULL'.
34758 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34759 (fs_module_list): Change type to `grub_named_list_t'. Update all
34760 users.
34761 * normal/dyncmd.c (read_command_list): Add space between function
34762 call and parenthesis.
34763 * normal/handler.c (read_handler_list): Likewise.
34764
34765 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34766
34767 * normal/auth.c (punishment_delay): Moved from here ...
34768 (grub_auth_strcmp): ... to here (inside function).
34769
34770 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34771
34772 * include/grub/list.h (struct grub_named_list): Remove `const'
34773 qualifier from `name'.
34774 (struct grub_prio_list): Likewise.
34775
34776 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34777
34778 * normal/auth.c: Include `<grub/time.h>'.
34779 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34780
34781 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34782
34783 * normal/auth.c (punishment_delay): New variable.
34784 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34785 (grub_auth_check_authentication): Punish failed login attempts with
34786 an incremental (2^N) delay.
34787
34788 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34789
34790 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34791 path with $(srcdir).
34792
34793 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34794
34795 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34796
34797 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34798
34799 * util/i386/coreboot/grub-mkrescue.in: New file.
34800 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34801 variables.
34802
34803 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34804 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34805 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34806 requirements.
34807 * util/mkisofs/defaults.h: New file.
34808 * util/mkisofs/eltorito.c: Likewise.
34809 * util/mkisofs/exclude.h: Likewise.
34810 * util/mkisofs/fnmatch.c: Likewise.
34811 * util/mkisofs/getopt.c: Likewise.
34812 * util/mkisofs/getopt1.c: Likewise.
34813 * util/mkisofs/hash.c: Likewise.
34814 * util/mkisofs/include/fctldefs.h: Likewise.
34815 * util/mkisofs/include/mconfig.h: Likewise.
34816 * util/mkisofs/include/prototyp.h: Likewise.
34817 * util/mkisofs/include/statdefs.h: Likewise.
34818 * util/mkisofs/iso9660.h: Likewise.
34819 * util/mkisofs/joliet.c: Likewise.
34820 * util/mkisofs/match.c: Likewise.
34821 * util/mkisofs/match.h: Likewise.
34822 * util/mkisofs/mkisofs.c: Likewise.
34823 * util/mkisofs/mkisofs.h: Likewise.
34824 * util/mkisofs/multi.c: Likewise.
34825 * util/mkisofs/name.c: Likewise.
34826 * util/mkisofs/rock.c: Likewise.
34827 * util/mkisofs/tree.c: Likewise.
34828 * util/mkisofs/write.c: Likewise.
34829
34830 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34831
34832 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34833 being insecure.
34834
34835 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34836
34837 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34838 `grub-mkimage' (and use $0 when possible).
34839
34840 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34841
34842 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34843 error message for excessively large memory map.
34844
34845 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34846
34847 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34848 executable bit.
34849
34850 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34851
34852 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34853 message for coreboot users.
34854
34855 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34856
34857 Fix build with GNU gold.
34858
34859 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34860 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34861 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34862 link addresses.
34863 * aclocal.m4: Likewise.
34864
34865 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
34866
34867 * configure.ac (AC_PREREQ): Bump to 2.59d.
34868 * INSTALL: Make it more clear when Autoconf and Ruby are
34869 needed and when to run `./autogen.sh'.
34870
34871 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34872
34873 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34874 OSes.
34875
34876 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34877
34878 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34879
34880 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34881
34882 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34883 giving it to GNU Mach.
34884
34885 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34886
34887 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34888 GNU partition number to get internal GRUB partition number.
34889
34890 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34891
34892 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34893 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34894
34895 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34896
34897 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34898 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34899 case.
34900
34901 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
34902
34903 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34904
34905 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34906
34907 Fix build problem.
34908
34909 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34910 `-isystem=$(srcdir)/include'.
34911
34912 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34913
34914 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34915 checked (grub-install doesn't currently rely on it).
34916
34917 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34918
34919 Revert SVN r2660.
34920
34921 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34922 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34923 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34924 * conf/i386-ieee1275.rmk: Likewise.
34925 * conf/i386-pc.rmk: Likewise.
34926 * conf/powerpc-ieee1275.rmk: Likewise.
34927 * conf/sparc64-ieee1275.rmk: Likewise.
34928 * conf/x86_64-efi.rmk: Likewise.
34929
34930 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34931
34932 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34933
34934 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34935
34936 * include/grub/misc.h: Stop checking for APPLE_CC.
34937
34938 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34939
34940 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34941 doesn't cause an infinite call loop.
34942
34943 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
34944
34945 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34946 strings.
34947
34948 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34949
34950 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34951 variable.
34952 * Makefile.in: Likewise.
34953
34954 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34955
34956 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34957
34958 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34959
34960 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34961
34962 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34963
34964 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34965
34966 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34967
34968 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34969 from here ...
34970 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34971
34972 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34973
34974 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34975 in $(MAKEINFO) invocation. This makes it clear in output that
34976 errors are being ignored.
34977
34978 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34979
34980 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34981 from here ...
34982 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34983 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34984 * conf/i386-ieee1275.rmk: Likewise.
34985 * conf/i386-pc.rmk: Likewise.
34986 * conf/powerpc-ieee1275.rmk: Likewise.
34987 * conf/sparc64-ieee1275.rmk: Likewise.
34988 * conf/x86_64-efi.rmk: Likewise.
34989
34990 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34991
34992 * util/grub-editenv.c (main): If only a command is given, use
34993 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34994 (usage): FILENAME is now optional and has a default.
34995
34996 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34997
34998 Improve grub-mkconfig performance when there are several menu
34999 entries on a single filesystem.
35000
35001 * util/grub.d/10_linux.in (linux_entry): Cache the output of
35002 prepare_grub_to_access_device.
35003 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
35004 * util/grub.d/30_os-prober.in: Likewise.
35005
35006 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35007
35008 * util/grub.d/10_freebsd.in: Remove.
35009 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
35010 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
35011
35012 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
35013
35014 * docs/grub.cfg: Fix example usage of *BSD loaders.
35015
35016 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35017
35018 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
35019 grub_util_error() call.
35020
35021 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35022
35023 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
35024 `reserved_first_sector' member.
35025 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
35026 `reserved_first_sector' to 1.
35027 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
35028 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
35029 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
35030 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
35031 filesystems which begin at first sector.
35032 (options): New option --skip-fs-probe.
35033 (main): Handle --skip-fs-probe and pass it to setup().
35034
35035 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35036
35037 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
35038 (memset): Fix function prototype.
35039
35040 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35041 2009-10-25 Vasily Averin <vvs@parallels.com>
35042
35043 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
35044 `dirent.direntlen == 0'.
35045
35046 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35047
35048 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
35049 `cpio'.
35050 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
35051
35052 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35053
35054 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
35055 `__trampoline_setup' and `__ucmpdi2'.
35056 * include/grub/powerpc/libgcc.h: Only export symbols for functions
35057 that libgcc provides.
35058
35059 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35060
35061 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
35062 * include/grub/sparc64/libgcc.h (memset): Likewise.
35063 * include/grub/misc.h (memset, memcmp): New function prototypes.
35064
35065 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35066
35067 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
35068 `cpio'.
35069 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
35070
35071 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
35072
35073 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
35074 * docs/grub.cfg: Compensate for recent change in multiboot
35075 loader (since 2009-08-14 it won't pass filename to payload).
35076 * util/grub.d/10_hurd.in: Likewise.
35077
35078 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
35079
35080 * config.guess: Update to latest version from config git
35081 repository.
35082 * config.sub: Likewise.
35083
35084 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
35085
35086 Fix build on sparc64.
35087
35088 * configure.ac: Perform checks for libgcc symbols before
35089 adding `-nostdlib' to LDFLAGS.
35090
35091 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35092
35093 Let user specify OpenBSD root device.
35094
35095 * loader/i386/bsd.c (openbsd_root): New variable.
35096 (openbsd_opts): New option 'root'.
35097 (OPENBSD_ROOT_ARG): New macro.
35098 (grub_openbsd_boot): Use 'openbsd_root'.
35099 (grub_cmd_openbsd): Fill 'openbsd_root'.
35100
35101 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35102
35103 * NEWS: Misc adjustments.
35104
35105 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35106
35107 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35108
35109 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35110
35111 * configure.ac: Bump version to 1.97.
35112
35113 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
35114
35115 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35116 -mno-3dnow on x86 architectures. Some toolchains enable these
35117 features by default, but they rely on registers that aren't enabled
35118 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35119
35120 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35121
35122 Make entry text a bit more readable.
35123
35124 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35125
35126 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35127
35128 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35129
35130 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35131
35132 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35133 operations.
35134
35135 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35136
35137 * configure.ac: Add missing dollar.
35138
35139 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35140
35141 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35142
35143 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35144 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35145 exports.
35146 * include/grub/sparc64/libgcc.h: Likewise. Use
35147 preprocessor conditionals.
35148
35149 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35150
35151 * conf/common.rmk (grub-dumpbios): Remove rule.
35152 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35153 * util/grub-dumpbios.in: Remove file.
35154
35155 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35156
35157 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35158 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35159
35160 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35161 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35162 users.
35163
35164 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35165 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35166 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35167 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35168 users.
35169
35170 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35171
35172 * term/tparm.c: Switch to GPLv3.
35173
35174 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35175
35176 * include/grub/i386/cpuid.h: Add header protection.
35177
35178 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35179
35180 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35181
35182 * include/grub/i386/cpuid.h: New file.
35183 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35184 (has_longmode): Rename to ...
35185 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35186 `static' attribute.
35187 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35188 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35189 on a CPU that doesn't implement AMD64 instruction set.
35190
35191 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35192
35193 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35194 that version.texi is rebuilt on version number changes.
35195
35196 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35197
35198 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35199 Fixes bug #27602.
35200
35201 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35202
35203 * util/i386/pc/grub-install.in: Source
35204 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35205 that the --grub-probe option will work.
35206 * util/sparc64/ieee1275/grub-install.in: Likewise.
35207
35208 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35209
35210 * configure.ac: Bump version to 1.97~beta4.
35211
35212 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35213
35214 Resync grub-mkdevicemap in x86_64-efi.
35215
35216 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35217 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35218 `util/devicemap.c'.
35219
35220 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
35221
35222 * util/grub-editenv.c (create_envblk_file): Write new block with a
35223 .new suffix and then rename it into place, to ensure atomic
35224 creation.
35225
35226 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35227
35228 Do not automatically install headers.
35229
35230 * Makefile.in (include_DATA): Remove. Update all users.
35231
35232 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35233
35234 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35235 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35236
35237 * util/osdetect.lua: Remove.
35238 * script/lua/lauxlib.c: Likewise.
35239 * script/lua/ldebug.c: Likewise.
35240 * script/lua/grub_main.c: Likewise.
35241 * script/lua/lauxlib.h: Likewise.
35242 * script/lua/ldebug.h: Likewise.
35243 * script/lua/ltablib.c: Likewise.
35244 * script/lua/liolib.c: Likewise.
35245 * script/lua/lstrlib.c: Likewise.
35246 * script/lua/lualib.h: Likewise.
35247 * script/lua/ldo.c: Likewise.
35248 * script/lua/ldump.c: Likewise.
35249 * script/lua/ldo.h: Likewise.
35250 * script/lua/loslib.c: Likewise.
35251 * script/lua/lundump.c: Likewise.
35252 * script/lua/grub_lib.c: Likewise.
35253 * script/lua/ldblib.c: Likewise.
35254 * script/lua/lundump.h: Likewise.
35255 * script/lua/lmem.c: Likewise.
35256 * script/lua/grub_lib.h: Likewise.
35257 * script/lua/lmathlib.c: Likewise.
35258 * script/lua/lstate.c: Likewise.
35259 * script/lua/ltm.c: Likewise.
35260 * script/lua/lvm.c: Likewise.
35261 * script/lua/lmem.h: Likewise.
35262 * script/lua/lstate.h: Likewise.
35263 * script/lua/ltm.h: Likewise.
35264 * script/lua/ltable.c: Likewise.
35265 * script/lua/lvm.h: Likewise.
35266 * script/lua/llex.c: Likewise.
35267 * script/lua/lgc.c: Likewise.
35268 * script/lua/grub_lua.h: Likewise.
35269 * script/lua/loadlib.c: Likewise.
35270 * script/lua/lfunc.c: Likewise.
35271 * script/lua/lopcodes.c: Likewise.
35272 * script/lua/lparser.c: Likewise.
35273 * script/lua/ltable.h: Likewise.
35274 * script/lua/llex.h: Likewise.
35275 * script/lua/lgc.h: Likewise.
35276 * script/lua/lfunc.h: Likewise.
35277 * script/lua/lbaselib.c: Likewise.
35278 * script/lua/lopcodes.h: Likewise.
35279 * script/lua/lparser.h: Likewise.
35280 * script/lua/lzio.c: Likewise.
35281 * script/lua/linit.c: Likewise.
35282 * script/lua/lobject.c: Likewise.
35283 * script/lua/llimits.h: Likewise.
35284 * script/lua/lstring.c: Likewise.
35285 * script/lua/lzio.h: Likewise.
35286 * script/lua/lapi.c: Likewise.
35287 * script/lua/lcode.c: Likewise.
35288 * script/lua/lua.h: Likewise.
35289 * script/lua/lobject.h: Likewise.
35290 * script/lua/lstring.h: Likewise.
35291 * script/lua/lapi.h: Likewise.
35292 * script/lua/lcode.h: Likewise.
35293 * script/lua/luaconf.h: Likewise.
35294
35295 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
35296
35297 * docs/grub.texi (Command-line and menu entry commands): Document
35298 date and echo commands.
35299
35300 2009-09-24 Pavel Roskin <proski@gnu.org>
35301
35302 * include/grub/kernel.h (struct grub_module_header): Remove
35303 `grub_module_header_types'. Make `type' unsigned. Make `size'
35304 32-bit on all platforms.
35305 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35306 8-bit field. Use grub_host_to_target32() for `size'.
35307 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35308 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35309 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35310
35311 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35312
35313 Fix "lost keypress" bug in at_keyboard.
35314
35315 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35316 Checks for readyness of input buffer (without flushing it).
35317 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35318 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35319
35320 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35321
35322 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35323 size check within GRUB_MACHINE_PCBIOS section.
35324
35325 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35326
35327 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35328 return value.
35329 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35330 KEYBOARD_ISREADY check.
35331 (grub_at_keyboard_checkkey): Rename to ...
35332 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35333 Remove gratuitous cast.
35334
35335 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
35336
35337 * configure.ac: Call AC_PROG_MKDIR_P.
35338 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35339 version.texi in $(builddir) rather than $(srcdir).
35340 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35341 to makeinfo's @include search path.
35342
35343 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35344
35345 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35346
35347 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35348
35349 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35350 for `*.dpkg-new'.
35351
35352 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
35353
35354 Build info documentation. Some code borrowed from Automake.
35355
35356 * configure.ac: Check for makeinfo.
35357 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35358 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35359 docs/version.texi.
35360 (MOSTLYCLEANFILES): Add vti.tmp.
35361 (docs/version.texi, docs/stamp-vti): Update automatically.
35362 (docs/grub.info): Build info documentation. Use --force and ignore
35363 errors for now.
35364 (all-local): Add $(INFOS).
35365 (install-local): Install info files.
35366 (uninstall): Uninstall info files.
35367 * docs/version.texi: Remove from revision control. This file is
35368 automatically generated on build now.
35369 * gendistlist.sh: Add `*.info'.
35370
35371 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35372
35373 * kern/term.c: Fix indentation.
35374
35375 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35376
35377 * util/hostdisk.c: Fix a comment.
35378
35379 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35380
35381 Fix regression introduced in r2539.
35382
35383 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35384 to 0xA1.
35385
35386 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
35387
35388 * util/grub.d/30_os-prober.in: Don't throw away stderr from
35389 os-prober. Under normal operation, it does not print anything to
35390 stderr; if it does, we need to debug it, and throwing away stderr
35391 makes that excessively difficult.
35392
35393 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35394
35395 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35396
35397 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35398
35399 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35400 AC_LANG_PROGRAM from autoconf.
35401 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35402 prototypes (fixes warning).
35403
35404 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35405 `--disable-werror' was used.
35406
35407 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35408
35409 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35410 uninitialized `lastaddr'.
35411
35412 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35413
35414 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
35415
35416 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35417
35418 * commands/test.c (get_fileinfo): Return immediately if
35419 grub_fs_probe fails.
35420
35421 2009-09-14 José Martínez <xosemp@gmail.com>
35422
35423 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35424
35425 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35426
35427 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35428 output.
35429
35430 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35431
35432 * configure.ac: Remove --enable-grub-pe2elf. Only build
35433 grub-pe2elf when needed by the build system itself.
35434 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35435
35436 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35437
35438 * configure.ac: Bump version to 1.97~beta3.
35439 * docs/version.texi: Likewise.
35440
35441 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35442
35443 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35444 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35445 from here ...
35446 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35447 (grub_linux_setup_video): ... to here (with some adjustments).
35448
35449 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35450
35451 Fix memory corruption issue (spotted by Colin Watson).
35452
35453 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35454 causing returned size to be stored in an incorrect memory location.
35455 Fix use of uninitialized value when storing the returned size.
35456
35457 2009-09-12 Yves Blusseau <blusseau@zetam.org>
35458
35459 Change clean rules to properly remove files
35460
35461 * genmk.rb: add new clean rules
35462 * Makefile.in (clean): add the new targets
35463 (mostlyclean): likewise
35464
35465 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35466
35467 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35468 to grub_uint64_t.
35469 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35470 non-resident files.
35471
35472 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35473
35474 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35475 part of bug #27349.
35476
35477 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35478
35479 * util/grub-mkconfig.in: Make the created config mode 400 and
35480 print a warning if it fails.
35481
35482 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35483
35484 * util/grub.d/40_custom.in: Ask user to type custom entries below
35485 comment, rather than below 'exec tail' line.
35486
35487 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35488
35489 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35490 visible in grub.cfg.
35491
35492 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35493
35494 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35495 file.
35496
35497 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35498
35499 * docs/grub.cfg: Add an example menu entry for memtest86+.
35500
35501 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
35502
35503 * config.guess: Update to latest version from config git.
35504 * config.sub: Likewise.
35505
35506 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
35507
35508 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35509 unknown-command case. Fixes bug #27320.
35510
35511 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
35512
35513 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35514 `help' if the command exists.
35515
35516 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35517
35518 * INSTALL: Require GCC 4.1.3 or later.
35519
35520 2009-09-06 Yves Blusseau <blusseau@zetam.org>
35521
35522 * Makefile.in (RMKFILES): add i386-qemu.rmk
35523 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35524 $(srcdir)/stamp-h.in
35525
35526 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35527
35528 * util/grub-probe.c (probe): Comment out buggy codepath, which
35529 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35530 should be re-enabled after 1.97.
35531
35532 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
35533
35534 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35535 find searches for.
35536
35537 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35538
35539 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35540 unnecessary calls to grub_error.
35541
35542 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
35543
35544 * NEWS: Mention `keystatus' and Unicode fonts.
35545
35546 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35547
35548 * configure.ac: Bump version to 1.97~beta2.
35549 * docs/version.texi: Likewise.
35550
35551 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35552
35553 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35554 containing unwind information in some cases where it previously did
35555 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35556 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35557 discussion.
35558
35559 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35560
35561 Embedding loadenv module into grub-emu
35562
35563 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35564 commands/loadenv.c
35565 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35566 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35569 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35570 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35571
35572 2009-09-03 Magnus Granberg <zorry@ume.nu>
35573
35574 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35575 include -fPIE in the default specs.
35576 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35577 to TARGET_CFLAGS.
35578
35579 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
35580
35581 * INSTALL: Note that GNU Bison 2.3 or later is required.
35582
35583 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35584
35585 * kern/i386/pc/startup.S: Fix typo.
35586
35587 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35588
35589 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35590 according to GCS.
35591
35592 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35593
35594 * docs/grub.texi (Naming convention): Describe one-based partition
35595 numbering.
35596 (Device syntax): Likewise.
35597 (File name syntax): Likewise.
35598 (Block list syntax): Likewise.
35599 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35600 menu.lst.
35601 (File name syntax): Likewise.
35602 (Command-line and menu entry commands): Document acpi, blocklist,
35603 crc, export, insmod, keystatus, ls, set, and unset commands.
35604
35605 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35606
35607 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35608 to avoid implying that only one of --shift, --ctrl, or --alt may be
35609 used.
35610
35611 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35612
35613 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35614 rather than comparing against S_IFREG, which will almost never work.
35615
35616 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35617
35618 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35619 (write_blocklists): Likewise.
35620
35621 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
35622
35623 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35624 argument to grub_printf.
35625
35626 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
35627
35628 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
35629 non GNU test.
35630
35631 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35632
35633 * kern/file.c (grub_file_read): Spelling fix
35634
35635 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35636
35637 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35638 loading of headers in some cases.
35639
35640 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35641
35642 * configure.ac: Bump version to 1.97~beta1.
35643 * docs/version.texi: Likewise.
35644
35645 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
35646
35647 * include/grub/i386/xnu.h: Add license header.
35648 include grub/err.h explicitly.
35649
35650 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35651
35652 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35653 to `ufs' in the vfs.root.mountfrom kernel parameter.
35654
35655 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35656
35657 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35658
35659 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35660 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35661
35662 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35663 `ARRAY_SIZE' macro.
35664
35665 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35666
35667 * kern/file.c (grub_file_read): Check offset.
35668 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35669 * fs/jfs.c (grub_jfs_read_file): Likewise.
35670 * fs/ntfs.c (grub_ntfs_read): Likewise.
35671 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35672 * fs/minix.c (grub_minix_read_file): Correct offset check.
35673 * fs/ufs.c (grub_ufs_read_file): Likewise.
35674
35675 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35676
35677 * term/i386/pc/console.c (bios_data_area): Cast
35678 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35679
35680 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35681
35682 1-bit optimised blitters.
35683
35684 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35685 prototype.
35686 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35687 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35688 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35689 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35690 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35691 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35692 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35693 function.
35694 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35695 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35696 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35697 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35698 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35699 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35700 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35701 when possible.
35702 * video/video.c (grub_video_get_blit_format): Return
35703 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35704
35705 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35706
35707 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35708 the first argument to grub_printf.
35709
35710 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35711 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35712
35713 Add `getkeystatus' terminal method. Add a new `keystatus' command
35714 to query it.
35715
35716 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35717 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35718 modifier key bitmasks.
35719 (struct grub_term_input): Add `getkeystatus' member.
35720 (grub_getkeystatus): Add prototype.
35721 * kern/term.c (grub_getkeystatus): New function.
35722
35723 * include/grub/i386/pc/memory.h
35724 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35725 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35726 Data Area layout.
35727 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35728 (grub_console_term_input): Set `getkeystatus' member.
35729 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35730 constants.
35731 (grub_usb_keyboard_getreport): Likewise.
35732 (grub_usb_keyboard_checkkey): Likewise.
35733 (grub_usb_keyboard_getkeystatus): New function.
35734 (grub_usb_keyboard_term): Set `getkeystatus' member.
35735
35736 * commands/keystatus.c: New file.
35737 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35738 (keystatus_mod_SOURCES): New variable.
35739 (keystatus_mod_CFLAGS): Likewise.
35740 (keystatus_mod_LDFLAGS): Likewise.
35741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35742 commands/keystatus.c.
35743 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35744 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35745 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35747 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35748 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35749
35750 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35751
35752 Split befs.mod and afs.mod into *_be.mod and *.mod
35753
35754 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35755 (grub_fstest_SOURCES): Likewise.
35756 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35757 (afs_be_mod_SOURCES): New variable.
35758 (afs_be_mod_CFLAGS): Likewise.
35759 (afs_be_mod_LDFLAGS): Likewise.
35760 (befs_be_mod_SOURCES): Likewise.
35761 (befs_be_mod_CFLAGS): Likewise.
35762 (befs_be_mod_LDFLAGS): Likewise.
35763 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35764 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35766 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35767 (grub_emu_SOURCES): Likewise.
35768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35769 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35770 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35771 * fs/afs_be.c: New file.
35772 * fs/befs_be.c: New file.
35773 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35774 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35775 (U16): Replaced with ...
35776 (grub_afs_to_cpu16): ...this. All users updated.
35777 (U32): Replaced with ...
35778 (grub_afs_to_cpu32): ...this. All users updated.
35779 (U64): Replaced with ...
35780 (grub_afs_to_cpu64): ...this. All users updated.
35781 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35782 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
35783 (grub_afs_validate_sblock): Check only one endianness.
35784 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35785 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35786 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35787 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35788 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35789 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35790 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35791 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35792
35793 2009-08-26 Bean <bean123ch@gmail.com>
35794
35795 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35796 64-bit number.
35797 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35798 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35799 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35800
35801 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35802
35803 NetBSD memory map support.
35804
35805 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35806 (grub_netbsd_btinfo_mmap_header): New structure.
35807 (grub_netbsd_btinfo_mmap_entry): Likewise.
35808 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35809
35810 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35811
35812 Enable bsd.mod on coreboot.
35813
35814 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35815 (bsd_mod_SOURCES): New variable.
35816 (bsd_mod_CFLAGS): Likewise.
35817 (bsd_mod_LDFLAGS): Likewise.
35818 (bsd_mod_ASFLAGS): Likewise.
35819 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35820 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35821
35822 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35823
35824 Cleanup NetBSD root support.
35825
35826 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35827 grub_bsd_get_device.
35828 Fix typo.
35829
35830 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
35831
35832 * util/grub.d/00_header.in: Move check for the video backend of
35833 gfxterm from here ...
35834 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35835 a suitable video backend.
35836
35837 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35838
35839 Fix breakage in grub-setup.
35840
35841 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35842 "msdos_partition_map".
35843
35844 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35845
35846 Fix breakage in normal/auth.c.
35847
35848 * normal/auth.c (grub_iswordseparator): New function.
35849
35850 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35851
35852 Authentication support.
35853
35854 * commands/password.c: New file.
35855 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35856 (password_mod_SOURCES): New variable.
35857 (password_mod_CFLAGS): Likewise.
35858 (password_mod_LDFLAGS): Likewise.
35859 (normal_mod_SOURCES): Add normal/auth.c.
35860 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35861 normal/auth.c.
35862 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35863 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35864 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35866 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35867 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35868 * include/grub/auth.h: New file.
35869 * include/grub/err.h (grub_err_t): New enum value
35870 GRUB_ERR_ACCESS_DENIED.
35871 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35872 'users'.
35873 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35874 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35875 users updated.
35876 * normal/auth.c: New file.
35877 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35878 (grub_cmdline_run): Don't allow to go to command line without
35879 authentication.
35880 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35881 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35882 menuentry without superuser rights.
35883 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35884 user isn't a superuser.
35885
35886 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35887
35888 Save space by inlining misc.c functions.
35889
35890 * kern/misc.c (grub_iswordseparator): Made static.
35891 * kern/misc.c (grub_strcat): Moved from here ...
35892 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35893 * kern/misc.c (grub_strncat): Moved from here ...
35894 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35895 * kern/misc.c (grub_strcasecmp): Moved from here ...
35896 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35897 * kern/misc.c (grub_strncasecmp): Moved from here ...
35898 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35899 * kern/misc.c (grub_isalpha): Moved from here ...
35900 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35901 * kern/misc.c (grub_isdigit): Moved from here ...
35902 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35903 * kern/misc.c (grub_isgraph): Moved from here ...
35904 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35905 * kern/misc.c (grub_tolower): Moved from here ...
35906 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35907
35908 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35909
35910 * script/sh/function.c (grub_script_function_find): Cut error message
35911 not to flood terminal.
35912 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35913 limit.
35914 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35915
35916 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
35917
35918 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35919 `report' grub_uint8_t *.
35920 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35921 Use a 50-millisecond timeout rather than just repeating
35922 grub_usb_keyboard_getreport 50 times.
35923 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35924
35925 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35926
35927 Rename *_partition_map to part_*
35928
35929 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35930 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35931 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35932 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35933 All users updated.
35934 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35935 All users updated.
35936 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35937 * util/grub-probe.c (probe_partmap): Don't transform partition name
35938 to get module name.
35939
35940 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35941
35942 Fix OpenBSD and NetBSD support.
35943
35944 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35945 memory address conflict.
35946 (OPENBSD_MMAP_ACPI): New definition.
35947 (OPENBSD_MMAP_NVS): Likewise.
35948 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35949 and OPENBSD_MMAP_NVS.
35950 Add memory map terminator
35951 Explicit cast when calling grub_unix_real_boot.
35952 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
35953
35954 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35955
35956 Let user specify NetBSD root device.
35957
35958 * loader/i386/bsd.c (netbsd_root): New variable.
35959 (netbsd_opts): New option 'root'.
35960 (NETBSD_ROOT_ARG): New macro.
35961 (grub_netbsd_boot): Use 'netbsd_root'.
35962 (grub_bsd_unload): Free 'netbsd_root'.
35963 (grub_cmd_netbsd): Fill 'netbsd_root'.
35964
35965 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35966
35967 Support for 64-bit NetBSD.
35968
35969 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35970 point when booting non-FreeBSD.
35971
35972 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35973
35974 Support --no-smp and --no-acpi for NetBSD.
35975
35976 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35977 (NETBSD_AB_NOACPI): Likewise.
35978 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35979 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35980
35981 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35982
35983 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35984 errors.
35985 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35986 errors. Call grub_error when needed.
35987
35988 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35989
35990 * commands/search.c (search_fs): Try searching without autoload first.
35991 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35992 filesystem module explicitly for faster booting.
35993
35994 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35995
35996 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35997
35998 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35999
36000 * util/grub.d/30_os-prober.in: Disable os-prober if
36001 `GRUB_DISABLE_OS_PROBER' was set to true.
36002
36003 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
36004
36005 * partmap/pc.c: Rename to ...
36006 * partmap/msdos.c: ... this. Update all users.
36007 (grub_pc_partition_map): Rename to ...
36008 (grub_msdos_partition_map): ... this. Update all users.
36009
36010 * parttool/pcpart.c: Rename to ...
36011 * parttool/msdospart.c: ... this. Update all users.
36012
36013 * include/grub/pc_partition.h: Rename to ...
36014 * include/grub/msdos_partition.h: ... this. Update all users.
36015 (grub_pc_partition_bsd_entry): Rename to ...
36016 (grub_msdos_partition_bsd_entry): ... this. Update all users.
36017 (grub_pc_partition_disk_label): Rename to ...
36018 (grub_msdos_partition_disk_label): ... this. Update all users.
36019 (grub_pc_partition_entry): Rename to ...
36020 (grub_msdos_partition_entry): ... this. Update all users.
36021 (grub_pc_partition_mbr): Rename to ...
36022 (grub_msdos_partition_mbr): ... this. Update all users.
36023 (grub_pc_partition): Rename to ...
36024 (grub_msdos_partition): ... this. Update all users.
36025 (grub_pc_partition_is_empty): Rename to ...
36026 (grub_msdos_partition_is_empty): ... this. Update all users.
36027 (grub_pc_partition_is_extended): Rename to ...
36028 (grub_msdos_partition_is_extended): ... this. Update all users.
36029 (grub_pc_partition_is_bsd): Rename to ...
36030 (grub_msdos_partition_is_bsd): ... this. Update all users.
36031
36032 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
36033 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
36034 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
36035 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
36036 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
36037 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
36038 (gpt_mod_LDFLAGS): Rename to ...
36039 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
36040 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
36041 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
36042 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
36043 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
36044 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
36045 (part_gpt_mod_LDFLAGS): ... this.
36046 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
36047 `pcpart.mod' to `msdospart.mod'.
36048 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
36049 to ...
36050 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
36051 (msdospart_mod_LDFLAGS): ... this.
36052
36053 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
36054
36055 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
36056 (openbsd_opts): Likewise.
36057 (netbsd_opts): Likewise.
36058 (freebsd_flags): Added 0 terminator.
36059 (openbsd_flags): Likewise.
36060 (netbsd_flags): Likewise.
36061 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
36062 (grub_cmd_freebsd): Transformed into extended command.
36063 (grub_cmd_openbsd): Likewise.
36064 (grub_cmd_netbsd): Likewise.
36065 (cmd_freebsd): Changed type to grub_extcmd_t.
36066 (cmd_openbsd): Likewise.
36067 (cmd_netbsd): Likewise.
36068 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
36069 grub_cmd_openbsd as extended commands.
36070 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
36071 cmd_netbsd and cmd_openbsd
36072
36073 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
36074
36075 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
36076
36077 2009-08-21 Pavel Roskin <proski@gnu.org>
36078
36079 * Makefile.in (install-local): When checking if a file is in the
36080 build directory, use "test -e" to detect symlinks.
36081
36082 * Makefile.in (install-local): Remove all files in
36083 $(DESTDIR)$(pkglibdir) before installing new files there.
36084
36085 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36086
36087 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
36088 grub-mkelfimage.
36089
36090 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36091
36092 * util/grub-mkconfig.in: Don't use gfxterm by default if not
36093 explicitly specified by the user.
36094
36095 2009-08-18 Pavel Roskin <proski@gnu.org>
36096
36097 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
36098 grub_uint8_t pointer for data.
36099 * include/grub/fbutil.h (struct grub_video_fbblit_info):
36100 Likewise.
36101 * video/fb/fbutil.c: Remove unnecessary casts.
36102
36103 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36104
36105 VBE cleanup.
36106
36107 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36108 (grub_vbe_set_video_mode): Save active mode info
36109 only after setting the mode.
36110 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36111 second argument.
36112
36113 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36114
36115 Rename variables for clarity.
36116
36117 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36118 (active_vbe_mode_info): ... this. All users updated.
36119 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36120 All users updated.
36121 (initial_mode): Rename to ...
36122 (initial_vbe_mode): ... this. All users updated.
36123 (mode_in_use): Rename to ..
36124 (vbe_mode_in_use): ... this. All users updated.
36125 (mode_list): Rename to ..
36126 (vbe_mode_list): ... this. All users updated.
36127 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36128 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36129 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36130 'mode_list_size' to 'vbe_mode_list_size'.
36131 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36132 'best_mode_info' to 'best_vbe_mode_info' and
36133 'best_mode' to 'best_vbe_mode'
36134
36135 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36136
36137 Remove duplicate grub_video_fb_get_video_ptr.
36138
36139 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36140 (grub_video_fb_get_video_ptr): ... this.
36141 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36142 * video/fb/fbutil.c: Add comment about addressing.
36143 (get_data_ptr): Rename to ...
36144 (grub_video_fb_get_video_ptr): ... this. All users updated.
36145 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36146
36147 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36148
36149 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36150 grub_dprintf() that was just added.
36151
36152 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36153
36154 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36155 (DEFAULT_VIDEO_MODE): Remove macros.
36156 (grub_linux_boot): Remove assumption that Linux has FB support,
36157 and use "text" as default video mode.
36158
36159 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36160
36161 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36162 grub_dprintf.
36163 * fs/fat.c (grub_fat_read_data): Likewise.
36164
36165 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36166
36167 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36168 payload.
36169 (grub_module): Likewise.
36170
36171 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36172
36173 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36174 mbi->cmdline but free playground.
36175
36176 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36177
36178 Handle group offset on UFS1.
36179
36180 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36181 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36182
36183 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36184
36185 Split ufs.mod into ufs1.mod and ufs2.mod.
36186
36187 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36188 (grub_fstest_SOURCES): Likewise.
36189 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36190 (ufs_mod_SOURCES): Remove.
36191 (ufs_mod_CFLAGS): Likewise.
36192 (ufs_mod_LDFLAGS): Likewise.
36193 (ufs1_mod_SOURCES): New variable.
36194 (ufs1_mod_CFLAGS): Likewise.
36195 (ufs1_mod_LDFLAGS): Likewise.
36196 (ufs2_mod_SOURCES): New variable.
36197 (ufs2_mod_CFLAGS): Likewise.
36198 (ufs2_mod_LDFLAGS): Likewise.
36199 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36200 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36201 Likewise.
36202 (grub_emu_SOURCES): Likewise.
36203 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36204 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36205 (grub_setup_SOURCES): Likewise.
36206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36207 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36208 (grub_setup_SOURCES): Likewise.
36209 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36210 Likewise.
36211 * fs/ufs2.c: New file.
36212 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36213
36214 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36215
36216 Framebuffer split.
36217
36218 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36219 subsystem at the end.
36220 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36221 (video_fb_mod_SOURCES): New variable.
36222 (video_fb_mod_CFLAGS): Likewise.
36223 (video_fb_mod_LDFLAGS): Likewise.
36224 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36225 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36226 * video/i386/pc/vbeblit.c: Moved from here ...
36227 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36228 * video/i386/pc/vbefill.c: Moved from here ...
36229 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36230 * video/i386/pc/vbeutil.c: Moved from here ...
36231 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36232 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36233 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36234 * include/grub/i386/pc/vbefill.h: Moved from here ...
36235 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36236 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36237 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36238 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36239 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36240 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36241 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36242 (grub_video_adapter): Added 'get_info_and_fini'.
36243 (grub_video_get_info_and_fini): New prototype.
36244 (grub_video_set_mode): make modestring const char *.
36245 * loader/i386/linux.c (grub_linux_setup_video): Use
36246 grub_video_get_info_and_fini.
36247 (grub_linux_boot): Move modesetting just before booting.
36248 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36249 grub_video_get_info_and_fini.
36250 * video/i386/pc/vbe.c: Moved framebuffer part ...
36251 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36252 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36253 grub_video_fbstd_colors and grub_video_fb_set_palette.
36254 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36255 grub_video_fb_init.
36256 (grub_video_vbe_fini): Use grub_video_fb_fini.
36257 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36258 render_target and use grub_video_fb_set_active_render_target and
36259 grub_video_fb_set_palette.
36260 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36261 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36262 (grub_video_vbe_adapter): Use framebuffer.
36263 * video/video.c (grub_video_get_info_and_fini): New function.
36264 (grub_video_set_mode): Make modestring const char *.
36265 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36266 values are already initialised.
36267
36268 2009-08-14 Pavel Roskin <proski@gnu.org>
36269
36270 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36271 ABS and APPLE_CC.
36272 * boot/i386/pc/diskboot.S: Likewise.
36273 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36274 sectors allow compilation on MacOSX.
36275 * conf/i386-pc.rmk: Enable unconditional compilation of
36276 lnxboot.img.
36277
36278 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
36279
36280 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36281 * util/grub.d/00_header.in: Enter interruptible sleep if
36282 GRUB_HIDDEN_TIMEOUT is set.
36283
36284 2009-08-13 Yves Blusseau <blusseau@zetam.org>
36285
36286 * include/grub/symbol.h: Add the LOCAL macro.
36287 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36288 starting with "L_".
36289
36290 2009-08-13 Pavel Roskin <proski@gnu.org>
36291
36292 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36293 any modern compilers we support.
36294
36295 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36296 Use local labels starting with "L_" so that Apple assembler
36297 knows they are local.
36298
36299 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36300
36301 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36302 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36303 (bsd_kernel_types): ... this enum.
36304
36305 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36306 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36307 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36308
36309 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36310 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36311 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36312 messages.
36313
36314 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36315
36316 * util/grub-dumpdevtree: Moved from here ...
36317 * util/i386/efi/grub-dumpdevtree: ... to here.
36318 (hexify): New function. Converts a string to its hex version.
36319 Generate hex versions of "efi" and "device-properties" by calling
36320 hexify() on the ASCII strings rather than by hardcoding numbers.
36321
36322 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36323
36324 * fs/jfs.c: Update copyright year.
36325
36326 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36327
36328 * util/grub.d/00_header.in: Fix a comment.
36329 * util/grub.d/10_linux.in: Likewise.
36330 * util/grub.d/10_windows.in: Likewise.
36331 * util/grub.d/10_hurd.in: Likewise.
36332
36333 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36334
36335 * util/grub-mkconfig.in: Allow the user to specify the used font
36336 with GRUB_FONT.
36337
36338 2009-08-08 Pavel Roskin <proski@gnu.org>
36339
36340 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36341 available, xfs.mod needs it now.
36342
36343 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36344 the "g" modifier in sed when the intention is to strip something
36345 once. This fixes comparison of kernels with multiple dashes.
36346
36347 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36348 on it. Add missing space before closing bracket. Fix
36349 misleading formatting.
36350
36351 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36352
36353 * docs/grub.texi: Major overhaul. Remove all sections that are
36354 specific to GRUB Legacy, or mostly composed of Legacy-specific
36355 information.
36356
36357 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36358
36359 * docs/version.texi: New file. Provides version information for
36360 grub.texi.
36361
36362 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36363
36364 * docs/grub.texi: Update CVS information to SVN.
36365 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36366
36367 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36368
36369 * util/grub-mkconfig.in: Remove a wrong `fi'.
36370
36371 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36372
36373 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36374 (grub_jfs_uuid): New function.
36375 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36376
36377 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36378
36379 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36380 of it to ...
36381 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36382 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36383
36384 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36385
36386 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36387 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36388 Update all users.
36389
36390 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36391 not just "vmlinu[zx]".
36392 Moved from here ...
36393 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36394 all users.
36395
36396 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36397 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36398 all users.
36399
36400 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36401
36402 * util/grub.d/10_freebsd.in: Use an absolute device path for
36403 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36404
36405 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
36406
36407 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36408 handling of multiple abstraction modules.
36409
36410 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36411
36412 Fix a bug resulting in black screen when loading Linux using a
36413 packed video mode.
36414
36415 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36416 function.
36417
36418 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36419 (grub_vbe_bios_getset_dac_palette_width): New function.
36420 (grub_vbe_bios_get_dac_palette_width)
36421 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36422 grub_vbe_bios_getset_dac_palette_width()).
36423
36424 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36425 check for return status.
36426 (grub_vbe_get_video_mode_info): When getting information for a packed
36427 mode (<= 8 bpp), obtain DAC palette width using
36428 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36429 {red,green,blue}_mark_size.
36430
36431 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
36432
36433 * commands/search.c (options): Fix help output to match actual code.
36434
36435 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36436
36437 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36438 of homegrown code.
36439
36440 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36441
36442 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36443 on XFS or ReiserFS.
36444
36445 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36446
36447 Support Apple partition map with sector size different from 512 bytes.
36448
36449 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36450 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36451 and 'apart.partmap_size'.
36452
36453 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36454 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36455
36456 Fix cpuid command.
36457
36458 * commands/i386/cpuid.c (options): New variable.
36459 (grub_cmd_cpuid): Return real error.
36460 (GRUB_MOD_INIT(cpuid)): Declare options.
36461
36462 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36463
36464 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36465 valid.
36466
36467 2009-07-31 Bean <bean123ch@gmail.com>
36468
36469 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36470 log2_inode.
36471 (grub_fshelp_node): Move inode field to the end.
36472 (grub_xfs_data): Remove inode field.
36473 (grub_xfs_inode_block): Calculate inode size using sblock.
36474 (grub_xfs_inode_offset): Likewise.
36475 (grub_xfs_read_inode): Calculate inode size using sblock.
36476 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36477 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36478 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36479 to match inode size.
36480 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36481 not accessible when data is null.
36482 (grub_xfs_open): Likewise.
36483
36484 2009-07-31 Bean <bean123ch@gmail.com>
36485
36486 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36487 Don't change pv->disk if it's already set.
36488
36489 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36490 (grub_raid_register): ... here.
36491 (grub_raid_rescan): Removed.
36492
36493 * include/grub/raid.h (grub_raid_rescan): Removed.
36494
36495 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36496 (fstest): Replace grub_raid_rescan with module fini function followed
36497 by init function.
36498
36499 * util/grub-probe.c: Add include file <grub/raid.h>.
36500 (probe_raid_level): New function.
36501 (probe): Detect abstraction by walking the disk device, support two
36502 level of abstraction (LVM on RAID) when detecting partition map.
36503
36504 2009-07-31 Pavel Roskin <proski@gnu.org>
36505
36506 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36507 to grub_zalloc(), it was erroneous.
36508 Reported by Bean <bean123ch@gmail.com>
36509
36510 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36511
36512 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
36513 embedding zone, not only the first one.
36514
36515 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
36516
36517 * term/gfxterm.c (clear_char): New function.
36518 (grub_virtual_screen_setup): Use clear_char.
36519 (scroll_up): Likewise.
36520 (grub_virtual_screen_cls): Likewise.
36521
36522 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
36523
36524 * util/deviceiter.c (get_acceleraid_disk_name): New static
36525 function.
36526 (grub_util_iterate_devices): Handle Accelraid devices.
36527 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36528
36529 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36530
36531 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36532 separator for the suggested gfxpayload string (';' collides with the
36533 parser and needs escaping).
36534
36535 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36536
36537 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36538 Clear direction flag before jumping to OS.
36539 (grub_multiboot2_real_boot): Likewise.
36540
36541 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36542
36543 * util/i386/pc/grub-install: Fix parsing of --disk-module
36544 option.
36545
36546 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36547
36548 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36549 when embedding.
36550
36551 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
36552
36553 * util/grub-mkconfig.in (package_version): New variable.
36554 Use it do display the version.
36555
36556 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36557
36558 * kern/file.c (grub_file_open): Revert to previous check with
36559 grub_errno.
36560
36561 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36562
36563 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36564 from help line. It's out of sync with code.
36565
36566 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36567
36568 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36569 entries on failed boot.
36570
36571 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36572
36573 * kern/file.c (grub_file_open): Fix an error check.
36574
36575 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36576
36577 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36578 partition map couldn't be identified.
36579
36580 2009-07-23 Pavel Roskin <proski@gnu.org>
36581
36582 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36583 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36584 case of little endian words becomes just an optimization.
36585 Respect const modifier.
36586 (md5_final): Use code that doesn't depend on endianness.
36587
36588 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36589 to avoid loss of upper bits if align is unsigned and shorter
36590 than addr.
36591
36592 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36593
36594 UUID support for UFS
36595
36596 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36597 (grub_ufs_uuid): New function.
36598 (grub_ufs_fs): add .uuid
36599
36600 2009-07-21 Pavel Roskin <proski@gnu.org>
36601
36602 * kern/dl.c (grub_dl_check_header): Make static.
36603
36604 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
36605
36606 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36607 add drivemap for Vista. It breaks Windows 7.
36608
36609 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36610
36611 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36612 128 bytes
36613
36614 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36615
36616 Add BFS support
36617
36618 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36619 (grub_fstest_SOURCES): Likewise.
36620 (pkglib_MODULES): Add befs.mod.
36621 (befs_mod_SOURCES): New variable.
36622 (befs_mod_CFLAGS): Likewise.
36623 (befs_mod_LDFLAGS): Likewise.
36624 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36626 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36627 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36628 (grub_setup_SOURCES): Likewise.
36629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36630 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36631 (grub_setup_SOURCES): Likewise.
36632 * fs/befs.c: New file.
36633 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36634 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36635 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36636 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36637 (B_KEY_INDEX_ALIGN): New declaration.
36638 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36639 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36640 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36641 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36642 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36643 (grub_afs_mount) [MODE_BFS]: Likewise.
36644 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36645 (grub_afs_fs): Use GRUB_AFS_FSNAME
36646 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36647 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36648 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36649 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36650
36651 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36652
36653 * util/getroot.c (find_root_device): Add support for MacOSX.
36654 * util/hostdisk.c: Likewise.
36655
36656 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36657
36658 * font/font.c (find_glyph): Check whether a font is present to avoid
36659 segmentation fault.
36660
36661 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
36662
36663 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36664
36665 2009-07-20 Pavel Roskin <proski@gnu.org>
36666
36667 * configure.ac: Trim excessively wordy excuses.
36668
36669 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36670
36671 Add symlink, mtime and label support to AtheFS.
36672
36673 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36674 (grub_afs_iterate_dir): Handle symlinks.
36675 (grub_afs_open): Use grub_afs_read_symlink.
36676 (grub_afs_dir): Likewise.
36677 Pass mtime.
36678 (grub_afs_label): New function.
36679 (grub_afs_fs): Add grub_afs_label.
36680 (grub_afs_read_symlink): New function.
36681
36682 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36683
36684 Fix AtheFS support.
36685
36686 * fs/afs.c: Fix comments style.
36687 (grub_afs_blockrun): Declare as packed.
36688 (grub_afs_datastream): Likewise.
36689 (grub_afs_bnode): Likewise.
36690 (grub_afs_btree): Likewise.
36691 (grub_afs_sblock): Likewise.
36692 Declare `name' as char.
36693 (grub_afs_inode): Declare as packed.
36694 Change void *vnode to grub_uint32_t unused.
36695 (grub_afs_iterate_dir): Check that key_size is positive.
36696 (grub_afs_mount): Don't read superblock twice.
36697 (grub_afs_dir): Don't free node in case of error,
36698 grub_fshelp_find_file already handles this.
36699 (grub_afs_open): Likewise.
36700
36701 2009-07-19 Pavel Roskin <proski@gnu.org>
36702
36703 * Makefile.in: Remove LIBLZO and enable_lzo.
36704 * conf/i386-pc.rmk: Remove lzo support.
36705 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36706 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36707 support.
36708 * kern/i386/pc/lzo1x.S: Remove.
36709 * kern/i386/pc/startup.S: Remove lzo support.
36710 * util/i386/pc/grub-mkimage.c: Likewise.
36711
36712 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36713
36714 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36715 * fs/xfs.c (grub_xfs_dir): Likewise.
36716 * fs/afs.c (grub_afs_dir): Likewise.
36717 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36718 (grub_iso9660_open): Likewise.
36719 * fs/jfs.c (grub_jfs_open): Likewise.
36720 * fs/ext2.c (grub_ext2_dir): Likewise.
36721 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36722 * script/sh/lexer.c (grub_script_yylex): Likewise.
36723
36724 2009-07-16 Pavel Roskin <proski@gnu.org>
36725
36726 * configure.ac: Never add "-c" to CFLAGS.
36727
36728 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36729
36730 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36731 grub_cv_cc_efiemu should be used.
36732
36733 * configure.ac: Typo fixes.
36734
36735 * kern/mm.c (grub_zalloc): New function.
36736 (grub_debug_zalloc): Likewise.
36737 * include/grub/mm.h: Declare grub_zalloc() and
36738 grub_debug_zalloc().
36739 * util/misc.c (grub_zalloc): New function.
36740 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36741 instead of grub_malloc(), remove unneeded initializations.
36742 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36743 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36744 * commands/parttool.c (grub_cmd_parttool): Likewise.
36745 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36746 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36747 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36748 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36749 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36750 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36751 (grub_cmd_efiemu_pnvram): Likewise.
36752 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36753 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36754 (grub_iso9660_iterate_dir): Likewise.
36755 * fs/jfs.c (grub_jfs_opendir): Likewise.
36756 * fs/ntfs.c (list_file): Likewise.
36757 (grub_ntfs_mount): Likewise.
36758 * kern/disk.c (grub_disk_open): Likewise.
36759 * kern/dl.c (grub_dl_load_core): Likewise.
36760 * kern/elf.c (grub_elf_file): Likewise.
36761 * kern/env.c (grub_env_context_open): Likewise.
36762 (grub_env_set): Likewise.
36763 (grub_env_set_data_slot): Likewise.
36764 * kern/file.c (grub_file_open): Likewise.
36765 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36766 * loader/i386/multiboot.c (grub_module): Likewise.
36767 * loader/xnu.c (grub_xnu_create_key): Likewise.
36768 (grub_xnu_create_value): Likewise.
36769 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36770 (read_config_file): Likewise.
36771 * normal/menu_entry.c (make_screen): Likewise.
36772 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36773 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36774 * script/sh/script.c (grub_script_parse): Likewise.
36775 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36776 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36777 * video/readers/png.c (grub_png_output_byte): Likewise.
36778 (grub_video_reader_png): Likewise.
36779
36780 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36781
36782 Enable all targets that can be built by default
36783
36784 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
36785 grub-mkfont and grub-fstest if they can be built
36786
36787 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36788
36789 Fix hang and segmentation fault in grub-emu-usb
36790
36791 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36792 * util/usb.c (grub_libusb_devices): likewise
36793 (grub_libusb_init): rename to ...
36794 (GRUB_MOD_INIT (libusb)):...this
36795 (grub_libusb_fini): rename to ..
36796 (GRUB_MOD_FINI (libusb)):...this
36797 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36798 * include/grub/disk.h (grub_raid_init): removed, it's useless
36799 (grub_raid_fini): likewise
36800 (grub_lvm_init): likewise
36801 (grub_lvm_fini): likewise
36802 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36803 by grub_init_all
36804
36805 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36806
36807 Fix libusb
36808
36809 * Makefile.in (LIBUSB): new macro
36810 * genmk.rb (Utility/print_tail): new method
36811 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36812 (top level): call util.print_tail at the end.
36813
36814 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36815
36816 Make FreeBSD accept zpool.cache
36817
36818 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36819 type is /boot/zfs/zpool.cache
36820
36821 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36822
36823 Fix 64-bit efiemu
36824
36825 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36826 correct wrong typedef
36827 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36828
36829 2009-07-15 Pavel Roskin <proski@gnu.org>
36830
36831 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36832 * kern/disk.c (struct grub_disk_cache): Likewise.
36833
36834 * commands/probe.c (options): Typo fix.
36835
36836 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36837 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36838 accordingly.
36839 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36840
36841 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36842 the end of "Error" to make the message more readable.
36843
36844 * boot/i386/pc/boot.S (kernel_segment): Remove.
36845 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36846 for destination.
36847
36848 * boot/i386/pc/boot.S (boot_version): Remove.
36849 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36850 Remove.
36851
36852 * include/grub/i386/pc/boot.h: Sort all offsets.
36853 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36854 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36855 * boot/i386/pc/boot.S: Assert location of every offset listed in
36856 include/grub/i386/pc/boot.h.
36857
36858 2009-07-13 Pavel Roskin <proski@gnu.org>
36859
36860 * include/grub/i386/coreboot/machine.h: Rename
36861 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36862 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36863 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36864
36865 * kern/dl.c: Force native word size to suppress warnings when
36866 compiling grub-emu.
36867
36868 * kern/device.c (grub_device_iterate): Change struct part_ent to
36869 hold the name, not a pointer to it. Use one grub_malloc() per
36870 partition, not two. Free partition_name if grub_malloc() fails.
36871 Set ents to NULL only before grub_partition_iterate() is called.
36872
36873 2009-07-11 Bean <bean123ch@gmail.com>
36874
36875 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36876 childname.
36877
36878 2009-07-10 Bean <bean123ch@gmail.com>
36879 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36880
36881 * kern/ieee1275/openfw.c (grub_children_iterate)
36882 (grub_devalias_iterate): Fix size evaluation for property or path
36883 strings, which was broken since r2132.
36884
36885 2009-07-07 Pavel Roskin <proski@gnu.org>
36886
36887 * commands/search.c (search_file): Merge into ...
36888 (search_fs): ... this. Accept search type as argument.
36889 (grub_cmd_search): Pass search type to search_fs().
36890
36891 * include/grub/util/console.h: New file.
36892 * util/console.c: Use it instead of grub/machine/console.h.
36893 * util/grub-emu.c: Likewise.
36894
36895 * lib/arg.c (find_long_option): Remove.
36896 (find_long): Add `len' argument, make `s' const char *.
36897 (grub_arg_parse): Parse long options in place, not in a
36898 temporary buffer.
36899
36900 2009-07-06 Pavel Roskin <proski@gnu.org>
36901
36902 * commands/search.c (search_fs): Fix potential NULL pointer
36903 dereference.
36904
36905 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36906 function pointer.
36907
36908 2009-07-06 Daniel Mierswa <impulze@impulze.org>
36909
36910 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36911 comparison.
36912
36913 2009-07-05 Pavel Roskin <proski@gnu.org>
36914
36915 * include/grub/i386/linux.h (struct linux_kernel_params):
36916 Restore padding3, it's still needed.
36917
36918 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36919 FreeBSD.
36920 * util/osdetect.lua: Likewise.
36921
36922 2009-07-05 Bean <bean123ch@gmail.com>
36923
36924 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36925
36926 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36927 (grub_lua_getenv): Likewise.
36928 (grub_lua_setenv): Likewise.
36929 (save_errno): New function.
36930 (push_result): Likewise.
36931 (grub_lua_enum_device): Likewise.
36932 (grub_lua_enum_file): Likewise.
36933 (grub_lua_file_open): Likewise.
36934 (grub_lua_file_close): Likewise.
36935 (grub_lua_file_seek): Likewise.
36936 (grub_lua_file_read): Likewise.
36937 (grub_lua_file_getline): Likewise.
36938 (grub_lua_file_getsize): Likewise.
36939 (grub_lua_file_getpos): Likewise.
36940 (grub_lua_file_eof): Likewise.
36941 (grub_lua_file_exist): Likewise.
36942 (grub_lua_add_menu): Likewise.
36943
36944 * script/lua/grub_lua.h (isupper): New inline function.
36945 (islower): Likewise.
36946 (ispunct): Likewise.
36947 (isxdigit): Likewise.
36948 (strcspn): Change to normal function.
36949 (strpbkr): New function declaration.
36950 (memchr): Likewise.
36951
36952 * script/lua/grub_main.c (scan_str): New function.
36953 (strcspn): Likewise.
36954 (strpbrk): Likewise.
36955 (memchr): Likewise.
36956
36957 * script/lua/linit.c (lualibs): Enable the string library.
36958
36959 * util/osdetect.lua: New file.
36960
36961 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36962
36963 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36964 `capabilities' member.
36965
36966 2009-07-02 Pavel Roskin <proski@gnu.org>
36967
36968 * genparttoollist.sh: Add missing newline at the end.
36969
36970 2009-07-01 Pavel Roskin <proski@gnu.org>
36971
36972 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36973
36974 * util/hostdisk.c (open_device): Remove `const' from
36975 `sysctl_size', as sysctlbyname() can change it (in this case it
36976 doesn't actually happen).
36977
36978 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36979 using signed long int constants.
36980
36981 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36982 constant to avoid a warning on FreeBSD.
36983
36984 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36985 where it's needed.
36986
36987 * Makefile.in: Install include/grub/machine symlink.
36988
36989 * Makefile.in: When installing symlinks, use "cp -fR", which
36990 works on FreeBSD and MacOSX.
36991 From Yves Blusseau <cl7m42e02@sneakemail.com>
36992
36993 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36994 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36995
36996 * util/misc.c: Move grub_reboot() and grub_halt() ...
36997 * util/grub-emu.c: ... here. Make main_env static.
36998 * include/grub/util/misc.h: Remove main_env.
36999
37000 * kern/mm.c: Use correct format to print size_t.
37001
37002 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
37003 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
37004 * kern/powerpc/dl.c: Likewise.
37005 * kern/sparc64/dl.c: Likewise.
37006 * kern/x86_64/dl.c: Likewise.
37007
37008 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37009
37010 Fix grub-emu build on sparc64-ieee1275.
37011
37012 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
37013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
37014
37015 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37016
37017 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
37018 (grub_reboot, grub_halt): New functions.
37019
37020 * util/i386/pc/misc.c: Delete. Update all users.
37021 * util/sparc64/ieee1275/misc.c: Likewise.
37022 * util/powerpc/ieee1275/misc.c: Likewise.
37023
37024 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37025
37026 * conf/i386.rmk (setjmp_mod_SOURCES)
37027 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
37028 * conf/common.rmk (setjmp_mod_SOURCES)
37029 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
37030 to use $(target_cpu).
37031 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
37032 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
37033 * conf/powerpc-ieee1275.rmk: Likewise.
37034 * conf/sparc64-ieee1275.rmk: Likewise.
37035
37036 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
37037 $(target_cpu) for kern/$(target_cpu)/dl.c.
37038 * conf/i386-efi.rmk: Likewise.
37039 * conf/i386-ieee1275.rmk: Likewise.
37040 * conf/x86_64-efi.rmk: Likewise.
37041 * conf/i386-coreboot.rmk: Likewise.
37042 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
37043 $(target_cpu) for kern/$(target_cpu)/dl.c and for
37044 kern/$(target_cpu)/cache.S.
37045 * conf/sparc64-ieee1275.rmk: Likewise.
37046
37047 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
37048
37049 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
37050 type to `grub_uint8_t', and adjust `padding9' accordingly.
37051
37052 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37053
37054 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
37055
37056 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
37057 assembly in final jump, using register constraints.
37058
37059 (grub_linux_boot): For text mode, initialize `have_vga' using
37060 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
37061
37062 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
37063 right before the final jump.
37064
37065 Set `video_mode' to 0x3.
37066
37067 Document initialization of `video_page', `video_mode' and
37068 `video_ega_bx'.
37069
37070 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37071
37072 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
37073 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
37074 and set GRUB_LINUX_FLAG_QUIET appropriately.
37075
37076 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
37077
37078 Fix build on Debian / sparc.
37079
37080 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
37081
37082 2009-06-28 Pavel Roskin <proski@gnu.org>
37083
37084 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
37085 fix a warning.
37086
37087 * util/grub.d/10_linux.in: Match SUSE style initrd names.
37088
37089 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37090
37091 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
37092 `err'.
37093
37094 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37095
37096 Revert r2338.
37097
37098 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
37099 file can't be opened. grub_file_open() is already supposed to set
37100 grub_errno / grub_errmsg appropriately.
37101 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37102
37103 2009-06-27 Pavel Roskin <proski@gnu.org>
37104 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37105
37106 * include/grub/dl.h: Include grub/elf.h.
37107 (struct grub_dl): Add symtab field.
37108 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37109 GRUB_MODULES_MACHINE_READONLY.
37110 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37111 of the header for read-only modules.
37112 (grub_dl_unload): Free mod->symtab for read-only modules.
37113 * kern/i386/dl.c: Use mod->symtab.
37114 * kern/powerpc/dl.c: Likewise.
37115 * kern/sparc64/dl.c: Likewise.
37116 * kern/x86_64/dl.c: Likewise.
37117
37118 * conf/i386-qemu.rmk: New file.
37119 * kern/i386/qemu/startup.S: Likewise.
37120 * kern/i386/qemu/mmap.c: Likewise.
37121 * boot/i386/qemu/boot.S: Likewise.
37122 * include/grub/i386/qemu/time.h: Likewise.
37123 * include/grub/i386/qemu/serial.h: Likewise.
37124 * include/grub/i386/qemu/kernel.h: Likewise.
37125 * include/grub/i386/qemu/console.h: Likewise.
37126 * include/grub/i386/qemu/boot.h: Likewise.
37127 * include/grub/i386/qemu/init.h: Likewise.
37128 * include/grub/i386/qemu/machine.h: Likewise.
37129 * include/grub/i386/qemu/loader.h: Likewise.
37130 * include/grub/i386/qemu/memory.h: Likewise.
37131
37132 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37133 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37134 [qemu] (pkglib_IMAGES): Add `boot.img'.
37135 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37136 [qemu] (boot_img_FORMAT): New variables.
37137 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37138 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37139 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37140 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37141 [qemu] (kernel_img_FORMAT): New variables.
37142
37143 * configure.ac: Recognise `i386-qemu'.
37144
37145 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37146 (for no compression).
37147 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37148 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37149 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37150 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37151 ifdefs).
37152
37153 2009-06-27 Pavel Roskin <proski@gnu.org>
37154
37155 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37156 read.
37157 * efiemu/prepare32.c: Likewise.
37158 * efiemu/prepare64.c: Likewise.
37159
37160 2009-06-26 Pavel Roskin <proski@gnu.org>
37161
37162 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37163 * include/grub/elf.h: Define symbols without "32" or "64" based
37164 on GRUB_TARGET_WORDSIZE.
37165 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37166 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37167 ELF definitions.
37168 * efiemu/loadcore64.c: Likewise.
37169 * loader/i386/bsd32.c: Likewise.
37170 * loader/i386/bsd64.c: Likewise.
37171 * kern/dl.c: Remove own ELF definitions.
37172 * util/i386/efi/grub-mkimage.c: Likewise.
37173
37174 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37175
37176 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37177 segment 0x0 unconditionally, because the reference generated by
37178 GAS is an absolute address.
37179
37180 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37181
37182 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37183 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37184
37185 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37186
37187 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37188 indexes. Check for -f explicitly.
37189 (search_file): Improve error message.
37190 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
37191
37192 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37193
37194 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37195 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37196
37197 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37198
37199 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37200 * conf/i386-ieee1275.rmk: Likewise.
37201 * conf/i386-coreboot.rmk: Likewise.
37202
37203 * kern/i386/pc/startup.S (grub_stop): Remove function.
37204 * kern/i386/ieee1275/startup.S: Likewise.
37205 * kern/i386/coreboot/startup.S: Likewise.
37206 * kern/i386/misc.S (grub_stop): New function.
37207
37208 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37209
37210 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37211 * kern/i386/realmode.S (real_to_prot): ... to here.
37212
37213 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37214
37215 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37216 with `kernel.img'.
37217 (kernel_elf_SOURCES): Rename to ...
37218 (kernel_img_SOURCES): ... this.
37219 (kernel_elf_HEADERS): Rename to ...
37220 (kernel_img_HEADERS): ... this. Update all users.
37221 (kernel_elf_ASFLAGS): Rename to ...
37222 (kernel_img_ASFLAGS): ... this.
37223 (kernel_elf_CFLAGS): Rename to ...
37224 (kernel_img_CFLAGS): ... this.
37225 (kernel_elf_LDFLAGS): Rename to ...
37226 (kernel_img_LDFLAGS): ... this.
37227 * conf/i386-coreboot.rmk: Likewise.
37228 * conf/powerpc-ieee1275.rmk: Likewise.
37229
37230 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37231 with "kernel.img".
37232
37233 2009-06-21 Pavel Roskin <proski@gnu.org>
37234
37235 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37236 to match nested functions.
37237 * loader/sparc64/ieee1275/linux.c: Likewise.
37238
37239 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37240
37241 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37242
37243 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37244 all i386 platforms.
37245
37246 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37247
37248 Fix asm file handling on ELF, and remove workarounds.
37249
37250 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
37251 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
37252 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37253 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37254
37255 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37256
37257 Load BSD ELF modules
37258
37259 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37260 and loader/i386/bsd64.c
37261 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37262 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37263 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37264 (grub_freebsd_load_elfmodule32): New declaration
37265 (grub_freebsd_load_elfmoduleobj64): Likewise
37266 (grub_freebsd_load_elf_meta32): Likewise
37267 (grub_freebsd_load_elf_meta64): Likewise
37268 (grub_freebsd_add_meta): Likewise
37269 (grub_freebsd_add_meta_module): Likewise
37270 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37271 (grub_freebsd_add_meta_module): Likewise and move module-specific
37272 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37273 (grub_cmd_freebsd): Add elf-kernel specific parts
37274 based on grub_freebsd_add_meta_module
37275 (grub_cmd_freebsd_module): Add type parsing moved from
37276 grub_freebsd_add_meta_module
37277 (grub_cmd_freebsd_module_elf): New function
37278 (cmd_freebsd_module_elf): New variable
37279 (GRUB_MOD_INIT): Register freebsd_module_elf
37280 * loader/i386/bsd32.c: New file
37281 * loader/i386/bsd64.c: Likewise
37282 * loader/i386/bsdXX.c: Likewise
37283 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37284 (grub_elf64_load): Likewise
37285 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37286 All users updated
37287 (grub_elf64_load_hook_t): Likewise
37288
37289 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
37290
37291 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37292 variable.
37293 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37294 don't write a menu entry for recovery mode.
37295
37296 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37297
37298 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37299 after it's no longer needed.
37300
37301 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37302
37303 * include/grub/i386/loader.h (grub_linux_prot_size)
37304 (grub_linux_tmp_addr, grub_linux_real_addr)
37305 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37306 GRUB_MACHINE_PCBIOS.
37307 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37308 common grub_util_info() call to ...
37309 (generate_image): ... here.
37310 Fix use of uninitialized memory, comparison of signed with
37311 unsigned integers and memory leak.
37312 Remove bogus module address message.
37313
37314 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37315
37316 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37317 grub_raid_register
37318 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37319
37320 2009-06-19 Pavel Roskin <proski@gnu.org>
37321
37322 * configure.ac: Remove stray AC_MSG_CHECKING.
37323
37324 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37325
37326 * disk/scsi.c (grub_scsi_open): use continue instead of big if
37327
37328 2009-06-18 Pavel Roskin <proski@gnu.org>
37329
37330 * conf/common.rmk: Add fs_file.mod.
37331 * disk/fs_file.c: New file.
37332 * include/grub/disk.h (enum grub_disk_dev_id): Add
37333 GRUB_DISK_DEVICE_FILE_ID.
37334
37335 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37336
37337 Fix build with Apple's toolchain. Part 2
37338
37339 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37340 a fake start
37341
37342 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37343
37344 Fix build with Apple's toolchain. Part 1
37345
37346 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37347 for long calls
37348 * configure.ac: remove a leftover AC_MSG_RESULT
37349 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
37350 Apple's toolchain
37351
37352 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37353
37354 Fix warnings
37355
37356 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37357 (decomp_block): initialize ch
37358 use grub_memcpy instead of memcpy
37359
37360 2009-06-17 Pavel Roskin <proski@gnu.org>
37361
37362 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37363 version, use declarations needed to use vga_text as the startup
37364 console.
37365
37366 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37367 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37368 the kernel.
37369 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37370 and grub_at_keyboard_fini(), it's done on module load and
37371 unload.
37372
37373 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
37374
37375 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37376 file can't be found.
37377 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37378
37379 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37380
37381 Fix newline handling
37382
37383 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
37384 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
37385 (grub_script_yylex): don't segfault on unterminated script
37386 newline terminates command and variable
37387
37388 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37389
37390 avoid double grub_adjust_range call. Bug reported by David Simner
37391
37392 * kern/disk.c (grub_disk_write): change to raw disk access before
37393 calling disk_read
37394
37395 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
37396
37397 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37398 spaces, for the benefit of help2man.
37399 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37400
37401 2009-06-16 Pavel Roskin <proski@gnu.org>
37402
37403 * kern/i386/halt.c: Include grub/machine/init.h.
37404 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37405
37406 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
37407
37408 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37409 drivemap menuentry.
37410
37411 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37412
37413 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37414 `echo' command.
37415
37416 2009-06-16 Pavel Roskin <proski@gnu.org>
37417
37418 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37419 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37420 save %dx, we only need %dl and we never change it.
37421 * boot/i386/pc/cdboot.S: Don't set the root drive.
37422 * boot/i386/pc/pxeboot.S: Likewise.
37423 * include/grub/i386/pc/boot.h: Remove
37424 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37425 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37426 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37427 * kern/i386/pc/init.c (make_install_device): Remove references
37428 to grub_root_drive.
37429 * kern/i386/pc/startup.S: Likewise.
37430 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37431
37432 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37433
37434 xnu_uuid command
37435
37436 * commands/xnu_uuid.c: new file
37437 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37438 (xnu_uuid_mod_SOURCES): new variable
37439 (xnu_uuid_mod_CFLAGS): likewise
37440 (xnu_uuid_mod_LDFLAGS): likewise
37441 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37442 * conf/i386-ieee1275.rmk: likewise
37443 * conf/i386-pc.rmk: likewise
37444 * conf/powerpc-ieee1275.rmk: likewise
37445 * conf/sparc64-ieee1275.rmk: likewise
37446 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37447
37448 2009-06-16 Pavel Roskin <proski@gnu.org>
37449
37450 * configure.ac: Avoid '==' in test command, it's not portable.
37451
37452 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37453
37454 Probe command
37455
37456 * commands/probe.c: new file
37457 * conf/common.rmk (pkglib_MODULES): add probe.mod
37458 (probe_mod_SOURCES): new variable
37459 (probe_mod_CFLAGS): likewise
37460 (probe_mod_LDFLAGS): likewise
37461 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37462 * conf/i386-ieee1275.rmk: likewise
37463 * conf/i386-pc.rmk: likewise
37464 * conf/powerpc-ieee1275.rmk: likewise
37465 * conf/sparc64-ieee1275.rmk: likewise
37466
37467 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37468
37469 Fix handling of string like \"hello\" and "a
37470 b"
37471
37472 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37473 (grub_script_yylex): fix parsing of quoting, escaping and newline
37474
37475 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37476
37477 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
37478 handling
37479
37480 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
37481
37482 * util/grub-mkconfig.in: Fix parsing of --output option.
37483
37484 2009-06-12 Pavel Roskin <proski@gnu.org>
37485
37486 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37487 genmk.rb don't need to be generated or installed.
37488
37489 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37490
37491 * commands/i386/pc/drivemap_int13h.S: add more comments
37492
37493 2009-06-11 Pavel Roskin <proski@gnu.org>
37494
37495 * Makefile.in (uninstall): Uninstall manuals.
37496
37497 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37498 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37499 and update-grub_lib in two places.
37500 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37501
37502 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37503 a compiler warning.
37504
37505 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37506 `entry_lo' to fix variable shadowing.
37507
37508 2009-06-11 Christian Franke <franke@computer.org>
37509
37510 * kern/misc.c (__enable_execute_stack): Add missing return type
37511 to prevent gcc warning.
37512
37513 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37514
37515 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37516
37517 2009-06-11 Pavel Roskin <proski@gnu.org>
37518
37519 * Makefile.in: Don't rely on any scripts being executable.
37520 Always use $(SHELL) to run shell scripts.
37521
37522 * configure.ac: Always define ___main if using -nostdlib. This
37523 fixes tests on Cygwin.
37524
37525 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37526
37527 UDF fix
37528
37529 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
37530 is in bytes and not in blocks
37531
37532 2009-06-11 Pavel Roskin <proski@gnu.org>
37533
37534 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37535 warning.
37536
37537 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37538
37539 * util/grub.d/30_os-prober.in: Fix a comment. Source
37540 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37541 to set the root device. Place drivemap command in the generated
37542 chain entry.
37543
37544 2009-06-11 Pavel Roskin <proski@gnu.org>
37545
37546 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37547 have long been resolved.
37548
37549 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
37550
37551 * util/grub.d/10_linux.in: Capitalise "Linux".
37552
37553 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37554
37555 2009-06-11 Pavel Roskin <proski@gnu.org>
37556
37557 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37558 fix a gcc warning and ensure that the function won't ever exit.
37559
37560 * kern/i386/ieee1275/init.c: Add missing prototype for
37561 grub_stop_floppy().
37562
37563 * loader/ieee1275/multiboot2.c [__i386__]: Include
37564 grub/cpu/multiboot.h.
37565
37566 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37567 casts to short - they are not portable and cause warnings. Fix
37568 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37569
37570 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37571
37572 Drivemap fixes
37573
37574 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37575 new function
37576 (grub_get_root_biosnumber_saved): new variable
37577 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37578 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
37579 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
37580 %dx after the call if necessary
37581 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37582 (boot_mod_SOURCES): remove
37583 (boot_mod_CFLAGS): remove
37584 (boot_mod_LDFLAGS): remove
37585 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37586 (boot_mod_SOURCES): new variable
37587 (boot_mod_CFLAGS): likewise
37588 (boot_mod_LDFLAGS): likewise
37589 * conf/i386-efi.rmk: likewise
37590 * conf/i386-ieee1275.rmk: likewise
37591 * conf/i386-pc.rmk: likewise
37592 * conf/powerpc-ieee1275.rmk: likewise
37593 * conf/sparc64-ieee1275.rmk: likewise
37594 * conf/x86_64-efi.rmk: likewise
37595 * include/grub/i386/pc/biosnum.h: new file
37596 * lib/i386/pc/biosnum.c: likewise
37597 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37598 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37599 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
37600
37601 2009-06-10 Pavel Roskin <proski@gnu.org>
37602
37603 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37604 Use separate variables. Read only the file size at the end, but
37605 not the checksum that we don't use.
37606
37607 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37608 Adjust all callers.
37609
37610 * kern/ieee1275/openfw.c: Remove libc includes.
37611 * kern/ieee1275/cmain.c: Likewise.
37612 * include/grub/ieee1275/ieee1275.h: Likewise.
37613
37614 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37615 compiler warnings.
37616
37617 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37618
37619 * Makefile.in: Remove all trailing whitespace.
37620 * conf/i386-pc.rmk: Likewise.
37621 * conf/powerpc-ieee1275.rmk: Likewise.
37622 * conf/sparc64-ieee1275.rmk: Likewise.
37623 * docs/grub.texi: Likewise.
37624 * docs/texinfo.tex: Likewise.
37625 * disk/fs_uuid.c: Likewise.
37626 * disk/lvm.c: Likewise.
37627 * disk/scsi.c: Likewise.
37628 * disk/ata.c: Likewise.
37629 * disk/ieee1275/ofdisk.c: Likewise.
37630 * disk/i386/pc/biosdisk.c: Likewise.
37631 * disk/host.c: Likewise.
37632 * disk/raid.c: Likewise.
37633 * disk/efi/efidisk.c: Likewise.
37634 * disk/usbms.c: Likewise.
37635 * disk/memdisk.c: Likewise.
37636 * disk/loopback.c: Likewise.
37637 * kern/powerpc/dl.c: Likewise.
37638 * kern/device.c: Likewise.
37639 * kern/dl.c: Likewise.
37640 * kern/sparc64/dl.c: Likewise.
37641 * kern/ieee1275/ieee1275.c: Likewise.
37642 * kern/term.c: Likewise.
37643 * kern/fs.c: Likewise.
37644 * kern/i386/dl.c: Likewise.
37645 * kern/i386/pc/startup.S: Likewise.
37646 * kern/i386/pc/init.c: Likewise.
37647 * kern/i386/pc/mmap.c: Likewise.
37648 * kern/i386/pc/lzo1x.S: Likewise.
37649 * kern/i386/ieee1275/init.c: Likewise.
37650 * kern/i386/realmode.S: Likewise.
37651 * kern/i386/tsc.c: Likewise.
37652 * kern/partition.c: Likewise.
37653 * kern/corecmd.c: Likewise.
37654 * kern/file.c: Likewise.
37655 * kern/efi/efi.c: Likewise.
37656 * kern/efi/init.c: Likewise.
37657 * kern/efi/mm.c: Likewise.
37658 * kern/main.c: Likewise.
37659 * kern/err.c: Likewise.
37660 * kern/env.c: Likewise.
37661 * kern/disk.c: Likewise.
37662 * kern/generic/millisleep.c: Likewise.
37663 * kern/generic/rtc_get_time_ms.c: Likewise.
37664 * kern/misc.c: Likewise.
37665 * kern/parser.c: Likewise.
37666 * genmk.rb: Likewise.
37667 * configure.ac: Likewise.
37668 * boot/i386/pc/diskboot.S: Likewise.
37669 * boot/i386/pc/pxeboot.S: Likewise.
37670 * boot/i386/pc/boot.S: Likewise.
37671 * boot/i386/pc/lnxboot.S: Likewise.
37672 * boot/i386/pc/cdboot.S: Likewise.
37673 * parttool/pcpart.c: Likewise.
37674 * video/readers/tga.c: Likewise.
37675 * video/video.c: Likewise.
37676 * video/bitmap.c: Likewise.
37677 * lib/envblk.c: Likewise.
37678 * lib/i386/setjmp.S: Likewise.
37679 * fs/xfs.c: Likewise.
37680 * fs/afs.c: Likewise.
37681 * fs/fat.c: Likewise.
37682 * fs/ntfs.c: Likewise.
37683 * fs/udf.c: Likewise.
37684 * fs/affs.c: Likewise.
37685 * fs/iso9660.c: Likewise.
37686 * fs/hfs.c: Likewise.
37687 * fs/fshelp.c: Likewise.
37688 * fs/ext2.c: Likewise.
37689 * fs/jfs.c: Likewise.
37690 * fs/reiserfs.c: Likewise.
37691 * fs/hfsplus.c: Likewise.
37692 * fs/minix.c: Likewise.
37693 * fs/cpio.c: Likewise.
37694 * fs/sfs.c: Likewise.
37695 * fs/ufs.c: Likewise.
37696 * efiemu/prepare.c: Likewise.
37697 * efiemu/loadcore_common.c: Likewise.
37698 * efiemu/runtime/efiemu.sh: Likewise.
37699 * efiemu/runtime/efiemu.S: Likewise.
37700 * efiemu/runtime/efiemu.c: Likewise.
37701 * efiemu/pnvram.c: Likewise.
37702 * efiemu/main.c: Likewise.
37703 * efiemu/i386/pc/cfgtables.c: Likewise.
37704 * efiemu/i386/loadcore64.c: Likewise.
37705 * efiemu/i386/loadcore32.c: Likewise.
37706 * efiemu/loadcore.c: Likewise.
37707 * efiemu/symbols.c: Likewise.
37708 * efiemu/mm.c: Likewise.
37709 * include/grub/autoefi.h: Likewise.
37710 * include/grub/datetime.h: Likewise.
37711 * include/grub/term.h: Likewise.
37712 * include/grub/hfs.h: Likewise.
37713 * include/grub/lvm.h: Likewise.
37714 * include/grub/i386/tsc.h: Likewise.
37715 * include/grub/i386/linux.h: Likewise.
37716 * include/grub/i386/xnu.h: Likewise.
37717 * include/grub/i386/efiemu.h: Likewise.
37718 * include/grub/i386/pc/biosdisk.h: Likewise.
37719 * include/grub/i386/pc/memory.h: Likewise.
37720 * include/grub/i386/pc/vbe.h: Likewise.
37721 * include/grub/parttool.h: Likewise.
37722 * include/grub/video.h: Likewise.
37723 * include/grub/memory.h: Likewise.
37724 * include/grub/fs.h: Likewise.
37725 * include/grub/partition.h: Likewise.
37726 * include/grub/xnu.h: Likewise.
37727 * include/grub/efi/api.h: Likewise.
37728 * include/grub/efi/pe32.h: Likewise.
37729 * include/grub/efi/memory.h: Likewise.
37730 * include/grub/multiboot.h: Likewise.
37731 * include/grub/usbdesc.h: Likewise.
37732 * include/grub/multiboot2.h: Likewise.
37733 * include/grub/acpi.h: Likewise.
37734 * include/grub/efiemu/efiemu.h: Likewise.
37735 * include/grub/disk.h: Likewise.
37736 * include/grub/ieee1275/ieee1275.h: Likewise.
37737 * include/grub/net.h: Likewise.
37738 * include/grub/machoload.h: Likewise.
37739 * include/grub/macho.h: Likewise.
37740 * include/multiboot.h: Likewise.
37741 * genmoddep.awk: Likewise.
37742 * normal/main.c: Likewise.
37743 * normal/menu_entry.c: Likewise.
37744 * normal/menu_viewer.c: Likewise.
37745 * normal/completion.c: Likewise.
37746 * normal/cmdline.c: Likewise.
37747 * normal/misc.c: Likewise.
37748 * normal/datetime.c: Likewise.
37749 * bus/usb/usbtrans.c: Likewise.
37750 * bus/usb/ohci.c: Likewise.
37751 * bus/usb/uhci.c: Likewise.
37752 * bus/usb/usb.c: Likewise.
37753 * mmap/efi/mmap.c: Likewise.
37754 * mmap/i386/pc/mmap_helper.S: Likewise.
37755 * mmap/i386/pc/mmap.c: Likewise.
37756 * mmap/i386/mmap.c: Likewise.
37757 * mmap/i386/uppermem.c: Likewise.
37758 * mmap/mmap.c: Likewise.
37759 * commands/acpi.c: Likewise.
37760 * commands/echo.c: Likewise.
37761 * commands/blocklist.c: Likewise.
37762 * commands/loadenv.c: Likewise.
37763 * commands/usbtest.c: Likewise.
37764 * commands/boot.c: Likewise.
37765 * commands/parttool.c: Likewise.
37766 * commands/search.c: Likewise.
37767 * commands/cat.c: Likewise.
37768 * commands/i386/pc/play.c: Likewise.
37769 * commands/i386/pc/drivemap.c: Likewise.
37770 * commands/i386/pc/vbeinfo.c: Likewise.
37771 * commands/i386/pc/acpi.c: Likewise.
37772 * commands/i386/pc/vbetest.c: Likewise.
37773 * commands/ls.c: Likewise.
37774 * commands/cmp.c: Likewise.
37775 * commands/test.c: Likewise.
37776 * commands/efi/acpi.c: Likewise.
37777 * commands/gptsync.c: Likewise.
37778 * commands/help.c: Likewise.
37779 * partmap/amiga.c: Likewise.
37780 * partmap/apple.c: Likewise.
37781 * partmap/acorn.c: Likewise.
37782 * partmap/pc.c: Likewise.
37783 * partmap/sun.c: Likewise.
37784 * partmap/gpt.c: Likewise.
37785 * script/sh/lexer.c: Likewise.
37786 * script/sh/function.c: Likewise.
37787 * font/font.c: Likewise.
37788 * font/font_cmd.c: Likewise.
37789 * loader/powerpc/ieee1275/linux.c: Likewise.
37790 * loader/efi/chainloader.c: Likewise.
37791 * loader/multiboot_loader.c: Likewise.
37792 * loader/macho.c: Likewise.
37793 * loader/i386/multiboot.c: Likewise.
37794 * loader/i386/linux.c: Likewise.
37795 * loader/i386/pc/linux.c: Likewise.
37796 * loader/i386/pc/multiboot2.c: Likewise.
37797 * loader/i386/pc/chainloader.c: Likewise.
37798 * loader/i386/pc/xnu.c: Likewise.
37799 * loader/i386/bsd_trampoline.S: Likewise.
37800 * loader/i386/efi/linux.c: Likewise.
37801 * loader/i386/multiboot_elfxx.c: Likewise.
37802 * loader/i386/bsd_helper.S: Likewise.
37803 * loader/i386/bsd.c: Likewise.
37804 * loader/i386/linux_trampoline.S: Likewise.
37805 * loader/i386/xnu_helper.S: Likewise.
37806 * loader/i386/xnu.c: Likewise.
37807 * loader/i386/bsd_pagetable.c: Likewise.
37808 * loader/i386/multiboot_helper.S: Likewise.
37809 * loader/xnu.c: Likewise.
37810 * loader/xnu_resume.c: Likewise.
37811 * io/gzio.c: Likewise.
37812 * term/efi/console.c: Likewise.
37813 * term/terminfo.c: Likewise.
37814 * term/ieee1275/ofconsole.c: Likewise.
37815 * term/i386/pc/serial.c: Likewise.
37816 * term/i386/pc/vesafb.c: Likewise.
37817 * term/i386/pc/vga.c: Likewise.
37818 * term/usb_keyboard.c: Likewise.
37819 * term/gfxterm.c: Likewise.
37820 * aclocal.m4: Likewise.
37821 * util/lvm.c: Likewise.
37822 * util/grub.d/30_os-prober.in: Likewise.
37823 * util/grub.d/10_hurd.in: Likewise.
37824 * util/console.c: Likewise.
37825 * util/grub-macho2img.c: Likewise.
37826 * util/grub-probe.c: Likewise.
37827 * util/hostfs.c: Likewise.
37828 * util/i386/pc/grub-mkimage.c: Likewise.
37829 * util/i386/pc/grub-setup.c: Likewise.
37830 * util/i386/efi/grub-mkimage.c: Likewise.
37831 * util/grub-mkconfig.in: Likewise.
37832 * util/raid.c: Likewise.
37833 * util/resolve.c: Likewise.
37834 * util/grub-mkdevicemap.c: Likewise.
37835 * util/grub-emu.c: Likewise.
37836 * util/getroot.c: Likewise.
37837 * util/hostdisk.c: Likewise.
37838 * util/usb.c: Likewise.
37839 * util/grub-editenv.c: Likewise.
37840 * util/misc.c: Likewise.
37841
37842 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37843
37844 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37845 `genparttoollist.sh'.
37846 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37847 Add `*.sh' to the list find searches for and change `mdate.sh'
37848 to `mdate-sh'.
37849
37850 2009-06-10 Pavel Roskin <proski@gnu.org>
37851
37852 * include/grub/multiboot2.h: Provide compatibility defines for
37853 multiboot2.h.
37854 * include/multiboot2.h: Include stdint.h only if needed, using
37855 angle brackets.
37856 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37857 grub/multiboot2.h.
37858 * loader/ieee1275/multiboot2.c: Likewise.
37859 * loader/multiboot2.c: Likewise.
37860 * loader/multiboot_loader.c: Likewise.
37861
37862 * configure.ac: Use -nostdlib when probing for the target. It
37863 should not be required to have libc for the target.
37864
37865 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37866 they fail without libc headers for the target.
37867 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37868 exports.
37869 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37870 preprocessor conditionals.
37871
37872 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37873 build system doesn't need to be aware of the tar.c internals.
37874
37875 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
37876
37877 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
37878
37879 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37880
37881 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37882 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37883
37884 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
37885
37886 * util/i386/pc/grub-install.in: Change the error message if UUIDs
37887 aren't available if ata.mod gets used.
37888
37889 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
37890
37891 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
37892 initialising controller.
37893 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37894
37895 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37896
37897 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37898 to choose between ata and biosdisk module on i386-pc.
37899
37900 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
37901
37902 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37903 Subclass and Programming Interface fields in terms of the 3 byte
37904 Class Code register.
37905 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37906
37907 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37908 interface is OHCI. Add grub_dprintf for symmetry with
37909 bus/usb/uhci.c.
37910 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37911 interface is UHCI. Add interf variable for programming
37912 interface. Print interface with class/subclass.
37913
37914 * bus/usb/ohci.c: Set interf with correct field.
37915
37916 * bus/usb/uhci.c: Remove unneeded doubled lines.
37917 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37918 Remove whitespace inside comment.
37919
37920 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37921
37922 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37923 as fallback an equivalent option without depth.
37924
37925 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37926
37927 Not fail if unable to retrieve C/H/S on LBA disks
37928
37929 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
37930 if unable to retrieve C/H/S on LBA disks
37931
37932 2009-06-08 Pavel Roskin <proski@gnu.org>
37933
37934 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37935 about aliasing.
37936
37937 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37938
37939 * Makefile.in (uninstall): Remove all $lib_DATA files.
37940
37941 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37942
37943 Bugfix: install on partitionless device
37944
37945 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37946 is a whole disk
37947
37948 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37949
37950 * Makefile.in (uninstall): Remove all $include_DATA files.
37951
37952 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37953
37954 * commands/true.c: New file. Implement the true and false commands.
37955 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37956 (true_mod_SOURCES): New variable.
37957 (true_mod_CFLAGS): Likewise.
37958 (true_mod_LDFLAGS): Likewise.
37959
37960 2009-06-05 Colin D Bennett <colin@gibibit.com>
37961
37962 Optimized font character lookup using binary search instead of linear
37963 search. Fonts now are required to have the character index ordered by
37964 code point.
37965
37966 * font/font.c (load_font_index): Verify that fonts have ordered
37967 character indices.
37968 (find_glyph): Use binary search instead of linear search to find a
37969 character in a font.
37970
37971 2009-06-05 Michael Scherer <misc@mandriva.org>
37972
37973 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37974 uses case sensitive btree.
37975 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37976 only for case insensitive filesystems.
37977
37978 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37979
37980 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37981 * conf/common.rmk (search_mod_CFLAGS): likewise
37982
37983 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37984
37985 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
37986 compensate a compiler bug
37987
37988 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37989
37990 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
37991 instead of '\b'
37992
37993 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37994
37995 Definitions for creating asm symbols with Apple's CC
37996
37997 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37998 [APPLE_CC] (VARIABLE): likewise
37999
38000 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38001
38002 Disable lnxboot.img when compiled
38003 with Apple's CC
38004
38005 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
38006 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
38007 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
38008 [! APPLE_CC] (CODE_LENG): skip
38009 [! APPLE_CC] (setup_sects): likewise
38010 [! APPLE_CC]: skip filling
38011
38012 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38013
38014 Address in trampolines based on 32-bit registers when compiled
38015 with Apple's CC
38016
38017 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
38018 for addresses
38019 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
38020
38021 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38022
38023 Avoid aliases when compiling with Apple's CC for PCBIOS machine
38024
38025 * kern/misc.c [APPLE_CC] (memcpy): new function
38026 [APPLE_CC] (memmove): likewise
38027 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
38028 (memcpy): define alias conditionally on !APPLE_CC
38029 (memset): likewise
38030 (abort): likewise
38031 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
38032 APPLE_CC are defined
38033 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
38034 (grub_assert_fail): make prototype conditional
38035
38036 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38037
38038 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
38039
38040 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
38041 grub-macho2img
38042 (CLEANFILES): add grub-macho2img
38043 (grub_macho2img_SOURCES): new variable
38044 * kern/i386/pc/startup.S (bss_start): new variable
38045 (bss_end): likewise
38046 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
38047 * util/grub-macho2img.c: new file
38048
38049 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38050
38051 Use objconv when compiling with Apple's CC
38052
38053 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
38054 (efiemu64.o): likewise
38055 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
38056 when compiling with Apple's CC
38057 (efiemu64_s.o): likewise
38058 * configure.ac: check for objconv when compiling with Apple's CC
38059 * genmk.rb: use objconv for modules when compiled with Apple's CC
38060
38061 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38062
38063 Define segment as well as section when compiling with
38064 Apple's CC
38065
38066 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
38067 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
38068 (efiemu_convert_pointer): likewise
38069 (efiemu_set_virtual_address_map): likewise
38070 (efiemu_convert_pointer): likewise
38071 (efiemu_getcrc32): likewise
38072 (init_crc32_table): likewise
38073 (reflect): likewise
38074 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
38075 (GRUB_MOD_DEP): likewise
38076
38077 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38078
38079 Allow a compilation without -mcmodel=large
38080
38081 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
38082 when compiled without -mcmodel=large
38083 (filter_memory_map): remove memory post 4 GiB when compiled
38084 without -mcmodel=large
38085 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
38086 TARGET_CFLAGS when -mcmodel=large isn't supported
38087
38088 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38089
38090 Remove nested functions in efiemu core
38091
38092 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
38093
38094 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38095
38096 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
38097
38098 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
38099 temporary storage
38100 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
38101 using Apple's CC
38102 (grub_cpu_is_tsc_supported): likewise
38103 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
38104
38105 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38106
38107 Absolute addressing through constant with Apple's cc
38108
38109 * kern/i386/pc/startup.S: Define necessary constants
38110 and address through it when using ABS with Apple's CC
38111 * boot/i386/pc/diskboot.S: likewise
38112 * boot/i386/pc/boot.S: likewise
38113 * boot/i386/pc/lnxboot.S: likewise
38114 * boot/i386/pc/cdboot.S: likewise
38115 * mmap/i386/pc/mmap_helper.S: likewise
38116 * commands/i386/pc/drivemap_int13h.S: likewise
38117
38118 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38119
38120 Check if compiler is apple cc
38121
38122 * Makefile.in (ASFLAGS): new variable
38123 (TARGET_ASFLAGS): likewise
38124 (TARGET_MODULE_FORMAT): likewise
38125 (TARGET_APPLE_CC): likewise
38126 (OBJCONV): likewise
38127 (TARGET_IMG_CFLAGS): likewise
38128 (TARGET_CPPFLAGS): add includedir
38129 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38130 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38131 Check for linker script only if compiler isn't Apple's CC
38132 (TARGET_MODULE_FORMAT): set
38133 (TARGET_APPLE_CC): likewise
38134 (TARGET_ASFLAGS): likewise
38135 (ASFLAGS): likewise
38136 Check for objcopy only if compiler isn't Apple's CC
38137 Check for BSS symbol only if compiler isn't Apple's CC
38138 * genmk.rb: adapt nm options if we use Apple's utils
38139 * aclocal.m4 (grub_apple_cc): new test
38140 (grub_apple_target_cc): likewise
38141
38142 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38143
38144 Simplify sed expressions and improve awk
38145
38146 * Makefile.in (install-local): simplify sed expression
38147 * gencmdlist.sh: likewise
38148 * genmoddep.awk: avoid adding module as a dependency of itself
38149
38150 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38151
38152 Add missing start symbols
38153
38154 * boot/i386/pc/boot.S: add start
38155 * boot/i386/pc/pxeboot.S: likewise
38156
38157 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38158
38159 Fix wrong assumptions with grub-mkimage on EFI
38160
38161 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
38162 (relocate_addresses): consider both r_addend and value at offset
38163 (make_mods_section): zerofill modinfo and header
38164 (convert_elf): write prefix here
38165
38166 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38167
38168 Use .asciz instead of .string
38169
38170 * i386/pc/diskboot.S: use .asciz instead of .string
38171 * i386/pc/boot.S: likewise
38172 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38173 (GRUB_MOD_NAME): likewise
38174
38175 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38176
38177 gfxpayload support
38178
38179 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38180 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38181 (grub_video_setup): remove
38182 (grub_video_set_mode): new prototype
38183 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38184 (vid_mode): remove
38185 (linux_vesafb_res): compile only on PCBIOS
38186 (grub_linux_boot): support gfxpayload
38187 * loader/i386/pc/xnu.c (video_hook): new function
38188 (grub_xnu_set_video): support gfxpayload
38189 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38190 (DEFAULT_VIDEO_HEIGHT): likewise
38191 (DEFAULT_VIDEO_FLAGS): likewise
38192 (DEFAULT_VIDEO_MODE): new definition
38193 (video_hook): new function
38194 (grub_gfxterm_init): use grub_video_set_mode
38195 * util/grub.d/30_os-prober.in: remove explicit modesetting before
38196 loading xnu
38197 * video/video.c (grub_video_setup): removed
38198 (grub_video_set_mode): new function based on grub_gfxterm_init and
38199 grub_video_setup
38200
38201 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38202
38203 Avoid calling biosdisk in drivemap
38204
38205 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38206 (revparse_biosdisk): likewise
38207 (list_mappings): derive name from id directly
38208 (grub_cmd_drivemap): use tryparse_diskstring
38209
38210 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38211
38212 Script fixes
38213
38214 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38215 (grub_lexer_param): add tokenonhold
38216 (grub_script_create_cmdline): remove cmdline. All callers updated
38217 (grub_script_function_create): make functionname
38218 grub_script_arg. All callers updated
38219 (grub_script_execute_argument_to_string): new prototype
38220 * kern/parser.c (state_transitions): reorder
38221 (grub_parser_cmdline_state): fix a bug and make more compact
38222 * script/sh/execute.c (grub_script_execute_argument_to_string):
38223 make global
38224 (grub_script_execute_cmdline): use new format
38225 * script/sh/function.c (grub_script_function_create): make functionname
38226 grub_script_arg. All callers updated
38227 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
38228 (grub_script_yylex): remove
38229 (grub_script_yylex2): renamed to ...
38230 (grub_script_yylex): ...renamed
38231 parse the expressions like a${b}c
38232 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38233 (GRUB_PARSER_TOKEN_VAR): remove
38234 (GRUB_PARSER_TOKEN_NAME): likewise
38235 ("if"): declare as typeless
38236 ("while"): likewise
38237 ("function"): likewise
38238 ("else"): likewise
38239 ("then"): likewise
38240 ("fi"): likewise
38241 (text): remove
38242 (argument): likewise
38243 (script): accept empty scripts and make exit on error
38244 (arguments): use GRUB_PARSER_TOKEN_ARG
38245 (function): likewise
38246 (command): move error handling to script
38247 (menuentry): move grub_script_lexer_ref before
38248 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
38249 argument. All callers updated
38250
38251 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38252
38253 Prevent GRUB from probing floppies during boot.
38254
38255 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38256 * commands/search.c (options): Add --no-floppy.
38257 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38258 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38259 --no-floppy when searching for UUIDs.
38260
38261 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38262
38263 Simplify the code duplication in commands/search.c.
38264
38265 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38266 (search_fs): ... this. Update all users.
38267
38268 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
38269
38270 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38271
38272 2009-05-28 Pavel Roskin <proski@gnu.org>
38273
38274 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38275 Remove the original symlink explicitly.
38276
38277 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38278 just one slash. That's how grub_fshelp_find_file() does it.
38279
38280 2009-05-26 Pavel Roskin <proski@gnu.org>
38281
38282 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38283 to `str'.
38284
38285 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38286 possibly unused.
38287
38288 2009-05-25 Christian Franke <franke@computer.org>
38289
38290 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38291 register.
38292 (grub_atapi_identify): Add wait after drive select.
38293 (grub_ata_identify): Do more strict status register check before
38294 calling grub_atapi_identify (). Suppress error message if status
38295 register is 0x00 after command failure. Add status register
38296 check after PIO read to avoid bogus identify due to stuck DRQ.
38297 Thanks to Pavel Roskin for testing.
38298 (grub_device_initialize): Remove unsafe status register check.
38299 Thanks to 'phcoder' for problem report and patch.
38300 Prevent sign extension in debug message.
38301
38302 2009-05-23 Colin D Bennett <colin@gibibit.com>
38303
38304 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38305 definition file, and functions defined in `normal/menu.c' have had
38306 their prototypes moved to `include/grub/menu.h' for consistency.
38307
38308 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38309 from normal.h.
38310 (grub_menu_get_entry): Likewise.
38311 (grub_menu_get_timeout): Likewise.
38312 (grub_menu_set_timeout): Likewise.
38313 (grub_menu_execute_entry): Likewise.
38314 (grub_menu_execute_with_fallback): Likewise.
38315 (grub_menu_entry_run): Likewise.
38316
38317 * include/grub/normal.h: Re-ordered and grouped function
38318 prototypes by file that the function is defined in.
38319 (grub_menu_execute_callback): Removed; moved to menu.h.
38320 (grub_menu_get_entry): Likewise.
38321 (grub_menu_get_timeout): Likewise.
38322 (grub_menu_set_timeout): Likewise.
38323 (grub_menu_execute_entry): Likewise.
38324 (grub_menu_execute_with_fallback): Likewise.
38325 (grub_menu_entry_run): Likewise.
38326 (grub_menu_addentry): Renamed from this ...
38327 (grub_normal_add_menu_entry): ... to this.
38328
38329 * normal/main.c (grub_menu_addentry): Renamed from this ...
38330 (grub_normal_add_menu_entry): ... to this.
38331
38332 * script/sh/execute.c (grub_script_execute_menuentry): Update
38333 reference to renamed grub_menu_addentry function.
38334
38335 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
38336
38337 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38338
38339 2009-05-22 Pavel Roskin <proski@gnu.org>
38340
38341 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38342 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38343 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38344 compiling for the i386 targets, but not for the utilities.
38345
38346 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38347 to grub_uint8_t.
38348 (grub_root_drive): Likewise.
38349 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38350 remove alignment.
38351 (grub_root_drive): Change size to byte.
38352 (grub_start_addr): Remove.
38353 (grub_end_addr): Likewise.
38354 (grub_apm_bios_info): Likewise.
38355
38356 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
38357
38358 * normal/i386: Remove.
38359 * normal/powerpc: Likewise.
38360 * normal/sparc64: Likewise.
38361 * normal/x86_64: Likewise.
38362
38363 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38364
38365 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
38366 * loader/i386/linux_trampoline.S: Fix indentation
38367 * loader/i386/xnu_helper.S: Likewise
38368
38369 2009-05-18 Colin D Bennett <colin@gibibit.com>
38370
38371 Display error messages when parsing a Lua statement fails.
38372 Previously, executing a syntactically invalid statement like
38373 ")foo" or "bar;" would silently fail.
38374
38375 * script/lua/grub_main.c (handle_lua_error): New function.
38376 (grub_lua_parse_line): Improved reporting of Lua parser and
38377 execution errors.
38378
38379 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38380
38381 Remove -Werror which causes build to fail on some systems
38382
38383 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38384 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38385 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
38386
38387 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38388
38389 trampoline for linux on 64-bit platform
38390
38391 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38392 loader/i386/efi/linux_trampoline.S
38393 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
38394 declaration
38395 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38396 here
38397 * loader/i386/linux_trampoline.S: moved here
38398 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38399 trampoline
38400 (jumpvector): removed
38401 (grub_linux_trampoline_start): new declaration
38402 (grub_linux_trampoline_end): likewise
38403 (grub_linux_boot): use trampoline when on 64-bit platform
38404 * loader/i386/linux.c: likewise
38405
38406 2009-05-16 Pavel Roskin <proski@gnu.org>
38407
38408 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38409 const to avoid a warning.
38410 (grub_lua_setenv): Likewise.
38411 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38412 lmsg to fix a warning.
38413
38414 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38415
38416 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
38417 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38418 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38419 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38420 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38421 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38422 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38423 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38424
38425 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38426
38427 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38428
38429 2009-05-16 Bean <bean123ch@gmail.com>
38430
38431 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38432 (lua_mod_SOURCES): New variable.
38433 (lua_mod_CFLAGS): Likewise.
38434 (lua_mod_LDFLAGS): Likewise.
38435
38436 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38437 (setjmp_mod_SOURCES): New variable.
38438 (setjmp_mod_CFLAGS): Likewise.
38439 (setjmp_LDFLAGS): Likewise.
38440
38441 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38442 (setjmp_mod_SOURCES): New variable.
38443 (setjmp_mod_CFLAGS): Likewise.
38444 (setjmp_LDFLAGS): Likewise.
38445
38446 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38447 (setjmp_mod_SOURCES): New variable.
38448 (setjmp_mod_CFLAGS): Likewise.
38449 (setjmp_LDFLAGS): Likewise.
38450
38451 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38452 (setjmp_mod_SOURCES): New variable.
38453 (setjmp_mod_CFLAGS): Likewise.
38454 (setjmp_LDFLAGS): Likewise.
38455
38456 * normal/i386/setjmp.S: Moved from here ...
38457 * lib/i386/setjmp.S: ... Moved here
38458 * normal/x86_64/setjmp.S: Moved from here ...
38459 * lib/x86_64/setjmp.S: ... Moved here
38460 * normal/powerpc/setjmp.S: Moved from here ...
38461 * lib/powerpc/setjmp.S: ... Moved here
38462 * normal/sparc64/setjmp.S: Moved from here ...
38463 * lib/sparc64/setjmp.S: ... Moved here
38464
38465 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38466 returns_twice in mingw.
38467
38468 * script/lua/grub_lib.c: New file.
38469 * script/lua/grub_lib.h: Likewise.
38470 * script/lua/grub_lua.h: Likewise.
38471 * script/lua/grub_main.c: Likewise.
38472 * script/lua/lapi.c: Likewise.
38473 * script/lua/lapi.h: Likewise.
38474 * script/lua/lauxlib.c: Likewise.
38475 * script/lua/lauxlib.h: Likewise.
38476 * script/lua/lbaselib.c: Likewise.
38477 * script/lua/lcode.c: Likewise.
38478 * script/lua/lcode.h: Likewise.
38479 * script/lua/ldblib.c: Likewise.
38480 * script/lua/ldebug.c: Likewise.
38481 * script/lua/ldebug.h: Likewise.
38482 * script/lua/ldo.c: Likewise.
38483 * script/lua/ldo.h: Likewise.
38484 * script/lua/ldump.c: Likewise.
38485 * script/lua/lfunc.c: Likewise.
38486 * script/lua/lfunc.h: Likewise.
38487 * script/lua/lgc.c: Likewise.
38488 * script/lua/lgc.h: Likewise.
38489 * script/lua/linit.c: Likewise.
38490 * script/lua/liolib.c: Likewise.
38491 * script/lua/llex.c: Likewise.
38492 * script/lua/llex.h: Likewise.
38493 * script/lua/llimits.h: Likewise.
38494 * script/lua/lmathlib.c: Likewise.
38495 * script/lua/lmem.c: Likewise.
38496 * script/lua/lmem.h: Likewise.
38497 * script/lua/loadlib.c: Likewise.
38498 * script/lua/lobject.c: Likewise.
38499 * script/lua/lobject.h: Likewise.
38500 * script/lua/lopcodes.c: Likewise.
38501 * script/lua/lopcodes.h: Likewise.
38502 * script/lua/loslib.c: Likewise.
38503 * script/lua/lparser.c: Likewise.
38504 * script/lua/lparser.h: Likewise.
38505 * script/lua/lstate.c: Likewise.
38506 * script/lua/lstate.h: Likewise.
38507 * script/lua/lstring.c: Likewise.
38508 * script/lua/lstring.h: Likewise.
38509 * script/lua/lstrlib.c: Likewise.
38510 * script/lua/ltable.c: Likewise.
38511 * script/lua/ltable.h: Likewise.
38512 * script/lua/ltablib.c: Likewise.
38513 * script/lua/ltm.c: Likewise.
38514 * script/lua/ltm.h: Likewise.
38515 * script/lua/lua.h: Likewise.
38516 * script/lua/luaconf.h: Likewise.
38517 * script/lua/lualib.h: Likewise.
38518 * script/lua/lundump.c: Likewise.
38519 * script/lua/lundump.h: Likewise.
38520 * script/lua/lvm.c: Likewise.
38521 * script/lua/lvm.h: Likewise.
38522 * script/lua/lzio.c: Likewise.
38523 * script/lua/lzio.h: Likewise.
38524
38525 2009-05-16 Bean <bean123ch@gmail.com>
38526
38527 * include/grub/kernel.h (grub_module_header_types): Add type
38528 OBJ_TYPE_CONFIG.
38529
38530 * kern/main.c (grub_load_config): New function.
38531 (grub_main): Call grub_load_config to read boot config.
38532
38533 * grub-mkimage (generate_image): New parameter config_path.
38534 (options): New option --config.
38535 (main): Parse --config option, and pass it to generate_image.
38536
38537 2009-05-14 Christian Franke <franke@computer.org>
38538
38539 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38540 This fixes build on Cygwin.
38541
38542 2009-05-14 Pavel Roskin <proski@gnu.org>
38543
38544 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38545 jump. This saves two bytes, so the typical case of 2 swapped
38546 drives would fit 32 bytes.
38547
38548 2009-05-13 Pavel Roskin <proski@gnu.org>
38549
38550 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38551 grub_uint32_t to avoid a warning.
38552
38553 * loader/i386/linux.c (allocate_pages): When assigning
38554 real_mode_mem, cast through grub_size_t to fix a warning. The
38555 code already makes sure that the value would fit a pointer.
38556 (grub_linux_setup_video): Cast render_target->data to
38557 grub_size_t to fix a warning.
38558
38559 2009-05-13 Javier Martín <lordhabbit@gmail.com>
38560
38561 * commands/i386/pc/drivemap.c: New file - implement drivemap
38562 command.
38563 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38564 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38565
38566 2009-05-13 Pavel Roskin <proski@gnu.org>
38567
38568 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38569 embedding_area_exists.
38570
38571 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38572
38573 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38574 it easier to understand / work with.
38575 Improve warning messages for cases where there's no embedding area,
38576 or when it is too small (or core.img too large).
38577
38578 2009-05-13 Pavel Roskin <proski@gnu.org>
38579
38580 * loader/i386/pc/multiboot2.c: Add necessary includes for
38581 grub_multiboot2_real_boot().
38582
38583 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38584 PX record is always little-endian. We only need the lower 2
38585 bytes of the mode.
38586
38587 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38588 facilitate code reuse.
38589 (grub_cpio_mount): Use "struct head", not a char buffer. This
38590 fixes a warning reported by gcc 4.4.
38591
38592 * kernel/disk.c (grub_disk_read): Use void pointer for the
38593 buffer.
38594 (grub_disk_write): Use const void pointer for the buffer.
38595 Adjust all callers. Remove unnecessary casts.
38596
38597 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38598
38599 * util/i386/pc/grub-install.in: Update copyright year.
38600
38601 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38602
38603 gptsync
38604
38605 * commands/gptsync.c: new file
38606 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38607 (gptsync_mod_SOURCES): new variable
38608 (gptsync_mod_CFLAGS): likewise
38609 (gptsync_mod_LDFLAGS): likewise
38610 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
38611 new definition
38612 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38613 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38614 * conf/i386-ieee1275.rmk: likewise
38615 * conf/i386-pc.rmk: likewise
38616 * conf/powerpc-ieee1275.rmk: likewise
38617
38618 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38619
38620 Fixed grub-emu
38621
38622 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38623 (grub_dl_ref): likewise
38624
38625 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38626
38627 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38628 split in two functions (one for msdos and one for gpt).
38629
38630 2009-05-08 Pavel Roskin <proski@gnu.org>
38631
38632 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38633 not modified.
38634
38635 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38636 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38637 Initialize them with -1. Add sanity check for bad1. Eliminate
38638 nerr variable.
38639
38640 2009-05-08 David S. Miller <davem@davemloft.net>
38641
38642 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38643
38644 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38645
38646 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
38647 existence.
38648
38649 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
38650
38651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38652 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
38653
38654 2009-05-05 David S. Miller <davem@davemloft.net>
38655
38656 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38657
38658 2009-05-05 Pavel Roskin <proski@gnu.org>
38659
38660 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38661 of grub_dl_ref() and grub_dl_unref().
38662 * commands/parttool.c: Remove preprocessor conditionals around
38663 grub_dl_ref() and grub_dl_unref().
38664 * fs/affs.c: Likewise.
38665 * fs/afs.c: Likewise.
38666 * fs/cpio.c: Likewise.
38667 * fs/ext2.c: Likewise.
38668 * fs/fat.c: Likewise.
38669 * fs/hfs.c: Likewise.
38670 * fs/hfsplus.c: Likewise.
38671 * fs/iso9660.c: Likewise.
38672 * fs/jfs.c: Likewise.
38673 * fs/minix.c: Likewise.
38674 * fs/ntfs.c: Likewise.
38675 * fs/reiserfs.c: Likewise.
38676 * fs/sfs.c: Likewise.
38677 * fs/udf.c: Likewise.
38678 * fs/ufs.c: Likewise.
38679 * fs/xfs.c: Likewise.
38680 * include/grub/dl.h: Likewise.
38681 * loader/xnu.c: Likewise.
38682
38683 2009-05-04 Pavel Roskin <proski@gnu.org>
38684
38685 * commands/acpi.c: Remove unused variable my_mod.
38686 * partmap/amiga.c: Likewise.
38687 * partmap/apple.c: Likewise.
38688 * partmap/gpt.c: Likewise.
38689 * partmap/pc.c: Likewise.
38690 * partmap/sun.c: Likewise.
38691 * term/gfxterm.c: Likewise.
38692 * term/i386/pc/vesafb.c: Likewise.
38693 * term/i386/pc/vga.c: Likewise.
38694
38695 2009-05-04 David S. Miller <davem@davemloft.net>
38696
38697 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38698 pointer args to grub_ieee1275_get_property().
38699
38700 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38701
38702 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38703 devices, and do not traverse down under controller nodes.
38704
38705 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38706 (grub_ofdisk_open): Use it to un-escape "," characters.
38707 * kern/disk.c (find_part_sep): New.
38708 (grub_disk_open): Use it to find the first non-escaped ','
38709 character in the disk name.
38710 * util/ieee1275/devicemap.c (escape_of_path): New.
38711 (grub_util_emit_devicemap_entry): Use it.
38712 * util/sparc64/ieee1275/grub-install.in: Update script to
38713 strip partition specifiers properly by not triggering on
38714 '\' escaped ',' characters.
38715
38716 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38717
38718 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38719 to 0x300.
38720 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38721 resolutions.
38722 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38723 on documentation from Wikipedia).
38724
38725 2009-05-04 Pavel Roskin <proski@gnu.org>
38726
38727 * disk/ata.c: Spelling fixes.
38728 * disk/raid.c: Likewise.
38729 * disk/usbms.c: Likewise.
38730 * disk/dmraid_nvidia.c: Likewise.
38731 * kern/ieee1275/openfw.c: Likewise.
38732 * kern/ieee1275/init.c: Likewise.
38733 * kern/ieee1275/cmain.c: Likewise.
38734 * boot/i386/pc/cdboot.S: Likewise.
38735 * video/readers/png.c: Likewise.
38736 * video/i386/pc/vbe.c: Likewise.
38737 * fs/udf.c: Likewise.
38738 * fs/hfs.c: Likewise.
38739 * fs/reiserfs.c: Likewise.
38740 * efiemu/runtime/efiemu.c: Likewise.
38741 * efiemu/main.c: Likewise.
38742 * efiemu/mm.c: Likewise.
38743 * include/grub/elf.h: Likewise.
38744 * include/grub/xnu.h: Likewise.
38745 * include/grub/usbdesc.h: Likewise.
38746 * include/grub/usb.h: Likewise.
38747 * include/grub/script_sh.h: Likewise.
38748 * include/grub/lib/LzmaEnc.h: Likewise.
38749 * include/grub/efiemu/efiemu.h: Likewise.
38750 * include/grub/command.h: Likewise.
38751 * normal/menu.c: Likewise.
38752 * normal/main.c: Likewise.
38753 * normal/datetime.c: Likewise.
38754 * bus/usb/uhci.c: Likewise.
38755 * mmap/i386/uppermem.c: Likewise.
38756 * mmap/mmap.c: Likewise.
38757 * commands/acpi.c: Likewise.
38758 * commands/test.c: Likewise.
38759 * partmap/apple.c: Likewise.
38760 * font/font.c: Likewise.
38761 * loader/sparc64/ieee1275/linux.c: Likewise.
38762 * loader/macho.c: Likewise.
38763 * loader/i386/bsd_trampoline.S: Likewise.
38764 * loader/i386/bsd.c: Likewise.
38765 * loader/xnu.c: Likewise.
38766 * term/i386/pc/vesafb.c: Likewise.
38767 * term/usb_keyboard.c: Likewise.
38768 * util/resolve.c: Likewise.
38769 * util/getroot.c: Likewise.
38770
38771 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38772
38773 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38774
38775 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38776
38777 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38778 build error.
38779
38780 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38781
38782 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38783 parameter only available on BIOS.
38784
38785 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38786
38787 Removed wrong semicolon in declaration
38788
38789 * grub/misc.h (grub_dprintf): remove semicolon
38790
38791 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38792
38793 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38794 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38795 is done by grub_cmd_linux() now).
38796 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38797 restore video to text mode.
38798 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38799 indicates lack of "vga=" parameter. "vga=0" is mapped to
38800 `GRUB_LINUX_VID_MODE_NORMAL'.
38801
38802 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38803
38804 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38805 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38806 and `normal/script.c'. Add `kern/rescue_reader.c',
38807 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
38808 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38809 `grub_script.tab.c'.
38810
38811 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38812 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38814 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38815 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38816
38817 * Makefile.in: Remove duplicated 2008 in Copyright line.
38818
38819 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38820
38821 * util/misc.c (grub_util_warn): New function. Emits a warning
38822 unconditionally.
38823 * include/grub/util/misc.h (grub_util_warn): New declaration.
38824
38825 * util/i386/pc/grub-install.in: Understand --force and pass it down
38826 to grub-setup.
38827
38828 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38829 down to setup().
38830 (setup): Improve error messages and add warnings when requested to
38831 install in odd layouts. Refuse to install using blocklists unless
38832 --force was set.
38833
38834 2009-05-04 martin f. krafft <madduck@madduck.net>
38835
38836 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38837
38838 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38839
38840 Updated copyright year
38841
38842 * fs/hfsplus.c: updated copyright year
38843
38844 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38845
38846 HFS+ UUID
38847
38848 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
38849 in the space previously used by unused3
38850 (grub_hfsplus_uuid): new function
38851 (grub_hfsplus_fs): added uuid field
38852
38853 2009-05-03 Pavel Roskin <proski@gnu.org>
38854
38855 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38856 suppress warnings. It's no longer needed.
38857 * disk/host.c: Likewise.
38858 * disk/ata_pthru.c: Likewise.
38859 * disk/loopback.c: Likewise.
38860 * hook/datehook.c: Likewise.
38861 * parttool/pcpart.c: Likewise.
38862 * fs/i386/pc/pxe.c: Likewise.
38863 * fs/ntfscomp.c: Likewise.
38864 * efiemu/main.c: Likewise.
38865 * mmap/mmap.c: Likewise.
38866 * commands/crc.c: Likewise.
38867 * commands/hexdump.c: Likewise.
38868 * commands/hdparm.c: Likewise.
38869 * commands/acpi.c: Likewise.
38870 * commands/echo.c: Likewise.
38871 * commands/minicmd.c: Likewise.
38872 * commands/blocklist.c: Likewise.
38873 * commands/memrw.c: Likewise.
38874 * commands/loadenv.c: Likewise.
38875 * commands/usbtest.c: Likewise.
38876 * commands/lsmmap.c: Likewise.
38877 * commands/boot.c: Likewise.
38878 * commands/parttool.c: Likewise.
38879 * commands/configfile.c: Likewise.
38880 * commands/search.c: Likewise.
38881 * commands/ieee1275/suspend.c: Likewise.
38882 * commands/cat.c: Likewise.
38883 * commands/i386/pc/pxecmd.c: Likewise.
38884 * commands/i386/pc/play.c: Likewise.
38885 * commands/i386/pc/halt.c: Likewise.
38886 * commands/i386/pc/vbeinfo.c: Likewise.
38887 * commands/i386/pc/vbetest.c: Likewise.
38888 * commands/lspci.c: Likewise.
38889 * commands/date.c: Likewise.
38890 * commands/handler.c: Likewise.
38891 * commands/ls.c: Likewise.
38892 * commands/test.c: Likewise.
38893 * commands/cmp.c: Likewise.
38894 * commands/efi/loadbios.c: Likewise.
38895 * commands/efi/fixvideo.c: Likewise.
38896 * commands/halt.c: Likewise.
38897 * commands/help.c: Likewise.
38898 * commands/reboot.c: Likewise.
38899 * hello/hello.c: Likewise.
38900 * script/sh/main.c: Likewise.
38901 * loader/xnu.c: Likewise.
38902 * term/terminfo.c: Likewise.
38903 * term/i386/pc/serial.c: Likewise.
38904 * term/usb_keyboard.c: Likewise.
38905
38906 2009-05-03 David S. Miller <davem@davemloft.net>
38907
38908 * normal/menu.c: Include grub/parser.h
38909
38910 2009-05-03 Pavel Roskin <proski@gnu.org>
38911
38912 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38913 not char*.
38914 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38915 Suggested by Javier Martín <lordhabbit@gmail.com>
38916
38917 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38918 efiemu??.o doesn't exist.
38919 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38920 copying.
38921
38922 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
38923
38924 FreeBSD 64-bit support
38925
38926 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
38927 and loader/i386/bsd_trampoline.S
38928 (bsd_mod_ASFLAGS): new variable
38929 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38930 (FREEBSD_MODTYPE_KERNEL64): likewise
38931 (grub_bsd64_trampoline_start): likewise
38932 (grub_bsd64_trampoline_end): likewise
38933 (grub_bsd64_trampoline_selfjump): likewise
38934 (grub_bsd64_trampoline_gdt): likewise
38935 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38936 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38937 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38938 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
38939 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
38940 of "attrib" member
38941 * loader/i386/bsd_pagetable.c: new file
38942 * loader/i386/bsd_trampoline.S: likewise
38943 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38944 (ALIGN_VAR): likewise
38945 (entry_hi): new variable
38946 (kern_end_mdofs): likewise
38947 (is_64bit): likewise
38948 (grub_freebsd_add_meta): use ALIGN_VAR
38949 (grub_e820_mmap): new declaration
38950 (grub_freebsd_add_mmap): new function
38951 (grub_freebsd_add_meta_module): support 64 bit kernels
38952 (grub_freebsd_list_modules): use ALIGN_VAR
38953 (gdt_descriptor): new declaration
38954 (grub_freebsd_boot): support 64 bit kernels
38955 (grub_bsd_elf64_hook): new function
38956 (grub_bsd_load_elf): support elf64
38957
38958 2009-05-03 Bean <bean123ch@gmail.com>
38959
38960 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38961 after we get the result of if statement.
38962
38963 2009-05-03 Bean <bean123ch@gmail.com>
38964
38965 * Makefile.in (enable_efiemu): New variable.
38966
38967 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38968 set.
38969 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38970 path.
38971 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38972 path, add -mno-red-zone option.
38973 (efiemu64_s.o): Likewise.
38974 (efiemu64.o): Use macro $^ for source file.
38975
38976 * configure.ac (--enable-efiemu): New option.
38977
38978 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38979
38980 xnu support
38981
38982 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38983 (pkglib_MODULES): add xnu.mod
38984 (xnu_mod_SOURCES): new variable
38985 (xnu_mod_CFLAGS): likewise
38986 (xnu_mod_LDFLAGS): likewise
38987 (xnu_mod_ASFLAGS): likewise
38988 * conf/i386-pc.rmk: likewise
38989 * conf/x86_64-efi.rmk: likewise
38990 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
38991 new declaration
38992 * include/grub/i386/macho.h: new file
38993 * include/grub/i386/xnu.h: likewise
38994 * include/grub/macho.h: likewise
38995 * include/grub/machoload.h: likewise
38996 * include/grub/x86_64/macho.h: likewise
38997 * include/grub/x86_64/xnu.h: likewise
38998 * include/grub/xnu.h: likewise
38999 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
39000 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
39001 * loader/i386/efi/xnu.c: new file
39002 * loader/i386/pc/xnu.c: likewise
39003 * loader/i386/xnu.c: likewise
39004 * loader/i386/xnu_helper.S: likewise
39005 * loader/macho.c: likewise
39006 * loader/xnu.c: likewise
39007 * loader/xnu_resume.c: likewise
39008 * util/grub-dumpdevtree: likewise
39009 * include/grub/i386/pit.h: include grub/err.h
39010 (grub_pit_wait): export
39011 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
39012
39013 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39014
39015 Efiemu
39016
39017 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
39018 _linux_efi, linux_efi.
39019 new files in grub-emu
39020 new targets efiemu32.o and efiemu64.o
39021 * loader/linux_normal_efiemu.c: likewise
39022 * loader/i386/efi/linux.c: added preliminary efiemu support
39023 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
39024 files to copy
39025 * include/grub/autoefi.h: new file
39026 * include/grub/i386/efiemu.h: likewise
39027 * include/grub/i386/pc/efiemu.h: likewise
39028 * include/grub/efi/api.h: add LL suffix when necessary
39029 new definitions relating to tables
39030 * include/grub/efiemu/efiemu.h: new file
39031 * include/grub/efiemu/runtime.h: likewise
39032 * efiemu/prepare.c: likewise
39033 * efiemu/loadcore_common.c: likewise
39034 * efiemu/loadcore64.c: likewise
39035 * efiemu/runtime/efiemu.sh: likewise
39036 * efiemu/runtime/efiemu.S: likewise
39037 * efiemu/runtime/efiemu.c: likewise
39038 * efiemu/runtime/config.h: likewise
39039 * efiemu/prepare32.c: likewise
39040 * efiemu/main.c: likewise
39041 * efiemu/modules/pnvram.c: likewise
39042 * efiemu/modules/i386: likewise
39043 * efiemu/modules/i386/pc: likewise
39044 * efiemu/modules/acpi.c: likewise
39045 * efiemu/i386/pc/cfgtables.c: likewise
39046 * efiemu/i386/loadcore64.c: likewise
39047 * efiemu/i386/loadcore32.c: likewise
39048 * efiemu/prepare64.c: likewise
39049 * efiemu/loadcore.c: likewise
39050 * efiemu/symbols.c: likewise
39051 * efiemu/mm.c: likewise
39052 * efiemu/loadcore32.c: likewise
39053
39054 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39055
39056 ACPI spoofing
39057
39058 * commands/acpi.c: new file
39059 * commands/i386/pc/acpi.c: likewise
39060 * commands/efi/acpi.c: likewise
39061 * include/grub/acpi.h: likewise
39062 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
39063 (acpi_mod_SOURCES): new variable
39064 (acpi_mod_CFLAGS): likewise
39065 (acpi_mod_LDFLAGS): likewise
39066 * conf/i386-efi.rmk: likewise
39067 * conf/x86_64-efi.rmk: likewise
39068
39069 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39070
39071 Missing part from mmap patch
39072
39073 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
39074 (grub_mmap_unregister)
39075 (grub_mmap_free_and_unregister): use grub_mmap_register
39076
39077 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39078
39079 Mmap services
39080
39081 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
39082 * loader/i386/linux.c (find_mmap_size): likewise
39083 (allocate_pages): likewise
39084 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
39085 (grub_fill_multiboot_mmap): likewise
39086 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
39087 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
39088 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
39089 (OPENBSD_MMAP_RESERVED): likewise
39090 * include/grub/i386/pc/memory.h: include grub/memory.h
39091 (grub_lower_mem): removed
39092 (grub_upper_mem): likewise
39093 (GRUB_MACHINE_MEMORY_ACPI): new definition
39094 (GRUB_MACHINE_MEMORY_NVS): likewise
39095 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
39096 (GRUB_MACHINE_MEMORY_HOLE): likewise
39097 (grub_machine_mmap_register): likewise
39098 (grub_machine_mmap_unregister): likewise
39099 (grub_machine_get_upper): likewise
39100 (grub_machine_get_lower): likewise
39101 (grub_machine_get_post64): likewise
39102 * include/grub/i386/efi/memory.h: new file
39103 * include/grub/x86_64/efi/memory.h: likewise
39104 * include/grub/efi/memory.h: likewise
39105 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39106 (mmap_mod_SOURCES): new variable
39107 (mmap_mod_LDFLAGS): likewise
39108 (mmap_mod_ASFLAGS): likewise
39109 * conf/i386-coreboot.rmk: likewise
39110 * conf/i386-ieee1275.rmk: likewise
39111 * conf/i386-efi.rmk: likewise
39112 * conf/x86_64-efi.rmk: likewise
39113 * include/grub/types.h (UINT_TO_PTR): new macro
39114 (PTR_TO_UINT32): likewise
39115 (PTR_TO_UINT64): likewise
39116 * include/grub/memory.h: new file
39117 * mmap/i386/pc/mmap.c: likewise
39118 * mmap/i386/pc/mmap_helper.S: likewise
39119 * mmap/i386/uppermem.c: likewise
39120 * mmap/mmap.c: likewise
39121 * mmap/efi/mmap.c: likewise
39122 * kern/i386/coreboot/init.c (grub_machine_init): don't use
39123 grub_upper_mem
39124 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39125 (grub_upper_mem): likewise
39126 (grub_machine_init): don't use grub_upper_mem,
39127 make grub_lower_mem local
39128 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39129 grub_mmap_iterate and grub_mmap_get_upper
39130 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39131
39132 2009-05-02 Bean <bean123ch@gmail.com>
39133
39134 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39135 script/sh/parser.y.
39136 (pkglib_MODULES): Add normal.mod and sh.mod.
39137 (normal_SOURCES): New variable.
39138 (normal_mod_CFLAGS): Likewise.
39139 (normal_mod_LDFLAGS): Likewise.
39140 (sh_mod_SOURCES): Likewise.
39141 (sh_mod_CFLAGS): Likewise.
39142 (sh_mod_LDFLAGS): Likewise.
39143
39144 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39145 script/sh/lexer.c_DEPENDENCIES.
39146 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39147 kern/rescue_reader.c and kern/rescue_parser.c.
39148 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39149 (grub_emu_SOURCES): Change source files.
39150 (pkglib_MODULES): Remove normal.mod.
39151 (normal_SOURCES): Removed.
39152 (normal_mod_CFLAGS): Likewise.
39153 (normal_mod_LDFLAGS): Likewise.
39154 * conf/i386-coreboot.rmk: Likewise.
39155 * conf/i386-efi.rmk: Likewise.
39156 * conf/i386-ieee1276.rmk: Likewise.
39157 * conf/powerpc-ieee1275.rmk: Likewise.
39158 * conf/sparc64-ieee1275.rmk: Likewise.
39159 * conf/x86_64-efi.rmk: Likewise.
39160
39161 * include/grub/command.h (grub_command_execute): New inline function.
39162
39163 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39164
39165 * include/grub/normal.h: Remove <grub/setjmp.h>.
39166 (grub_fs_module_list): Moved to normal/autofs.c.
39167 (grub_exit_env): Removed.
39168 (grub_command_execute): Likewise.
39169 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39170 parameter script.
39171 (read_command_list): New function declaration.
39172 (read_fs_list): Likewise.
39173
39174 * include/parser.h: Include <grub/reader.h>.
39175 (grub_parser_split_cmdline): Change type of getline parameter.
39176 (grub_parser): New structure.
39177 (grub_parser_class): New variable.
39178 (grub_parser_execute): New function declaration.
39179 (grub_register_rescue_parser): Likewise.
39180 (grub_parser_register): New inline function.
39181 (grub_parser_unregister): Likewise.
39182 (grub_parser_get_current): Likewise.
39183 (grub_parser_set_current): Likewise.
39184
39185 * include/grub/reader.h: New file.
39186 * kern/reader.c: Likewise.
39187 * kern/rescue_parser.c: Likewise.
39188 * kern/rescue_reader.c: Likewise.
39189 * normal/autofs.c: Likewise.
39190 * normal/dyncmd.c: Likewise.
39191
39192 * include/grub/rescue.h: Removed.
39193 * normal/command.h: Likewise.
39194
39195 * include/grub/script.h: Moved to ...
39196 * include/grub/script_sh.h: ... Moved here.
39197 * normal/execute.c: Moved to ...
39198 * script/sh/execute.c: ... Moved here.
39199 * normal/function.c: Moved to ...
39200 * script/sh/function.c: ... Moved here.
39201 * normal/lexer.c: Moved to ...
39202 * script/sh/lexer.c: ... Moved here.
39203 * normal/parser.y: Moved to ...
39204 * script/sh/parser.y: ... Moved here.
39205 * normal/script.c: Moved to ...
39206 * script/sh/script.c: ... Moved here.
39207
39208 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39209 <grub/reader.h>.
39210 (grub_exit_env): Removed.
39211 (fs_module_list): Moved to normal/autofs.c.
39212 (grub_file_getline): Don't handle comment here.
39213 (free_menu): Skip removed field entry->commands.
39214 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39215 script parameter.
39216 (read_config_file): Removed nested parameter, change getline function.
39217 (grub_enter_normal_mode): Removed.
39218 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39219 (read_command_list): Likewise.
39220 (autoload_fs_module): Moved to normal/autofs.c.
39221 (read_fs_list): Likewise.
39222 (reader_nested): New variable.
39223 (grub_normal_execute): Run parser.sh to switch to sh parser.
39224 (grub_cmd_rescue): Removed.
39225 (cmd_normal): Removed.
39226 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39227 rescue command.
39228 (grub_cmdline_run): New function.
39229 (grub_normal_reader_init): Likewise.
39230 (grub_normal_read_line): Likewise.
39231 (grub_env_write_pager): Likewise.
39232 (cmdline): New variable.
39233 (grub_normal_reader): Likewise.
39234 (GRUB_MOD_INIT): Register normal reader and set as current, register
39235 pager hook, register normal command with grub_register_command_prio,
39236 so that it won't show up in command.lst.
39237 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39238 grub_fs_autoload_hook.
39239
39240 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39241 (grub_menu_execute_entry): Replace grub_script_execute with
39242 grub_parser_execute, change parameter to grub_command_execute.
39243
39244 * normal/menu_text.c: Remove <grub/script.h>.
39245
39246 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39247 and <grub/parser.h>.
39248 (run): Change editor_getline to use new parser interface. Change
39249 parameter to grub_command_execute.
39250
39251 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39252 <grub/reader.h> and <grub/parser.h>.
39253 (grub_load_normal_mode): Execute normal command.
39254 (grub_main): Call grub_register_core_commands,
39255 grub_register_rescue_parser and grub_register_rescue_reader, use
39256 grub_reader_loop to enter input loop.
39257
39258 * kern/parser.c (grub_parser_split_cmdline): Change type of
39259 getline parameter.
39260 (grub_parser_class): New variable.
39261 (grub_parser_execute): New function.
39262
39263 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39264 * loader/multiboot2.c: Likewise.
39265 * loader/sparc64/ieee1275/linux.c: Likewise.
39266
39267 * util/grub-emu.c (read_command_list): New dummy function.
39268
39269 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39270
39271 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39272 count to 16 for CCISS and IDA.
39273
39274 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39275
39276 * normal/menu_text.c (grub_wait_after_message): Print a newline
39277 after waiting for user input.
39278
39279 * loader/i386/linux.c: Include `<grub/normal.h>'.
39280 (grub_cmd_linux): Improve the error message about `ask' mode, by
39281 waiting for user input so it's not missed (we can do this, since
39282 user requested interaction).
39283
39284 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39285
39286 Added missing lst to grub-mkrescue
39287
39288 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39289 and ${input_dir}/parttool.lst
39290
39291 2009-04-30 David S. Miller <davem@davemloft.net>
39292
39293 * util/hostdisk.c (device_is_wholedisk): New function.
39294 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39295 zero only if device_is_wholedisk() returns true.
39296
39297 * util/hostdisk.c (convert_system_partition_to_system_disk):
39298 Handle virtual disk devices named /dev/vdiskX as found on sparc
39299 and powerpc.
39300
39301 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39302 lettered partition specifier is found, convert to numbered.
39303
39304 2009-04-29 David S. Miller <davem@davemloft.net>
39305
39306 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39307 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39308
39309 * normal/command.c: Add missing newline at end of file.
39310
39311 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39312 warnings.
39313 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39314 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39315 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39316 ihandles have a 32-bit type but need to be stored in a "void *".
39317
39318 2009-04-28 Pavel Roskin <proski@gnu.org>
39319
39320 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39321 not disk. Adjust all dependencies.
39322 (grub_fs_uuid_close): Use grub_device_close(), not
39323 grub_disk_close().
39324
39325 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39326 parent's partition, don't copy it by reference, as it gets freed
39327 on close.
39328
39329 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39330
39331 Preboot hooks support
39332
39333 * commands/boot.c (struct grub_preboot_t): new declaration
39334 (preboots_head): new variable
39335 (preboots_tail): likewise
39336 (grub_loader_register_preboot_hook): new function
39337 (grub_loader_unregister_preboot_hook): likewise
39338 (grub_loader_set): launch preboot hooks
39339 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39340 (grub_loader_register_preboot_hook): new declaration
39341 (grub_loader_unregister_preboot_hook): likewise
39342
39343 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39344
39345 Warning fix
39346
39347 * disk/scsi.c (grub_scsi_open): added missing cast when
39348 calling grub_dprintf
39349
39350 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39351
39352 Bug and warning fixes
39353
39354 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
39355 declaration
39356 * commands/test.c (test_parse): fixed bug with file tests and corrected
39357 declaration of find_file
39358
39359 2009-04-26 Pavel Roskin <proski@gnu.org>
39360
39361 * Makefile.in: Don't install empty manual pages if help2man is
39362 missing. Use help2man option for output, not shell redirection.
39363
39364 2009-04-26 David S. Miller <davem@davemloft.net>
39365
39366 * util/grub-mkdevicemap.c (make_device_map): Add missing
39367 NESTED_FUNC_ATTR to process_device().
39368
39369 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39370
39371 Test command
39372
39373 * commands/test.c: rewritten to use bash-like test
39374
39375 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39376
39377 Parttool autoloading and improvements
39378
39379 * Makefile.in (pkglib_DATA): add parttool.lst
39380 (parttool.lst): new target
39381 * genmk.rb: generate parttool-*
39382 (CLEANFILES): add #{parttool}
39383 (PARTTOOLFILES): new variable
39384 * genparttoollist.sh: new file
39385 * parttool/pcpart.c (grub_pcpart_boot): more feedback
39386 (grub_pcpart_type): likewise
39387 * commands/parttool.c (helpmsg): new variable
39388 (grub_cmd_parttool): output help if not enough arguments are supplied
39389 autoload modules
39390 (GRUB_MOD_INIT(parttool)): use helpmsg
39391
39392 2009-04-24 David S. Miller <davem@davemloft.net>
39393
39394 Avoiding opening same device multiple times in device iterator.
39395
39396 * kern/device.c: (grub_device_iterate): Define struct part_ent,
39397 and use it to build a list of partitions in iterate_disk() and
39398 iterate_partition().
39399
39400 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39401 on disk->data.
39402
39403 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39404 grub_devalias_iterate() result instead of unconditional 0.
39405 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39406 Also, capture hook return value, either directly or via
39407 grub_children_iterate(), and propagate to caller.
39408 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39409 grub_children_iterate): Return value is now 'int' instead of
39410 'grub_err_t'.
39411 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39412 like a proper iterator, stopping when hooks return non-zero.
39413 (grub_devalias_iterate): Likewise.
39414
39415 2009-04-23 David S. Miller <davem@davemloft.net>
39416
39417 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39418
39419 2009-04-22 David S. Miller <davem@davemloft.net>
39420
39421 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39422 is larger than address_cells, use that value for address_cells too.
39423
39424 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39425 IEEE1275_MAX_PATH_LEN): Define.
39426 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39427 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39428 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39429 'devtype'. Explicitly NULL terminate devalias expansion.
39430
39431 * util/sparc64/ieee1275/misc.c: New file.
39432 * util/sparc64/ieee1275/grub-setup.c: New file.
39433 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39434 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39435 * util/sparc64/ieee1275/grub-install.in: New file.
39436 * util/ieee1275/ofpath.c: New file.
39437 * util/ieee1275/devicemap.c: New file.
39438 * util/devicemap.c: New file.
39439 * util/deviceiter.c: New file.
39440 * kern/sparc64/ieee1275/init.c: New file.
39441 * include/grub/util/ofpath.h: New file.
39442 * include/grub/util/deviceiter.h: New file.
39443 * util/grub-mkdevicemap.c: Include deviceiter.h.
39444 Implement using grub_util_emit_devicemap_entry and
39445 grub_util_iterate_devices.
39446 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39447 util/devicemap.c into grub-mkdevicemap
39448 * conf/i386-efi.rmk: Likewise.
39449 * conf/i386-ieee1275.rmk: Likewise.
39450 * conf/i386-pc.rmk: Likewise.
39451 * conf/powerpc-ieee1275.rmk: Likewise.
39452 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39453 images and installation utilities. Build kernel as image
39454 instead of as elf binary. Use common rules as much as possible.
39455
39456 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
39457
39458 Correct GPT definition
39459
39460 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
39461 of "attrib" member
39462
39463 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
39464
39465 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39466
39467 2009-04-19 David S. Miller <davem@davemloft.net>
39468
39469 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39470 (grub_rescue_cmd_linux): Rename to...
39471 (grub_cmd_linux): and fix prototype.
39472 (grub_rescue_cmd_initrd): Rename to...
39473 (grub_cmd_initrd): and fix prototype.
39474 (cmd_linux, cmd_initrd): New.
39475 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39476 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39477
39478 2009-04-17 Pavel Roskin <proski@gnu.org>
39479
39480 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39481 format.
39482 (grub_ohci_transfer): Likewise.
39483
39484 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39485
39486 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39487 return without a value. Fix inconsistent indentation.
39488
39489 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39490 match struct grub_fs.
39491
39492 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39493 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39494 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39495 * commands/lspci.c (grub_lspci_iter): Likewise.
39496
39497 2009-04-16 Bean <bean123ch@gmail.com>
39498
39499 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39500 value.
39501
39502 2009-04-15 Pavel Roskin <proski@gnu.org>
39503
39504 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39505 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39506 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39507 definitions.
39508
39509 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39510
39511 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
39512 that no multiple data or metadata areas are supported and `Unknown
39513 metadata header'.
39514
39515 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39516
39517 Move loader out of the kernel
39518
39519 * kern/loader.c: moved to ...
39520 * commands/boot.c: ... moved here
39521 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39522 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39523 * include/grub/kernel.h (grub_machine_fini): export
39524 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39525 (grub_loader_set): likewise
39526 (grub_loader_unset): likewise
39527 (grub_loader_boot): likewise
39528 * conf/common.rmk: new module boot.mod
39529 (pkglib_MODULES): add boot.mod
39530 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39531 (grub_emu_SOURCES): likewise
39532 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39533 (grub_emu_SOURCES): likewise
39534 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39535 (grub_emu_SOURCES): likewise
39536 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39537 (grub_emu_SOURCES): likewise
39538 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39539 (grub_emu_SOURCES): likewise
39540 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39541 (grub_emu_SOURCES): likewise
39542 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
39543 (grub_emu_SOURCES): likewise
39544
39545 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39546
39547 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
39548
39549 * kern/misc.c (grub_itoa): Removed function
39550 (grub_ltoa): likewise
39551 (grub_vsprintf): use grub_lltoa
39552
39553 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39554
39555 Restore grub-emu
39556
39557 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39558 * conf/i386-coreboot.rmk: likewise
39559 * conf/i386-ieee1275.rmk: likewise
39560 * conf/powerpc-ieee1275.rmk: likewise
39561
39562 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39563
39564 * INSTALL: Add that `./autogen.sh' needs to be run before
39565 `./configure.'.
39566
39567 2009-04-14 Bean <bean123ch@gmail.com>
39568
39569 * Makefile.in (pkglib_DATA): Add handler.lst.
39570 (handler.lst): New rule.
39571
39572 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39573 * conf/i386-coreboot.rmk: Likewise.
39574 * conf/i386-ieee1275.rmk: Likewise.
39575 * conf/i386-efi.rmk: Likewise.
39576 * conf/x86_64-efi.rmk: Likewise.
39577 * conf/powerpc-ieee1275.rmk: Likewise.
39578 * conf/sparc64-ieee1275.rmk: Likewise.
39579
39580 * genhandlerlist.sh: New file.
39581
39582 * genmk.rb: Add rules to generate handler.lst.
39583
39584 * include/grub/normal.h (grub_file_getline): New function definition.
39585 (read_handler_list): Likewise.
39586 (free_handler_list): Likewise.
39587
39588 * include/grub/term.h (grub_term_register_input): Add name parameter
39589 for auto generation of handler.lst.
39590 (grub_term_register_output): Likewise.
39591
39592 * normal/handler.c: New file.
39593
39594 * normal/main.c (get_line): Renamed to grub_file_getline.
39595 (read_config_file): Use the newly renamed grub_file_getline.
39596 (read_command_list): Likewise.
39597 (read_fs_list): Likewise.
39598 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39599 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39600
39601 * term/efi/console.c (grub_console_init): Add name parameter for auto
39602 generation of handler.lst.
39603 * term/gfxterm.c: Likewise.
39604 * term/i386/pc/at_keyboard.c: Likewise.
39605 * term/i386/pc/console.c: Likewise.
39606 * term/i386/pc/serial.c: Likewise.
39607 * term/i386/pc/vesafb.c: Likewise.
39608 * term/i386/pc/vga.c: Likewise.
39609 * term/i386/pc/vga_text.c: Likewise.
39610 * term/ieee1275/ofconsole.c: Likewise.
39611 * term/usb_keyboard.c: Likewise.
39612
39613 2009-04-14 Bean <bean123ch@gmail.com>
39614
39615 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39616 properly with null character.
39617
39618 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39619
39620 * configure: Remove.
39621 * config.h.in: Likewise.
39622 * stamp-h.in: Likewise.
39623 * DISTLIST: Likewise.
39624 * conf/common.mk: Likewise.
39625 * conf/i386-coreboot.mk: Likewise.
39626 * conf/i386-efi.mk: Likewise.
39627 * conf/i386-ieee1275.mk: Likewise.
39628 * conf/i386.mk: Likewise.
39629 * conf/i386-pc.mk: Likewise.
39630 * conf/powerpc-ieee1275.mk: Likewise.
39631 * conf/sparc64-ieee1275.mk: Likewise.
39632 * conf/x86_64-efi.mk: Likewise.
39633
39634 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39635 develop on GRUB.
39636
39637 2009-04-14 John Stanley <jpsinthemix@verizon.net>
39638 David S. Miller <davem@davemloft.net>
39639
39640 * util/hostdisk.c (make_device_name): Fix buffer length
39641 calculations.
39642
39643 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39644
39645 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39646 <sys/param.h> and <sys/sysctl.h>.
39647 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39648 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39649 opening the device and reset them afterwards.
39650
39651 2009-04-13 Pavel Roskin <proski@gnu.org>
39652
39653 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39654 Reported by John Stanley <jpsinthemix@verizon.net>
39655
39656 2009-04-13 Robert Millan <rmh@aybabtu.com>
39657
39658 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
39659 that name for menuentries when appropriate.
39660
39661 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39662
39663 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39664
39665 2009-04-13 Robert Millan <rmh@aybabtu.com>
39666
39667 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39668 to Linux, simply abort telling the user it's no longer supported.
39669
39670 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39671
39672 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
39673 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
39674 `freebsd_loadenv' only when devices.hints exist.
39675
39676 2009-04-13 Pavel Roskin <proski@gnu.org>
39677
39678 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39679
39680 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39681
39682 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39683 partition number.
39684 (grub_drive): Likewise.
39685
39686 2009-04-13 David S. Miller <davem@davemloft.net>
39687
39688 * kern/sparc64/ieee1275/ieee1275.c: New file.
39689 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39690 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39691 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39692 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39693 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39694 grub_ieee1275_alloc_physmem): Declare new exported functions.
39695
39696 * include/grub/sparc64/ieee1275/loader.h: New file.
39697 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39698 * include/grub/sparc64/kernel.h: Likewise.
39699 * loader/sparc64/ieee1275/linux.c: Likewise.
39700
39701 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39702 (grub_fstest_SOURCES): Likewise.
39703
39704 * util/hostdisk.c (make_device_name): Do not make any assumptions
39705 about the length of drive names.
39706
39707 * kern/dl.c (grub_dl_load_file): Close file immediately when
39708 we are done using it.
39709
39710 2009-04-12 David S. Miller <davem@davemloft.net>
39711
39712 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39713 values. Noticed by Pavel Roskin.
39714
39715 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39716 target compiler.
39717
39718 * genmk.rb: Add more flexible image type specification, also
39719 pass --strip-unneeded to objcopy.
39720 * conf/i386-pc.rmk: Use *_FORMAT.
39721 * conf/i386-pc.mk: Rebuilt.
39722
39723 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39724 (OFDISK_HASH_SZ): Define.
39725 (ofdisk_hash): New hash table.
39726 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39727 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39728 instead of device phandle which is not unique.
39729
39730 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39731 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39732 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39733 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39734 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39735 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39736 GRUB_KERNEL_MACHINE_DATA_END): Define.
39737 (grub_kernel_image_size, grub_total_module_size): Declare.
39738
39739 2009-04-12 Pavel Roskin <proski@gnu.org>
39740
39741 * configure.ac: Change the logic when we check for target tools.
39742 Do it when the target is specified and it's different from the
39743 specified value of the host.
39744
39745 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
39746
39747 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39748 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39749 GNU/kFreeBSD. Check if a device is a character device. Use
39750 DIOCGMEDIASIZE to get the size.
39751 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39752 support for GNU/kFreeBSD.
39753 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39754 is a character device instead of a block device. Add support for
39755 FreeBSD device names.
39756
39757 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39758 is a character device instead of a block device.
39759
39760 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39761 is a character device instead of a block device.
39762
39763 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39764
39765 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39766 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39767 FreeBSD. Check if a device is a character device. Use
39768 DIOCGMEDIASIZE to get the size.
39769 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39770 support for FreeBSD.
39771 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39772 is a character device instead of a block device. Add support for
39773 FreeBSD device names.
39774
39775 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39776 a character device instead of a block device.
39777 (grub_util_check_char_device): New function.
39778
39779 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39780 a character device instead of a block device.
39781
39782 * include/grub/util/getroot.h (grub_util_check_char_device): New
39783 prototype.
39784
39785 2009-04-11 David S. Miller <davem@davemloft.net>
39786
39787 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39788 static libgcc.
39789 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39790 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39791 function, if present.
39792 (__bswapdi2): Likewise.
39793
39794 * include/grub/sparc64/ieee1275/boot.h: New file.
39795 * boot/sparc64/ieee1275/boot.S: Likewise.
39796 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39797
39798 * kern/misc.c (grub_ltoa): New function.
39799 (grub_vsprintf): Use it to format 'long' integers.
39800
39801 2009-04-10 David S. Miller <davem@davemloft.net>
39802
39803 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39804 slots are of type grub_ieee1275_cell_t.
39805 (grub_nand_read): Likewise.
39806 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39807 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39808 macros are used to compare values in arg/ret block of the call.
39809 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39810 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39811 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39812 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39813 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39814 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39815 grub_ieee1275_close, grub_ieee1275_set_property,
39816 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39817 grub_ieee1275_cell_t.
39818 * kern/ieee1275/openfw.c (grub_map): Likewise.
39819 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39820 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39821
39822 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39823 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39824 (grub_devalias_iterate): Likewise.
39825
39826 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
39827
39828 UFS improvements
39829
39830 * fs/ufs.c (INODE_NBLOCKS): new definition
39831 (struct grub_ufs_dirent): added fields for non-BSD dirents
39832 (grub_ufs_get_file_block): fixed double indirect handling
39833 (grub_ufs_lookup_symlink): use more robust way to determine whether
39834 symlink is inline
39835 (grub_ufs_find_file): support for non-BSD dirents
39836 (grub_ufs_dir): support for non-BSD dirents
39837
39838 2009-04-10 Bean <bean123ch@gnail.com>
39839
39840 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39841 attribute, otherwise the size would be wrong for i386 platform.
39842
39843 * include/grub/pci.h (grub_pci_read_word): New inline function.
39844 (grub_pci_read_byte): Likewise.
39845 (grub_pci_write): Likewise.
39846 (grub_pci_write_word): Likewise.
39847 (grub_pci_write_byte): Likewise.
39848
39849 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39850
39851 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39852 (find_framebuf): Scan pci to locate the frame buffer address.
39853
39854 * commands/efi/fixvideo.c: New file.
39855
39856 * commands/efi/loadbios.c: Likewise.
39857
39858 * commands/memrw.c: Likewise.
39859
39860 * util/grub-dumpbios.in: Likewise.
39861
39862 * conf/common.rmk (grub-dumpbios): New utility.
39863 (pkglib_MODULES): New module memrw.mod.
39864 (memrw_mod_SOURCE): New macro.
39865 (memrw_mod_CFLAGS): Likewise.
39866 (memrw_mod_LDFLAGS): Likewise.
39867
39868 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
39869 fixvideo.mod.
39870 (loadbios_mod_SOURCE): New macro.
39871 (loadbios_mod_CFLAGS): Likewise.
39872 (loadbios_mod_LDFLAGS): Likewise.
39873 (fixvideo_mod_SOURCE): Likewise.
39874 (fixvideo_mod_CFLAGS): Likewise.
39875 (fixvideo_mod_LDFLAGS): Likewise.
39876
39877 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
39878 fixvideo.mod.
39879 (loadbios_mod_SOURCE): New macro.
39880 (loadbios_mod_CFLAGS): Likewise.
39881 (loadbios_mod_LDFLAGS): Likewise.
39882 (fixvideo_mod_SOURCE): Likewise.
39883 (fixvideo_mod_CFLAGS): Likewise.
39884 (fixvideo_mod_LDFLAGS): Likewise.
39885
39886 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
39887
39888 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39889
39890 2009-04-07 David S. Miller <davem@davemloft.net>
39891
39892 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39893 support for R_SPARC_OLO10 relocations. Fix compile warning for
39894 R_SPARC_WDISP30 case.
39895 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
39896
39897 2009-04-06 Pavel Roskin <proski@gnu.org>
39898
39899 * include/grub/misc.h (ARRAY_SIZE): New macro.
39900 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39901 New macro.
39902 * loader/i386/linux.c (allocate_pages): Use free_pages().
39903 (grub_linux_unload): Don't use free_pages().
39904 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39905 wrong index. Treat all other modes as text modes.
39906 (grub_cmd_linux): Initialize vid_mode unconditionally to
39907 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39908
39909 * commands/help.c (print_command_help): Use cmd->prio, not
39910 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39911
39912 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
39913
39914 Parttool
39915
39916 * parttool/pcpart.c: new file
39917 * commands/parttool.c: likewise
39918 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39919 (parttool_mod_SOURCES): new variable
39920 (parttool_mod_CFLAGS): likewise
39921 (parttool_mod_LDFLAGS): likewise
39922 (pcpart_mod_SOURCES): likewise
39923 (pcpart_mod_CFLAGS): likewise
39924 (pcpart_mod_LDFLAGS): likewise
39925 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
39926 and parttool/pcpart.c
39927 * conf/i386-efi.rmk: likewise
39928 * conf/i386-ieee1275.rmk: likewise
39929 * conf/i386-pc.rmk: likewise
39930 * conf/powerpc-ieee1275.rmk: likewise
39931 * conf/sparc64-ieee1275.rmk: likewise
39932 * conf/x86_64-ieee1275.rmk: likewise
39933
39934 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39935
39936 Support for mtime and further expandability of dir command
39937
39938 * include/grub/lib/datetime.h: moved to ...
39939 * include/grub/datetime.h: ... moved here and added
39940 declaration of grub_unixtime2datetime. All users updated
39941 * include/grub/fs.h: new syntax for dir and mtime functions in
39942 struct grub_fs
39943 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39944 and GRUB_FSHELP_FLAGS_MASK
39945 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39946 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39947 (grub_ext2_mtime): new function
39948 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39949 (grub_hfsplus_mtime): new function
39950 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39951 (GRUB_UFS_ATTR_FILE): likewise
39952 (GRUB_UFS_ATTR_LNK): likewise
39953 (struct grub_ufs_sblock): new fields mtime
39954 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39955 all users updated
39956 (grub_ufs_dir): mtime support
39957 (grub_ufs_mtime): new function
39958 * fs/affs.c (grub_affs_dir): use new dir syntax
39959 * fs/afs.c (grub_afs_dir): likewise
39960 * fs/cpio.c (grub_cpio_dir): likewise
39961 * fs/fat.c (grub_fat_find_dir): likewise
39962 * fs/hfs.c (grub_hfs_dir): likewise
39963 * fs/iso9660.c (grub_iso9660_dir): likewise
39964 * fs/jfs.c (grub_jfs_dir): likewise
39965 * fs/minix.c (grub_minix_dir): likewise
39966 * fs/ntfs.c (grub_ntfs_dir): likewise
39967 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39968 * fs/sfs.c (grub_sfs_dir): likewise
39969 * fs/xfs.c (grub_xfs_dir): likewise
39970 * util/hostfs.c (grub_hostfs_dir): likewise
39971 * lib/datetime.c: moved to ...
39972 * normal/datetime.c: ... moved here
39973 (grub_unixtime2datetime): new function
39974 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
39975 * normal/completion.c (iterate_dir): use new dir syntax
39976 * normal/misc.c (grub_normal_print_device_info): tell the
39977 last modification time of a volume
39978 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
39979 * conf/common.rmk: added lib/datetime.c to ls.mod
39980 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
39981 (normal_mod_SOURCES): likewise
39982 (datetime_mod_SOURCES): Removed lib/datetime.c
39983 * conf/i386-efi.rmk: likewise
39984 * conf/i386-ieee1275.rmk: likewise
39985 * conf/i386-pc.rmk: likewise
39986 * conf/powerpc-ieee1275.rmk: likewise
39987 * conf/sparc64-ieee1275.rmk: likewise
39988 * conf/x86_64-efi.rmk: likewise
39989
39990 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39991
39992 Trim trailing spaces in FAT label and support mtools-like labels
39993
39994 * fs/fat.c (grub_fat_iterate_dir): New function based
39995 on grub_fat_find_dir
39996 (grub_fat_find_dir): use grub_fat_iterate_dir
39997 (grub_fat_label): likewise
39998
39999 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
40000
40001 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
40002 and command.h
40003 remove extraneous kernel_elf_HEADERS
40004
40005 2009-04-04 Bean <bean123ch@gnail.com>
40006
40007 * include/grub/util/misc.h: Add dummy function fsync for mingw.
40008
40009 * util/misc.c: Likewise.
40010
40011 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
40012
40013 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
40014 instead of grub_printf.
40015
40016 2009-04-03 Robert Millan <rmh@aybabtu.com>
40017
40018 * loader/i386/linux.c (grub_linux_setup_video): Fill
40019 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
40020 values from `mode info' structure instead of hardcoded
40021 values.
40022
40023 2009-04-01 Pavel Roskin <proski@gnu.org>
40024
40025 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
40026 unused now.
40027 * genmk.rb: Likewise.
40028 * configure.ac: Likewise.
40029
40030 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
40031
40032 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
40033 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
40034
40035 2009-04-01 David S. Miller <davem@davemloft.net>
40036
40037 * normal/sparc64/setjmp.S: Fix setjmp implementation.
40038 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
40039 (grub_setjmp): Mark with 'returns_twice' attribute.
40040 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
40041 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
40042 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
40043
40044 2009-04-01 Robert Millan <rmh@aybabtu.com>
40045
40046 Reapply fix from 2008-07-28 which was accidentally reverted; also
40047 perform the same fix to a similar check in same function.
40048
40049 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
40050 with the same number are found, just use issue a warning with
40051 grub_dprintf(), as this error has been reported to be non-fatal.
40052
40053 2009-03-31 Pavel Roskin <proski@gnu.org>
40054
40055 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
40056 for cross-compilation.
40057
40058 2009-03-30 Robert Millan <rmh@aybabtu.com>
40059
40060 Fix i386-ieee1275 build.
40061
40062 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
40063 Remove declaration.
40064
40065 2009-03-30 Pavel Roskin <proski@gnu.org>
40066
40067 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
40068 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
40069 zero-terminated, rely only on the strlen value. Fix comparison
40070 of strings differing in length.
40071
40072 2009-03-30 Robert Millan <rmh@aybabtu.com>
40073
40074 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
40075 checking for abi version. Improve error messages on BIOS to notify
40076 user about `linux16' command.
40077
40078 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
40079
40080 Leak fixes
40081
40082 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
40083 in case of collision
40084 * disk/scsi.c (grub_scsi_open): free scsi in case of error
40085
40086 2009-03-29 Robert Millan <rmh@aybabtu.com>
40087
40088 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
40089 set `vid_mode' accordingly.
40090 (grub_linux_boot): Process `vid_mode' and set video mode.
40091
40092 2009-03-29 Robert Millan <rmh@aybabtu.com>
40093
40094 * util/grub.d/10_linux.in (linux_entry): New function.
40095 Factorize generation of Linux boot entries.
40096
40097 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
40098
40099 Make the format of Environment Block plain text. The boot loader
40100 part is not tested well yet.
40101
40102 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
40103 (buffer): Removed.
40104 (envblk): Likewise.
40105 (usage): Remove "info" and "clear". Add "unset". Update the
40106 description of "set", as this does not delete variables any
40107 longer.
40108 (create_envblk_file): Complete rewrite.
40109 (open_envblk_file): Likewise.
40110 (cmd_info): Removed.
40111 (cmd_list): Likewise.
40112 (cmd_set): Likewise.
40113 (cmd_clear): Likewise.
40114 (list_variables): New function.
40115 (write_envblk): Likewise.
40116 (set_variables): Likewise.
40117 (unset_variables): Likewise.
40118 (main): Complete rewrite.
40119
40120 * commands/loadenv.c (buffer): Removed.
40121 (envblk): Likewise.
40122 (open_envblk_file): New function.
40123 (read_envblk_file): Complete rewrite.
40124 (grub_cmd_load_env): Likewise.
40125 (grub_cmd_list_env): Likewise.
40126 (struct blocklist): New struct.
40127 (free_blocklists): New function.
40128 (check_blocklists): Likewise.
40129 (write_blocklists): Likewise.
40130 (grub_cmd_save_env): Complete rewrite.
40131
40132 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40133 a plain text signature.
40134 (GRUB_ENVBLK_MAXLEN): Removed.
40135 (struct grub_envblk): Complete rewrite.
40136 (grub_envblk_find): Removed.
40137 (grub_envblk_insert): Likewise.
40138 (grub_envblk_open): New prototype.
40139 (grub_envblk_set): Likewise.
40140 (grub_envblk_delete): Put const to VALUE.
40141 (grub_envblk_iterate): Put const to NAME and VALUE.
40142 (grub_envblk_close): New prototype.
40143 (grub_envblk_buffer): New inline function.
40144 (grub_envblk_size): Likewise.
40145
40146 * lib/envblk.c: Include grub/mm.h.
40147 (grub_env_find): Removed.
40148 (grub_envblk_open): New function.
40149 (grub_envblk_close): Likewise.
40150 (escaped_value_len): Likewise.
40151 (find_next_line): Likewise.
40152 (grub_envblk_insert): Removed.
40153 (grub_envblk_set): New function.
40154 (grub_envblk_delete): Complete rewrite.
40155 (grub_envblk_iterate): Likewise.
40156
40157 2009-03-28 Robert Millan <rmh@aybabtu.com>
40158
40159 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40160 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40161 variables. Use 16-bit loader.
40162 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40163 loader.
40164 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40165 (grub_linux16_boot): ... this. Update all users.
40166 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40167 (grub_linux_boot): ... this. Update all users.
40168
40169 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40170 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40171 commands to `linux16' and `initrd16'.
40172 (GRUB_MOD_FINI(linux)): Rename to ...
40173 (GRUB_MOD_FINI(linux16)): ... this.
40174
40175 2009-03-24 Pavel Roskin <proski@gnu.org>
40176
40177 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40178 not just for compilation.
40179
40180 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40181
40182 Move multiboot helper out of kernel
40183
40184 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40185 `loader/i386/multiboot_helper.S'.
40186 * conf/i386-coreboot.rmk: Likewise
40187 * conf/i386-ieee1275.rmk: Likewise
40188
40189 * kern/i386/loader.S: Move multiboot helpers from here...
40190 * loader/i386/multiboot_helper.S: ...moved here
40191 * include/grub/i386/loader.h: Move declarations of multiboot
40192 helpers from here...
40193 * include/grub/i386/multiboot.h: ...moved here
40194 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40195
40196 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40197
40198 * kern/env.c (grub_env_context_open): Added an argument to specify
40199 whether a new context inherits exported variables from current
40200 one. This is useful when making a sandbox to interpret a config
40201 file.
40202 All callers updated.
40203
40204 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40205
40206 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40207
40208 * kern/env.c (grub_env_context_close): Fix memory leaks.
40209
40210 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40211
40212 * normal/main.c (grub_normal_execute): Added an argument
40213 BATCH to specify if an interactive interface should be provided
40214 after reading a config file.
40215 All callers updated.
40216 (read_command_list): Prevent being executed twice.
40217 (read_fs_list): Likewise.
40218
40219 * include/grub/normal.h (grub_normal_execute): Updated the
40220 prototype.
40221
40222 2009-03-22 Pavel Roskin <proski@gno.org>
40223
40224 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40225 _start.
40226 * kern/i386/pc/startup.S: Likewise.
40227 * kern/i386/efi/startup.S: Likewise.
40228 * kern/i386/ieee1275/startup.S: Likewise.
40229 * kern/i386/coreboot/startup.S: Likewise.
40230 * kern/x86_64/efi/startup.S: Likewise.
40231
40232 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40233 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40234 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40235
40236 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40237
40238 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40239
40240 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40241 limit detection.
40242 Use vaddr of correct segment for entry_point.
40243
40244 2009-03-21 Bean <bean123ch@gmail.com>
40245
40246 * commands/blocklist.c: Add include file <grub/command.h>, remove
40247 <grub/normal.h> and <grub/arg.h>.
40248 (grub_cmd_blocklist): Use the new command interface.
40249 (GRUB_MOD_INIT): Likewise.
40250 (GRUB_MOD_FINI): Likewise.
40251 * commands/boot.c: Likewise.
40252 * commands/cat.c: Likewise.
40253 * commands/cmp.c: Likewise.
40254 * commands/configfile.c: Likewise.
40255 * commands/crc.c: Likewise.
40256 * commands/echo.c: Likewise.
40257 * commands/halt.c: Likewise.
40258 * commands/handler.c: Likewise.
40259 * commands/hdparm.c: Likewise.
40260 * commands/help.c: Likewise.
40261 * commands/hexdump.c: Likewise.
40262 * commands/loadenv.c: Likewise.
40263 * commands/ls.c: Likewise.
40264 * commands/lsmmap.c: Likewise.
40265 * commands/lspci.c: Likewise.
40266 * commands/loadenv.c: Likewise.
40267 * commands/read.c: Likewise.
40268 * commands/reboot.c: Likewise.
40269 * commands/search.c: Likewise.
40270 * commands/sleep.c: Likewise.
40271 * commands/test.c: Likewise.
40272 * commands/usbtest.c: Likewise.
40273 * commands/videotest.c: Likewise.
40274 * commands/i386/cpuid.c: Likewise.
40275 * commands/i386/pc/halt.c: Likewise.
40276 * commands/i386/pc/play.c: Likewise.
40277 * commands/i386/pc/pxecmd.c: Likewise.
40278 * commands/i386/pc/vbeinfo.c: Likewise.
40279 * commands/i386/pc/vbetest.c: Likewise.
40280 * commands/ieee1275/suspend.c: Likewise.
40281 * disk/loopback.c: Likewise.
40282 * font/font_cmd.c: Likewise.
40283 * hello/hello.c: Likewise.
40284 * loader/efi/appleloader.c: Likewise.
40285 * loader/efi/chainloader.c: Likewise.
40286 * loader/i386/bsd.c: Likewise.
40287 * loader/i386/efi/linux.c: Likewise.
40288 * loader/i386/ieee1275/linux.c: Likewise.
40289 * loader/i386/linux.c: Likewise.
40290 * loader/i386/pc/chainloader.c: Likewise.
40291 * loader/i386/pc/linux.c: Likewise.
40292 * loader/powerpc/ieee1275/linux.c: Likewise.
40293 * loader/multiboot_loader.c: Likewise.
40294 * term/gfxterm.c: Likewise.
40295 * term/i386/pc/serial.c: Likewise.
40296 * term/terminfo.c: Likewise.
40297
40298 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40299 * term/i386/pc/vga.c: Likewise.
40300 * video/readers/jpeg.c: Likewise.
40301 * video/readers/png.c: Likewise.
40302 * video/readers/tga.c: Likewise.
40303
40304 * util/grub-fstest (cmd_loopback): Removed.
40305 (cmd_blocklist): Likewise.
40306 (cmd_ls): Likewise.
40307 (grub_register_command): Likewise.
40308 (grub_unregister_command): Likewise.
40309 (execute_command): Use grub_command_find to locate command and execute
40310 it.
40311
40312 * include/grub/efi/chainloader.h: Removed.
40313 * loader/efi/chainloader_normal.c: Likewise.
40314 * loader/i386/bsd_normal.c: Likewise.
40315 * loader/i386/pc/chainloader_normal.c: Likewise.
40316 * loader/i386/pc/multiboot_normal.c: Likewise.
40317 * loader/linux_normal.c: Likewise.
40318 * loader/multiboot_loader_normal.c: Likewise.
40319 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40320
40321 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40322 and grub_register_command_p1.
40323
40324 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40325 kern/command.c, lib/arg.c and commands/extcmd.c.
40326 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40327 (minicmd_mod_SOURCES): New variable.
40328 (minicmd_mod_CFLAGS): Likewise.
40329 (minicmd_mod_LDFLAGS): Likewise.
40330 (extcmd_mod_SOURCES): Likewise.
40331 (extcmd_mod_CFLAGS): Likewise.
40332 (extcmd_mod_LDFLAGS): Likewise.
40333 (boot_mod_SOURCES): Removed.
40334 (boot_mod_CFLAGS): Likewise.
40335 (boot_mod_LDFLAGS): Likewise.
40336
40337 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40338 kern/corecmd.c.
40339 (kernel_img_HEADERS): Add command.h.
40340 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40341 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40342 and lib/arg.c.
40343 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40344 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40345 remove the corresponding normal mode command.
40346 (normal_mod_SOURCES): Remove normal/arg.c.
40347 * conf/i386-coreboot.rmk: Likewise.
40348 * conf/i386-efi.rmk: Likewise.
40349 * conf/i386-ieee1275.rmk: Likewise.
40350 * conf/powerpc-ieee1275.rmk: Likewise.
40351 * conf/x86_64-efi.rmk: Likewise.
40352
40353 * include/grub/arg.h: Move from here ...
40354 * include/grub/lib/arg.h: ... to here.
40355
40356 * normal/arg.c: Move from here ...
40357 * lib/arg.c: ... to here.
40358
40359 * commands/extcmd.c: New file.
40360 * commands/minicmd.c: Likewise.
40361 * include/grub/command.h: Likewise.
40362 * include/grub/extcmd.h: Likewise.
40363 * kern/command.c: Likewise.
40364 * kern/corecmd.c: Likewise.
40365
40366 * kern/list.c (grub_list_iterate): Return int instead of void.
40367 (grub_list_insert): New function.
40368 (grub_prio_list_insert): Likewise.
40369
40370 * kern/rescue.c (grub_rescue_command): Removed.
40371 (grub_rescue_command_list): Likewise.
40372 (grub_rescue_register_command): Likewise.
40373 (grub_rescue_unregister_command): Likewise.
40374 (grub_rescue_cmd_boot): Move to minicmd.c
40375 (grub_rescue_cmd_help): Likewise.
40376 (grub_rescue_cmd_info): Likewise.
40377 (grub_rescue_cmd_boot): Likewise.
40378 (grub_rescue_cmd_testload): Likewise.
40379 (grub_rescue_cmd_dump): Likewise.
40380 (grub_rescue_cmd_rmmod): Likewise.
40381 (grub_rescue_cmd_lsmod): Likewise.
40382 (grub_rescue_cmd_exit): Likewise.
40383 (grub_rescue_print_devices): Moved to corecmd.c.
40384 (grub_rescue_print_files): Likewise.
40385 (grub_rescue_cmd_ls): Likewise.
40386 (grub_rescue_cmd_insmod): Likewise.
40387 (grub_rescue_cmd_set): Likewise.
40388 (grub_rescue_cmd_unset): Likewise.
40389 (attempt_normal_mode): Use grub_command_find to get normal module.
40390 (grub_enter_rescue_mode): Use grub_register_core_commands to register
40391 commands, remove grub_rescue_register_command calls.
40392
40393 * normal/command.c (grub_register_command): Removed.
40394 (grub_unregister_command): Likewise.
40395 (grub_command_find): Likewise.
40396 (grub_iterate_commands): Likewise.
40397 (rescue_command): Likewise.
40398 (export_command): Moved to corecmd.c.
40399 (set_command): Removed.
40400 (unset_command): Likewise.
40401 (insmod_command): Likewise.
40402 (rmmod_command): Likewise.
40403 (lsmod_command): Likewise.
40404 (grub_command_init): Likewise.
40405
40406 * normal/completion.c (iterate_command): Use cmd->prio to check for
40407 active command.
40408 (complete_arguments): Use grub_extcmd_t structure to find options.
40409 (grub_normal_do_completion): Change function grub_iterate_commands to
40410 grub_command_iterate.
40411
40412 * normal/execute.c (grub_script_execute_cmd): No need to parse
40413 argument here.
40414
40415 * normal/main.c (grub_dyncmd_dispatcher): New function.
40416 (read_command_list): Register unload commands as dyncmd.
40417 (grub_cmd_normal): Use new command interface, register rescue,
40418 unregister normal at entry, register normal, unregister rescue at exit.
40419
40420 * include/grub/list.h (grub_list_test_t): New type.
40421 (grub_list_iterate): Return int instead of void.
40422 (grub_list_insert): New function.
40423 (GRUB_AS_NAMED_LIST_P): New macro.
40424 (GRUB_AS_PRIO_LIST): Likewise.
40425 (GRUB_AS_PRIO_LIST_P): Likewise.
40426 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40427 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40428 (grub_prio_list): New structure.
40429 (grub_prio_list_insert): New function.
40430 (grub_prio_list_remove): New inline function.
40431
40432 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40433 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40434 (GRUB_COMMAND_FLAG_MENU): Likewise.
40435 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40436 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40437 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40438 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40439 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40440 (grub_command): Likewise.
40441 (grub_register_command): Likewise.
40442 (grub_command_find): Likewise.
40443 (grub_iterate_commands): Likewise.
40444 (grub_command_init): Likewise.
40445 (grub_arg_parse): Likewise.
40446 (grub_arg_show_help): Likewise.
40447
40448 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40449 (grub_rescue_unregister_command): Likewise.
40450
40451 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40452 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40453 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40454
40455 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40456 grub_rescue_cmd_initrd.
40457 * include/grub/i386/loader.h: Likewise.
40458 * include/grub/x86_64/loader.h: Likewise.
40459
40460 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40461
40462 2009-03-21 Bean <bean123ch@gmail.com>
40463
40464 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40465 instead of stat in mingw environment.
40466
40467 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40468
40469 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40470
40471 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40472 AC_CONFIG_LINKS.
40473
40474 2009-03-21 Bean <bean123ch@gmail.com>
40475
40476 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40477 out of range error.
40478
40479 2009-03-18 Michel Dänzer <michel@daenzer.net>
40480
40481 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40482 checking inode flags for EXT4_EXTENTS_FLAG.
40483
40484 2009-03-18 Robert Millan <rmh@aybabtu.com>
40485
40486 * loader/i386/linux.c: Include `<grub/video.h>' and
40487 `<grub/i386/pc/vbe.h>'..
40488 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40489 (grub_linux32_boot): Attempt to configure video settings with
40490 grub_linux_setup_video().
40491 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40492 to avoid grub_console_fini() which would step out of graphical mode
40493 unconditionally.
40494
40495 2009-03-14 Robert Millan <rmh@aybabtu.com>
40496
40497 Fix build on powerpc.
40498 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40499
40500 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40501
40502 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40503 background image command.
40504
40505 2009-03-12 Colin D Bennett <colin@gibibit.com>
40506
40507 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40508 (grub_gfxterm_putchar): Extract pairs of identical calls to
40509 draw_cursor out of conditional blocks.
40510
40511 2009-03-11 Pavel Roskin <proski@gnu.org>
40512
40513 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40514 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40515
40516 2009-03-11 Robert Millan <rmh@aybabtu.com>
40517
40518 * loader/i386/multiboot_elfxx.c
40519 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40520
40521 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
40522
40523 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40524 `kern/handler.c'.
40525
40526 2009-03-11 Robert Millan <rmh@aybabtu.com>
40527
40528 * loader/i386/multiboot.c (code_size): New variable.
40529 (grub_multiboot): Define offsets by adding to `code_size' rather
40530 than subtracting from `grub_multiboot_payload_size'. Provide
40531 4-byte alignment to MBI and others by increasing
40532 `boot_loader_name_length' appropriately.
40533
40534 * loader/i386/multiboot_elfxx.c
40535 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40536
40537 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
40538
40539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40540 `fs/ext2.c'.
40541
40542 2009-03-08 Robert Millan <rmh@aybabtu.com>
40543
40544 Make loader/i386/linux.c usable on i386-pc again.
40545
40546 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40547 memory to heap.
40548 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40549 `#error' stanza.
40550
40551 2009-03-07 Bean <bean123ch@gmail.com>
40552
40553 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40554 allocation.
40555
40556 2009-03-06 Robert Millan <rmh@aybabtu.com>
40557
40558 Fix display issue on terminals with screen size other than 80x25
40559 (e.g. gfxterm with resolution higher than 640x480).
40560
40561 * normal/main.c (grub_normal_init_page): Display title text in a
40562 position relative to the center of the terminal instead of relying
40563 on a hardcoded offset.
40564
40565 2009-03-04 Robert Millan <rmh@aybabtu.com>
40566
40567 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40568 installed.
40569
40570 * Makefile.in (host_kernel): New variable.
40571 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40572 scripts instead of just the windows one.
40573 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40574
40575 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40576
40577 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40578 `kern/handler.c'.
40579 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40580 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40581 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40583 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40584 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40585
40586 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40587
40588 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40589 or if there's no space for the disk label and print the partition number on a
40590 invalid magic.
40591
40592 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40593
40594 * util/misc.c: Include <time.h>.
40595 (grub_millisleep): New function.
40596
40597 2009-03-04 Bean <bean123ch@gmail.com>
40598
40599 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40600 another option -mno-red-zone.
40601
40602 * commands/handler.c: Change module description.
40603
40604 * kern/handler.c: Add missing space at the end of description line.
40605
40606 * kern/list.c: Likewise.
40607
40608 2009-03-03 Robert Millan <rmh@aybabtu.com>
40609
40610 Move more components to the relocation area, and fix mbi pointer
40611 handling to use the destination rather than the origin (thanks to
40612 Vladimir Serbinenko for spotting).
40613
40614 * loader/i386/multiboot.c (mbi_dest): New variable.
40615 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40616 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40617 relocation area.
40618
40619 2009-03-01 Bean <bean123ch@gmail.com>
40620
40621 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
40622 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40623 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40624 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40625
40626 * loader/i386/efi/linux.c (acpi_guid): New variable.
40627 (acpi_guid): Likewise.
40628 (EBDA_SEG_ADDR): New constant.
40629 (LOW_MEM_ADDR): Likewise.
40630 (FAKE_EBDA_SEG): Likewise.
40631 (fake_bios_data): New function.
40632 (grub_linux_boot): Call fake_bios_data.
40633
40634 2009-03-01 Bean <bean123ch@gmail.com>
40635
40636 * commands/terminal.c: Removed.
40637
40638 * commands/handler.c: New file.
40639
40640 * include/grub/list.h: Likewise.
40641
40642 * include/grub/handler.h: Likewise.
40643
40644 * kern/list.c: Likewise.
40645
40646 * kern/handler.c: Likewise.
40647
40648 * kern/term.h: Include header file <grub/handler.h>.
40649 (grub_term_input): Move next field to the beginning.
40650 (grub_term_output): Likewise.
40651 (grub_term_input_class): New variable.
40652 (grub_term_output_class): Likewise.
40653 (grub_term_register_input): Changed to inline function.
40654 (grub_term_register_output): Likewise.
40655 (grub_term_unregister_input): Likewise.
40656 (grub_term_unregister_output): Likewise.
40657 (grub_term_set_current_input): Likewise.
40658 (grub_term_set_current_output): Likewise.
40659 (grub_term_get_current_input): Likewise.
40660 (grub_term_get_current_output): Likewise.
40661 (grub_term_iterate_input): Removed.
40662 (grub_term_iterate_output): Likewise.
40663
40664 * kern/term.c (grub_term_list_input): Removed.
40665 (grub_term_list_output): Likewise.
40666 (grub_term_input_class): New variable.
40667 (grub_term_output_class): Likewise.
40668 (grub_cur_term_input): Change variable as macro.
40669 (grub_cur_term_output): Likewise.
40670 (grub_term_register_input): Removed.
40671 (grub_term_register_output): Likewise.
40672 (grub_term_unregister_input): Likewise.
40673 (grub_term_unregister_output): Likewise.
40674 (grub_term_set_current_input): Likewise.
40675 (grub_term_set_current_output): Likewise.
40676 (grub_term_iterate_input): Likewise.
40677 (grub_term_iterate_output): Likewise.
40678 (grub_term_get_current_input): Likewise.
40679 (grub_term_get_current_output): Likewise.
40680
40681 * util/grub-editenv.c: Include header file <grub/handler.h>.
40682 (grub_term_get_current_input): Removed.
40683 (grub_term_get_current_output): Likewise.
40684 (grub_term_input_class): New variable.
40685 (grub_term_output_class): Likewise.
40686
40687 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40688 (grub_term_get_current_output): Likewise.
40689 (grub_term_input_class): New variable.
40690 (grub_term_output_class): Likewise.
40691
40692 * util/grub-probe.c (grub_term_get_current_input): Removed.
40693 (grub_term_get_current_output): Likewise.
40694 (grub_term_input_class): New variable.
40695 (grub_term_output_class): Likewise.
40696
40697 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40698 (grub_term_get_current_output): Likewise.
40699 (grub_term_input_class): New variable.
40700 (grub_term_output_class): Likewise.
40701
40702 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40703 (terminal_mod_SOURCES): Likewise.
40704 (terminal_mod_CFLAGS): Likewise.
40705 (terminal_mod_LDFLAGS): Likewise.
40706
40707 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40708 handler.c.
40709 (kernel_img_SOURCES): Add list.c and handler.c.
40710 (kernel_img_HEADERS): Add list.h and handler.h.
40711
40712 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40713 handler.c.
40714 (kernel_mod_SOURCES): Add list.c and handler.c.
40715 (kernel_mod_HEADERS): Add list.h and handler.h.
40716
40717 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40718 handler.c.
40719 (kernel_elf_SOURCES): Add list.c and handler.c.
40720 (kernel_elf_HEADERS): Add list.h and handler.h.
40721
40722 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40723 handler.c.
40724 (kernel_elf_SOURCES): Add list.c and handler.c.
40725 (kernel_elf_HEADERS): Add list.h and handler.h.
40726
40727 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40728 handler.c.
40729 (kernel_mod_SOURCES): Add list.c and handler.c.
40730 (kernel_mod_HEADERS): Add list.h and handler.h.
40731
40732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40733 handler.c.
40734 (kernel_elf_SOURCES): Add list.c and handler.c.
40735 (kernel_elf_HEADERS): Add list.h and handler.h.
40736
40737 2009-02-27 Robert Millan <rmh@aybabtu.com>
40738
40739 Factorize elf32 / elf64 code in Multiboot loader. This will
40740 prevent it from getting out of sync again.
40741
40742 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40743 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40744 grub_multiboot_load_elf64): Move from here ...
40745 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40746 grub_multiboot_load_elf): ... to here (new file).
40747
40748 2009-02-27 Robert Millan <rmh@aybabtu.com>
40749
40750 * util/grub.d/10_linux.in: Rename "single-user mode" to
40751 "recovery mode".
40752
40753 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40754
40755 Don't leak in SCSI code.
40756 * disk/scsi.c (grub_scsi_close): free `scsi'.
40757
40758 2009-02-27 Robert Millan <rmh@aybabtu.com>
40759
40760 * loader/i386/pc/multiboot.c: Move from here ...
40761 * loader/i386/multiboot.c: ... to here. Update all users.
40762
40763 2009-02-27 Robert Millan <rmh@aybabtu.com>
40764
40765 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40766 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40767
40768 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
40769
40770 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40771 b-tree.
40772
40773 2009-02-27 Robert Millan <rmh@aybabtu.com>
40774
40775 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40776 `0x' qualifier as 0 when base is specified as parameter).
40777
40778 2009-02-24 Bean <bean123ch@gmail.com>
40779
40780 * configure.ac: Check for -mcmodel=large in x86_64 target.
40781
40782 * include/grub/efi/api.h (efi_call_10): New macro.
40783 (efi_wrap_10): New function.
40784
40785 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40786 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40787 (GRUB_PE32_REL_BASED_LOW): Likewise.
40788 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40789 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40790 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40791 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40792 (GRUB_PE32_REL_BASED_REL): Likewise.
40793 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40794 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40795 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40796
40797 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40798 issue.
40799
40800 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40801 (efi_wrap_10): New function.
40802
40803 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40804
40805 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40806 MB/MBP model (NV chipset).
40807 (devdata_devs): Add devpath_5 to the list.
40808
40809 * load/i386/efi/linux.c (video_base): Remove variable.
40810 (RGB_MASK): New macro.
40811 (RGB_MAGIC): Likewise.
40812 (LINE_MIN): Likewise.
40813 (LINE_MAX): Likewise.
40814 (FBTEST_STEP): Likewise.
40815 (FBTEST_COUNT): Likewise.
40816 (fb_list): New variable.
40817 (grub_find_video_card): Remove function.
40818 (find_framebuf): New function.
40819 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40820 line length.
40821
40822 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40823 problem for x86_64.
40824
40825 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40826
40827 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40828
40829 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40830 coding tool name.
40831
40832 2009-02-22 Robert Millan <rmh@aybabtu.com>
40833
40834 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40835 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40836 in our relocation, instead of using it directly from heap. Also
40837 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40838
40839 2009-02-21 Robert Millan <rmh@aybabtu.com>
40840
40841 Implement USB keyboard support (based on patch by Marco Gerards)
40842
40843 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40844 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40845 (usb_keyboard_mod_LDFLAGS): New variables.
40846
40847 * term/usb_keyboard.c: New file.
40848
40849 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40850
40851 Corrected wrong declaration
40852
40853 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40854
40855 2009-02-14 Christian Franke <franke@computer.org>
40856
40857 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40858 (grub_lspci_iter): Print class code and programming interface byte.
40859
40860 2009-02-14 Christian Franke <franke@computer.org>
40861
40862 * gendistlist.sh: Ignore `.svn' directories.
40863
40864 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
40865
40866 * fs/fat.c: Add 2009 to Copyright line.
40867
40868 2009-02-14 Christian Franke <franke@computer.org>
40869
40870 * commands/hdparm.c: New file. Provides `hdparm' command
40871 which sends ATA commands via grub_disk_ata_pass_through ().
40872
40873 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40874
40875 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40876 and <grub/cpu/io.h> to include/grub/ata.h.
40877 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40878 (GRUB_CDROM_SECTOR_SIZE): Remove.
40879 (GRUB_ATA_*): Move to include/grub/ata.h.
40880 (GRUB_ATAPI_*): Likewise.
40881 (enum grub_ata_commands): Likewise.
40882 (enum grub_ata_timeout_milliseconds): Likewise.
40883 (struct grub_ata_device): Likewise.
40884 (grub_ata_regset): Likewise.
40885 (grub_ata_regget): Likewise.
40886 (grub_ata_regset2): Likewise.
40887 (grub_ata_regget2): Likewise.
40888 (grub_ata_check_ready): Likewise.
40889 (grub_ata_wait_not_busy): Remove static, exported in
40890 include/grub/ata.h.
40891 (grub_ata_wait_drq): Likewise.
40892 (grub_ata_pio_read): Likewise.
40893
40894 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40895 function for hdparm.mod.
40896
40897 * include/grub/ata.h: New file, contains declarations from
40898 disk/ata.c.
40899 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40900
40901 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40902 (grub_disk_ata_pass_through): New exported variable.
40903
40904 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40905
40906 2009-02-13 Colin D Bennett <colin@gibibit.com>
40907
40908 Support multiple fallback entries, and provide an API to support
40909 executing default+fallback menu entries. Renamed the `terminal' menu
40910 viewer to `text'.
40911
40912 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40913 variable declaration.
40914 (grub_menu_execute_callback): New structure declaration.
40915 (grub_menu_execute_callback_t): New typedef.
40916 (grub_menu_execute_with_fallback): New function declaration.
40917 (grub_menu_get_entry): Likewise.
40918 (grub_menu_get_timeout): Likewise.
40919 (grub_menu_set_timeout): Likewise.
40920
40921 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40922
40923 * normal/menu.c (grub_wait_after_message): Moved to
40924 `normal/menu_text.c'.
40925 (draw_border): Likewise.
40926 (print_message): Likewise.
40927 (print_entry): Likewise.
40928 (print_entries): Likewise.
40929 (grub_menu_init_page): Likewise.
40930 (get_entry_number): Likewise.
40931 (print_timeout): Likewise.
40932 (run_menu): Likewise.
40933 (grub_menu_execute_entry): Likewise.
40934 (show_text_menu): Likewise.
40935 (get_and_remove_first_entry_number): New function.
40936 (grub_menu_execute_with_fallback): Likewise.
40937 (get_entry): Renamed to ...
40938 (grub_menu_get_entry): .. this and made it global.
40939 (get_timeout): Renamed to ...
40940 (grub_menu_get_timeout): ... this and made it global.
40941 (set_timeout): Renamed to ...
40942 (grub_menu_set_timeout): ... this and made it global.
40943 (grub_normal_terminal_menu_viewer): Renamed to ...
40944 (grub_normal_text_menu_viewer): ... this.
40945
40946 * normal/menu_text.c: New file. Extracted text-menu-specific code
40947 from normal/menu.c.
40948
40949 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40950 (normal_mod_SOURCES): Likewise.
40951
40952 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40953 (normal_mod_SOURCES): Likewise.
40954
40955 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40956 (normal_mod_SOURCES): Likewise.
40957
40958 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40959 (normal_mod_SOURCES): Likewise.
40960
40961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40962 (normal_mod_SOURCES): Likewise.
40963
40964 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40965 (normal_mod_SOURCES): Likewise.
40966
40967 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40968 (normal_mod_SOURCES): Likewise.
40969
40970 2009-02-11 Robert Millan <rmh@aybabtu.com>
40971
40972 * util/grub.d/00_header.in: Update old reference to `font' command.
40973
40974 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
40975
40976 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40977
40978 Based on patch from Javier Martín.
40979
40980 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40981
40982 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
40983 to avoid false positives with FAT.
40984 (grub_fstest_SOURCES): Likewise.
40985 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40986 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40988 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40989 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40990 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40991
40992 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40993
40994 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
40995 bpb.version_specific.fat12_or_fat16.fstype and
40996 bpb.version_specific.fat32.fstype.
40997
40998 2009-02-08 Robert Millan <rmh@aybabtu.com>
40999
41000 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
41001
41002 2009-02-08 Robert Millan <rmh@aybabtu.com>
41003
41004 * Makefile.in (host_os, host_cpu): New variables.
41005 (target_os): Remove. Update all users.
41006
41007 2009-02-08 Marco Gerards <marco@gnu.org>
41008
41009 * Makefile.in (enable_grub_emu_usb): New variable.
41010 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
41011 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
41012 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
41013 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
41014 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
41015 `usbtest.mod' and `usbms.mod'.
41016 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
41017 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
41018 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
41019 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
41020 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
41021 variables.
41022
41023 * disk/usbms.c: New file.
41024
41025 * include/grub/usb.h: Likewise.
41026
41027 * include/grub/usbtrans.h: Likewise.
41028
41029 * include/grub/usbdesc.h: Likewise.
41030
41031 * bus/usb/usbtrans.c: Likewise.
41032
41033 * bus/usb/ohci.c: Likewise.
41034
41035 * bus/usb/uhci.c: Likewise.
41036
41037 * bus/usb/usbhub.c: Likewise.
41038
41039 * bus/usb/usb.c: Likewise.
41040
41041 * commands/usbtest.c: Likewise.
41042
41043 * util/usb.c: Likewise.
41044
41045 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
41046
41047 * configure.ac: Test for libusb presence.
41048
41049 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
41050
41051 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
41052
41053 * kern/mm.c: Add more comments.
41054
41055 2009-02-08 Robert Millan <rmh@aybabtu.com>
41056
41057 Patch from Javier Martín.
41058 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
41059 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
41060
41061 2009-02-08 Robert Millan <rmh@aybabtu.com>
41062
41063 * fs/cpio.c: Split tar functionality to ...
41064 * fs/tar.c: ... here (new file). Update all users.
41065
41066 2009-02-07 Robert Millan <rmh@aybabtu.com>
41067
41068 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
41069 backward-incompatible features.
41070
41071 Based on patch from Javier Martín, with some adjustments.
41072
41073 2009-02-07 Michael Scherer <misc@mandriva.org>
41074
41075 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
41076
41077 2009-02-07 Robert Millan <rmh@aybabtu.com>
41078
41079 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
41080 position of `disk/lvm.c' to ensure grub_init_all() always picks it
41081 after the RAID stuff.
41082
41083 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
41084
41085 Fixes problem when running vbetest command as reported by
41086 Vladimir Serbinenko <phcoder@gmail.com>.
41087
41088 * (grub_vbe_set_video_mode): Fixed problem with text modes.
41089
41090 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
41091
41092 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
41093 /dev/md/NpN style mdraid devices.
41094
41095 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41096
41097 * util/unifont2pff.rb: Remove.
41098
41099 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41100
41101 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
41102 `#'.
41103
41104 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41105
41106 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41107 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41108 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41109 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41111 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41112 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41113
41114 2009-02-02 Christian Franke <franke@computer.org>
41115
41116 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41117
41118 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
41119
41120 * INSTALL: Note that we now require at least autoconf 2.59 and
41121 that LZO is optional.
41122
41123 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41124
41125 Base on patch on bug #24154 created by Tomas Tintera
41126 <trosos@seznam.cz>.
41127
41128 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41129
41130 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41131
41132 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
41133 <bero@arklinux.org>.
41134
41135 * normal/parser.y (script_init): Add missing semicolon.
41136
41137 2009-01-31 Colin D Bennett <colin@gibibit.com>
41138
41139 * normal/main.c: Add include to grub/menu_viewer.h.
41140 (free_menu_entry_classes): Added.
41141 (grub_normal_menu_addentry): Added class property handling.
41142 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41143 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41144
41145 * normal/menu_viewer.c: New file.
41146
41147 * normal/menu.c (run_menu_entry): Renamed to ...
41148 (grub_menu_execute_entry): ... this and made it as global.
41149 (grub_menu_run): Renamed to ...
41150 (show_text_menu): ... this and made it local.
41151 (show_text_menu): Adapt to new function names.
41152 (grub_normal_terminal_menu_viewer): New global variable.
41153
41154 * include/grub/menu.h: New file.
41155
41156 * include/grub/menu_viewer.h: New file.
41157
41158 * include/grub/normal.h: Added include to grub/menu.h.
41159 (grub_menu_entry): Moved to include/grub/menu.h.
41160 (grub_menu_entry_t): Likewise.
41161 (grub_menu): Likewise.
41162 (grub_menu_t): Likewise.
41163 (grub_normal_terminal_menu_viewer): Added.
41164 (grub_menu_execute_entry): Likewise.
41165 (grub_menu_run): Removed.
41166
41167 * DISTLIST: Added include/grub/menu.h.
41168 Added include/grub/menu_viewer.h.
41169 Added normal/menu_viewer.c.
41170
41171 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41172
41173 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41174 arglist for menutitle arguments.
41175
41176 * normal/main.c (grub_normal_menu_addentry): Likewise.
41177
41178 * normal/parser.y (menuentry): Likewise.
41179
41180 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41181
41182 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41183 (grub_script_create_cmdmenu): Likewise.
41184
41185 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41186
41187 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41188 changes.
41189
41190 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41191
41192 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41193
41194 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41195
41196 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41197
41198 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41199
41200 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41201
41202 2009-01-30 Christian Franke <franke@computer.org>
41203
41204 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41205 in option help text.
41206
41207 2009-01-27 Pavel Roskin <proski@gnu.org>
41208
41209 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41210
41211 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41212
41213 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41214
41215 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41216
41217 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41218 unregister function.
41219
41220 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41221
41222 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41223
41224 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41225
41226 * util/grub-mkfont.c (usage): Fix typo.
41227
41228 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41229
41230 2009-01-26 Daniel Mierswa <impulze@impulze.org>
41231
41232 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41233
41234 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41235
41236 * kern/misc.c (grub_strcasecmp): New function.
41237 (grub_strcasecmp): Use grub_size_t instead of int for length.
41238 Fix return value.
41239 * include/grub/misc.h: Update function prototypes.
41240
41241 2009-01-26 Robert Millan <rmh@aybabtu.com>
41242
41243 * configure.ac: Fix cross-compilation check.
41244
41245 2009-01-22 Christian Franke <franke@computer.org>
41246
41247 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41248 (precision) digit string. Allow `.format2' without `format1' (width).
41249 Limit input chars for `%s' output to `format2' if specified. This is
41250 compatible with standard printf ().
41251
41252 2009-01-22 Christian Franke <franke@computer.org>
41253
41254 * disk/ata.c (grub_ata_wait_status): Replace by ...
41255 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41256 other status bits may be invalid while BSY is asserted.
41257 (grub_ata_check_ready): New function.
41258 (grub_ata_cmd): Removed.
41259 (grub_ata_wait_drq): New function.
41260 (grub_ata_strncpy): Remove inline.
41261 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41262 and error check now done by grub_ata_wait_drq ().
41263 (grub_ata_pio_write): Likewise.
41264 (grub_atapi_identify): Set DEV before check for !BSY. Use
41265 grub_ata_wait_drq () to wait for data.
41266 (grub_ata_device_initialize): Add status register check to
41267 detect missing SATA slave devices. Add debug messages.
41268 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41269 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41270 transfer loop by grub_ata_pio_write ().
41271 (grub_ata_identify): Set DEV before check for !BSY. Use
41272 grub_ata_wait_drq () to wait for data.
41273 (grub_ata_setaddress): Set DEV before check for !BSY.
41274 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41275 read/write in one loop. Fix invalid command on write. Fix incomplete
41276 command on (size % batch) == 0. Add missing error check after write of
41277 last block. Add debug messages.
41278 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41279
41280 2009-01-19 Christian Franke <franke@computer.org>
41281
41282 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41283 (GRUB_ATAPI_IREASON_*): Likewise.
41284 (grub_ata_pio_write): Fix timeout error return.
41285 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41286 (grub_atapi_wait_drq): New function.
41287 (grub_atapi_packet): New parameter `size'.
41288 Use grub_atapi_wait_drq () and direct write instead of
41289 grub_ata_pio_write ().
41290 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41291 reads the number of bytes requested by the device for each DRQ
41292 assertion.
41293 (grub_atapi_write): Remove old implementation, return not
41294 implemented instead.
41295
41296 2009-01-19 Christian Franke <franke@computer.org>
41297
41298 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41299 of 512 to calculate data size.
41300 (grub_scsi_read12): Likewise.
41301 (grub_scsi_write10): Likewise.
41302 (grub_scsi_write12): Likewise.
41303 (grub_scsi_read): Adjust size according to blocksize.
41304 Add checks for invalid blocksize and unaligned transfer.
41305
41306 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41307
41308 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41309
41310 * term/gfxterm.c (write_char): Fix background rendering for wide
41311 width glyphs.
41312
41313 2009-01-19 Robert Millan <rmh@aybabtu.com>
41314
41315 * config.guess: Update to latest version from config git.
41316 * config.sub: Likewise.
41317
41318 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
41319
41320 * Makefile.in: Change font compilation to use new grub-mkfont instead
41321 of java version.
41322
41323 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41324 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41325 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41326 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41327 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41328 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41329 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41330 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41331 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41332
41333 2009-01-16 Christian Franke <franke@computer.org>
41334
41335 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41336 (enum grub_ata_timeout_milliseconds): New enum.
41337 (grub_ata_wait_status): Add parameter milliseconds.
41338 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41339 recovery from timed-out commands.
41340 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41341 return grub_errno instead of REG_ERROR.
41342 (grub_ata_pio_write): Add parameter milliseconds.
41343 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41344 Pass milliseconds to grub_ata_wait_status () and
41345 grub_ata_pio_read ().
41346 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41347 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41348 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41349 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41350 It is not suitable for device detection, because DEV bit is ignored,
41351 the command may run too long, and not all devices set the signature
41352 properly.
41353 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41354 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41355 Fix device selection, DEV bit must be set first to address the registers
41356 of the correct device.
41357 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41358 grub_ata_pio_read/write ().
41359 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41360 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41361
41362 2009-01-13 Carles Pina i Estany <carles@pina.cat>
41363
41364 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41365
41366 2009-01-13 Bean <bean123ch@gmail.com>
41367
41368 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41369
41370 2009-01-13 Bean <bean123ch@gmail.com>
41371
41372 * Makefile.in: (enable_grub_mkfont): New variable.
41373 (freetype_cflags): Likewise.
41374 (freetype_libs): Likewise.
41375
41376 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41377 (grub_mkfont_SOURCES): New variable.
41378 (grub_mkfont_CFLAGS): Likewise.
41379 (grub_mkfont_LDFLAGS): Likewise.
41380
41381 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41382 library if `--enable-grub-mkfont' is requested.
41383 (enable_grub_mkfont): New variable.
41384 (freetype_cflags): Likewise.
41385 (freetype_libs): Likewise.
41386
41387 * util/grub-mkfont.c: New file.
41388
41389 2009-01-12 Christian Franke <franke@computer.org>
41390
41391 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41392 mode check. Fix setting of compat_use[].
41393
41394 2009-01-10 Robert Millan <rmh@aybabtu.com>
41395
41396 Update a few copyright years which we forgot to do in 2008 (only for
41397 files whose changes made in 2008 were copyright-significant)
41398
41399 * Makefile.in: Add 2008 to Copyright line.
41400 * disk/ieee1275/ofdisk.c: Likewise.
41401 * disk/efi/efidisk.c: Likewise.
41402 * kern/dl.c: Likewise.
41403 * kern/sparc64/ieee1275/init.c: Likewise.
41404 * kern/mm.c: Likewise.
41405 * kern/efi/mm.c: Likewise.
41406 * boot/i386/pc/boot.S: Likewise.
41407 * genfslist.sh: Likewise.
41408 * fs/iso9660.c: Likewise.
41409 * fs/hfs.c: Likewise.
41410 * fs/jfs.c: Likewise.
41411 * fs/minix.c: Likewise.
41412 * fs/ufs.c: Likewise.
41413 * gensymlist.sh.in: Likewise.
41414 * genkernsyms.sh.in: Likewise.
41415 * include/grub/misc.h: Likewise.
41416 * include/grub/types.h: Likewise.
41417 * include/grub/symbol.h: Likewise.
41418 * include/grub/elf.h: Likewise.
41419 * include/grub/kernel.h: Likewise.
41420 * include/grub/disk.h: Likewise.
41421 * include/grub/dl.h: Likewise.
41422 * include/grub/i386/linux.h: Likewise.
41423 * include/grub/i386/pc/biosdisk.h: Likewise.
41424 * include/grub/efi/api.h: Likewise.
41425 * include/grub/efi/pe32.h: Likewise.
41426 * include/grub/util/misc.h: Likewise.
41427 * normal/execute.c: Likewise.
41428 * normal/arg.c: Likewise.
41429 * normal/completion.c: Likewise.
41430 * normal/lexer.c: Likewise.
41431 * normal/parser.y: Likewise.
41432 * normal/misc.c: Likewise.
41433 * commands/i386/pc/vbeinfo.c: Likewise.
41434 * commands/hexdump.c: Likewise.
41435 * commands/terminal.c: Likewise.
41436 * commands/ls.c: Likewise.
41437 * commands/help.c: Likewise.
41438 * partmap/pc.c: Likewise.
41439 * loader/efi/chainloader.c: Likewise.
41440 * loader/multiboot_loader.c: Likewise.
41441 * loader/i386/pc/multiboot2.c: Likewise.
41442 * term/efi/console.c: Likewise.
41443 * term/i386/pc/serial.c: Likewise.
41444 * util/lvm.c: Likewise.
41445 * util/console.c: Likewise.
41446 * util/i386/efi/grub-mkimage.c: Likewise.
41447 * util/raid.c: Likewise.
41448
41449 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41450
41451 * commands/videotest.c: Removed include to grub/machine/memory.h.
41452
41453 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41454 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41455 (video_mod_SOURCES): Removed.
41456 (video_mod_CFLAGS): Likewise.
41457 (video_mod_LDFLAGS): Likewise.
41458 (gfxterm_mod_SOURCES): Likewise.
41459 (gfxterm_mod_CFLAGS): Likewise.
41460 (gfxterm_mod_LDFLAGS): Likewise.
41461 (videotest_mod_SOURCES): Likewise.
41462 (videotest_mod_CFLAGS): Likewise.
41463 (videotest_mod_LDFLAGS): Likewise.
41464 (bitmap_mod_SOURCES): Likewise.
41465 (bitmap_mod_CFLAGS): Likewise.
41466 (bitmap_mod_LDFLAGS): Likewise.
41467 (tga_mod_SOURCES): Likewise.
41468 (tga_mod_CFLAGS): Likewise.
41469 (tga_mod_LDFLAGS): Likewise.
41470 (jpeg_mod_SOURCES): Likewise.
41471 (jpeg_mod_CFLAGS): Likewise.
41472 (jpeg_mod_LDFLAGS): Likewise.
41473 (png_mod_SOURCES): Likewise.
41474 (png_mod_CFLAGS): Likewise.
41475 (png_mod_LDFLAGS): Likewise.
41476
41477 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41478 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41479 (video_mod_SOURCES): Added.
41480 (video_mod_CFLAGS): Likewise.
41481 (video_mod_LDFLAGS): Likewise.
41482 (videotest_mod_SOURCES): Likewise.
41483 (videotest_mod_CFLAGS): Likewise.
41484 (videotest_mod_LDFLAGS): Likewise.
41485 (bitmap_mod_SOURCES): Likewise.
41486 (bitmap_mod_CFLAGS): Likewise.
41487 (bitmap_mod_LDFLAGS): Likewise.
41488 (tga_mod_SOURCES): Likewise.
41489 (tga_mod_CFLAGS): Likewise.
41490 (tga_mod_LDFLAGS): Likewise.
41491 (jpeg_mod_SOURCES): Likewise.
41492 (jpeg_mod_CFLAGS): Likewise.
41493 (jpeg_mod_LDFLAGS): Likewise.
41494 (png_mod_SOURCES): Likewise.
41495 (png_mod_CFLAGS): Likewise.
41496 (png_mod_LDFLAGS): Likewise.
41497 (gfxterm_mod_SOURCES): Likewise.
41498 (gfxterm_mod_CFLAGS): Likewise.
41499 (gfxterm_mod_LDFLAGS): Likewise.
41500
41501 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41502 grub/machine/console.h.
41503
41504 2009-01-04 Jerone Young <jerone@gmail.com>
41505
41506 Make on screen instructions clearer
41507
41508 Based on patch created by Jidanni <jidanni@jidanni.org>
41509
41510 * normal/menu.c: print clearer instructions on the screen
41511
41512 2009-01-02 Colin D Bennett <colin@gibibit.com>
41513
41514 New font engine.
41515
41516 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41517 build system and fixed gfxterm.c to work with different sized fonts.
41518
41519 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
41520
41521 * configure: Re-generated.
41522
41523 * DISTLIST: Removed font/manager.c.
41524 Added font/font.c.
41525 Added font/font_cmd.c.
41526
41527 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41528 compilation.
41529
41530 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
41531
41532 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
41533
41534 * kern/term.c: Changed users of grub_utf8_to_ucs4.
41535
41536 * normal/menu.c: Likewise.
41537
41538 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41539 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
41540
41541 * include/grub/font.h: Replaced with new file.
41542
41543 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41544 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41545 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41546 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41547 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
41548 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
41549 fg_red, fg_green, fg_blue, fg_alpha.
41550 (grub_video_adapter): Removed blit_glyph.
41551 (grub_video_blit_glyph): Removed.
41552
41553 * font/manager.c: Removed file.
41554
41555 * font/font.c: New file.
41556
41557 * font/font_cmd.c: Likewise.
41558
41559 * video/video.c (grub_video_blit_glyph): Removed.
41560
41561 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41562 (grub_video_vbe_map_rgba): Likewise.
41563 (grub_video_vbe_unmap_color_int): Likewise.
41564 (grub_video_vbe_blit_glyph): Removed.
41565 (grub_video_vbe_adapter): Removed blit_glyph.
41566
41567 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41568 (get_pixel): Likewise.
41569 (set_pixel): Likewise.
41570
41571 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
41572
41573 * term/gfxterm.c: Adapted to new font engine.
41574
41575 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
41576
41577 * term/i386/pc/vga.c: Likewise.
41578
41579 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
41580
41581 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41582
41583 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41584
41585 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41586
41587 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41588
41589 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41590
41591 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41592
41593 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41594
41595 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41596
41597 * util/grub.d/00_header.in: Changed to use new loadfont command.
41598
41599 * util/grub-mkconfig_lib.in: Changed font extension.
41600
41601 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
41602
41603 * util/getroot.c (grub_util_get_grub_dev): Add support for
41604 /dev/md/dNNpNN style partitionable mdraid devices.
41605
41606 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
41607
41608 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41609 at a time limit of the PXE TFTP API correctly.
41610 (grub_pxefs_close): Likewise.
41611
41612 2008-11-29 Robert Millan <rmh@aybabtu.com>
41613
41614 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
41615 grub_ata_device_initialize() calls.
41616
41617 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
41618
41619 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41620 iteration failed.
41621 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41622
41623 2008-11-28 Robert Millan <rmh@aybabtu.com>
41624
41625 Fix build on powerpc-ieee1275. Based on patch created by
41626 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41627 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41628 `kern/ieee1275/mmap.c'.
41629 * include/grub/powerpc/ieee1275/memory.h: New file.
41630
41631 Provide grub-install on coreboot.
41632 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41633 (grub_install_SOURCES): New variable.
41634 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41635 usable on coreboot.
41636
41637 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
41638
41639 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41640 to `grub_term_input_t'.
41641 (grub_term_get_current_output): Change return type to
41642 `grub_term_output_t'.
41643
41644 2008-11-22 Robert Millan <rmh@aybabtu.com>
41645
41646 Fix breakage on coreboot due to declaration mismatch.
41647 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41648 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41649 grub_vga_text_cls().
41650
41651 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
41652 comments. Avoid copying one more byte than necessary (just in case).
41653
41654 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41655 to 0x200000 (avoids trouble with some OFW implementations, and matches
41656 with the one in Yaboot).
41657 Reported by Manoel Abranches
41658
41659 2008-11-20 Robert Millan <rmh@aybabtu.com>
41660
41661 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41662 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41663
41664 * util/grub-mkconfig_lib.in (grub_warn): New function.
41665 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41666 warnings, to obtain consistent formatting.
41667 * util/grub.d/00_header.in: Likewise.
41668 * util/update-grub_lib.in: Likewise.
41669
41670 * loader/i386/linux.c (allocate_pages): Fix a warning.
41671 Move comment text to `#error' stanza.
41672
41673 Harmonize ieee1275's grub_available_iterate() with the generic
41674 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41675 build problem on i386-ieee1275):
41676 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41677 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41678 parameter `type'. Update all users of this function.
41679 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41680 `kern/ieee1275/mmap.c'.
41681 * kern/ieee1275/init.c
41682 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41683 with ...
41684 (grub_machine_mmap_iterate): ... this.
41685 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41686 return type to `grub_err_t'. Update all implementations of this
41687 function prototype.
41688 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41689 Likewise.
41690
41691 Add `lsmmap' command (lists firmware-provided memory map):
41692 * commands/lsmmap.c: New file.
41693 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41694 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41695 variables.
41696 * conf/powerpc-ieee1275.rmk: Likewise.
41697 * conf/i386-coreboot.rmk: Likewise.
41698 * conf/i386-ieee1275.rmk: Likewise.
41699
41700 2008-11-19 Robert Millan <rmh@aybabtu.com>
41701
41702 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
41703 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41704 constraints to initrd allocation (based on code from
41705 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41706 for Linux to find it.
41707
41708 2008-11-14 Robert Millan <rmh@aybabtu.com>
41709
41710 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41711 order to cope with duplicate slashes.
41712
41713 2008-11-14 Robert Millan <rmh@aybabtu.com>
41714
41715 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41716 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41717 don't want to mess with lower memory, because it is used in the Linux
41718 loader.
41719
41720 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
41721 an appropriate place in lower memory, between 0x10000 and 0x90000,
41722 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41723 is in our heap (probably as a result of it being corrupted during
41724 decompression). Add #error instance with comment to explain why this
41725 loader isn't currently usable on PC/BIOS.
41726
41727 2008-11-14 Robert Millan <rmh@aybabtu.com>
41728
41729 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
41730 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
41731
41732 2008-11-12 Robert Millan <rmh@aybabtu.com>
41733
41734 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41735
41736 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41737 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41738 from here ...
41739 * include/grub/i386/pc/memory.h: ... to here.
41740
41741 2008-11-12 Robert Millan <rmh@aybabtu.com>
41742
41743 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41744 split).
41745
41746 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41747 (grub_console_cur_color, grub_console_real_putchar)
41748 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41749 (grub_console_setcolorstate, grub_console_setcolor)
41750 (grub_console_getcolor): Move from here ...
41751 * include/grub/i386/vga_common.h: ... to here (new file).
41752
41753 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41754 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41755 `<grub/i386/io.h>'.
41756 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41757 `<grub/i386/vga_common.h>'.
41758
41759 2008-11-12 Robert Millan <rmh@aybabtu.com>
41760
41761 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41762 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41763 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41764 variables.
41765 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41766 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41767
41768 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41769 grub_console_init() with call to grub_vga_text_init().
41770 (grub_machine_fini): Replace call to
41771 grub_console_fini() with call to grub_vga_text_fini() and
41772 grub_at_keyboard_fini().
41773
41774 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41775 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41776 (grub_console_setcolorstate, grub_console_setcolor)
41777 (grub_console_getcolor): New function prototypes.
41778
41779 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41780 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41781 (grub_vga_text_setcursor): Static-ize.
41782 (grub_vga_text_term): New structure.
41783 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41784
41785 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41786 (grub_console_cur_color, grub_console_standard_color)
41787 (grub_console_normal_color, grub_console_highlight_color)
41788 (map_char, grub_console_putchar, grub_console_getcharwidth)
41789 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41790 (grub_console_getcolor): Move from here ...
41791 * term/i386/vga_common.c: ... to here (same function names).
41792
41793 2008-11-12 Robert Millan <rmh@aybabtu.com>
41794
41795 Use newly-added Multiboot support in coreboot.
41796
41797 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41798 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41799
41800 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41801 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41802 (codestart): Store the MBI in `startup_multiboot_info' when we're
41803 being loaded using Multiboot.
41804
41805 * kern/i386/coreboot/init.c (grub_machine_init): Move
41806 grub_at_keyboard_init() call to beginning of function (useful for
41807 debugging). Call grub_machine_mmap_init() before attempting to use
41808 grub_machine_mmap_iterate().
41809 (grub_lower_mem, grub_upper_mem): Move from here ...
41810 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41811 here (new file).
41812
41813 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41814 function prototype.
41815
41816 2008-11-12 Robert Millan <rmh@aybabtu.com>
41817
41818 Fix a regression introduced by the at_keyboard.mod split. Because
41819 some terminals are default on some platforms and non-default on
41820 others, the first terminal being registered determines which is
41821 going to be default.
41822
41823 * kern/term.c (grub_term_register_input): If this is the first
41824 terminal being registered, set it as the current one.
41825 (grub_term_register_output): Likewise.
41826
41827 * term/efi/console.c (grub_console_init): Do not call
41828 grub_term_set_current_output() or grub_term_set_current_input().
41829 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41830 * term/i386/pc/console.c (grub_console_init): Likewise.
41831 (grub_console_fini): Do not call grub_term_set_current_input()
41832 (but leave grub_term_set_current_output() to restore text mode).
41833
41834 2008-11-10 Robert Millan <rmh@aybabtu.com>
41835
41836 * util/grub.d/00_header.in: Add backward compatibility check for
41837 versions of terminal.mod that don't understand `terminal_input' or
41838 `terminal_output'.
41839
41840 2008-11-09 Robert Millan <rmh@aybabtu.com>
41841
41842 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41843 `terminal_input' / `terminal_output', not `terminal'.
41844
41845 2008-11-08 Robert Millan <rmh@aybabtu.com>
41846
41847 * Makefile.in (include_DATA): Fix srcdir=. assumption.
41848 (DISTCLEANFILES): Add `build_env.mk'.
41849
41850 2008-11-08 Robert Millan <rmh@aybabtu.com>
41851
41852 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
41853 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41854 members. Update all users.
41855 * util/console.c (grub_ncurses_term): Split in ...
41856 (grub_ncurses_term_input): ... this, and ...
41857 (grub_ncurses_term_output): ... this. Update all users.
41858 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
41859
41860 2008-11-08 Robert Millan <rmh@aybabtu.com>
41861
41862 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41863 (PKGDATA): Add $(pkgdata_SRCDIR).
41864 (pkglib_BUILDDIR): New variable.
41865 (pkgdata_SRCDIR): New variable.
41866 (build_env.mk): New target.
41867 (include_DATA): New variable.
41868 (install-local): Install $(include_DATA) files in $(includedir).
41869
41870 2008-11-07 Pavel Roskin <proski@gnu.org>
41871
41872 * gendistlist.sh: Use C locale for sorting to ensure consistent
41873 output on all systems.
41874
41875 * util/grub.d/00_header.in: Remove incorrect space before
41876 "serial".
41877
41878 2008-11-07 Robert Millan <rmh@aybabtu.com>
41879
41880 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41881 per specification.
41882 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41883 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41884 (based on find_multi_boot1_header).
41885 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41886 using find_multi_boot2_header(), and abort if neither Multiboot or
41887 Multiboot headers were found.
41888
41889 2008-11-07 Robert Millan <rmh@aybabtu.com>
41890
41891 Modularize at_keyboard.mod:
41892
41893 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41894 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41895 (at_keyboard_mod_LDFLAGS): New variables.
41896
41897 Actual terminal split:
41898
41899 * include/grub/term.h (struct grub_term): Split in ...
41900 (struct grub_term_input): ... this, and ...
41901 (struct grub_term_output): ... this. Update all users.
41902 (grub_term_set_current): Split in ...
41903 (grub_term_set_current_input): ... this, and ...
41904 (grub_term_set_current_output): ... this.
41905 (grub_term_get_current): Split in ...
41906 (grub_term_get_current_input): ... this, and ...
41907 (grub_term_get_current_output): ... this.
41908 (grub_term_register): Split in ...
41909 (grub_term_register_input): ... this, and ...
41910 (grub_term_register_output): ... this.
41911 (grub_term_unregister): Split in ...
41912 (grub_term_unregister_input): ... this, and ...
41913 (grub_term_unregister_output): ... this.
41914 (grub_term_iterate): Split in ...
41915 (grub_term_iterate_input): ... this, and ...
41916 (grub_term_iterate_output): ... this.
41917
41918 * kern/term.c (grub_term_list): Split in ...
41919 (grub_term_list_input): ... this, and ...
41920 (grub_term_list_output): ... this. Update all users.
41921 (grub_cur_term): Split in ...
41922 (grub_cur_term_input): ... this, and ...
41923 (grub_cur_term_output): ... this. Update all users.
41924 (grub_term_set_current): Split in ...
41925 (grub_term_set_current_input): ... this, and ...
41926 (grub_term_set_current_output): ... this.
41927 (grub_term_get_current): Split in ...
41928 (grub_term_get_current_input): ... this, and ...
41929 (grub_term_get_current_output): ... this.
41930 (grub_term_register): Split in ...
41931 (grub_term_register_input): ... this, and ...
41932 (grub_term_register_output): ... this.
41933 (grub_term_unregister): Split in ...
41934 (grub_term_unregister_input): ... this, and ...
41935 (grub_term_unregister_output): ... this.
41936 (grub_term_iterate): Split in ...
41937 (grub_term_iterate_input): ... this, and ...
41938 (grub_term_iterate_output): ... this.
41939
41940 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41941 a check for input and one for output (and only attempt to get keys
41942 from user when input works).
41943
41944 * util/grub-probe.c (grub_term_get_current): Split in ...
41945 (grub_term_get_current_input): ... this, and ...
41946 (grub_term_get_current_output): ... this.
41947 * util/grub-fstest.c: Likewise.
41948 * util/i386/pc/grub-setup.c: Likewise.
41949 * util/grub-editenv.c: Likewise.
41950
41951 Portability adjustments:
41952
41953 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41954 `term/i386/pc/at_keyboard.c'.
41955 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41956 grub_keyboard_controller_init() (now handled by terminal .init).
41957 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41958 grub_at_keyboard_init().
41959 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41960 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41961 at_keyboard.mod via input terminal interface).
41962 * include/grub/i386/coreboot/console.h: Convert into a stub for
41963 `<grub/i386/pc/console.h>'.
41964
41965 Migrate full terminals to new API:
41966
41967 * term/efi/console.c (grub_console_term): Split into ...
41968 (grub_console_term_input): ... this, and ...
41969 (grub_console_term_output): ... this. Update all users.
41970 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41971 (grub_ofconsole_init): Split into ...
41972 (grub_ofconsole_init_input): ... this, and ...
41973 (grub_ofconsole_init_output): ... this.
41974 (grub_ofconsole_term): Split into ...
41975 (grub_ofconsole_term_input): ... this, and ...
41976 (grub_ofconsole_term_output): ... this. Update all users.
41977 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41978 (grub_serial_term_input): ... this, and ...
41979 (grub_serial_term_output): ... this. Update all users.
41980 * term/i386/pc/console.c (grub_console_term): Split into ...
41981 (grub_console_term_input): ... this, and ...
41982 (grub_console_term_output): ... this. Update all users.
41983 (grub_console_term_input): Only enable it on PC/BIOS platform.
41984 (grub_console_init): Remove grub_keyboard_controller_init() call.
41985
41986 Migrate input terminals to new API:
41987
41988 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41989 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41990 i386-specific anyway).
41991 (grub_console_checkkey): Rename to ...
41992 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41993 users.
41994 (grub_keyboard_controller_orig): New variable.
41995 (grub_console_getkey): Rename to ...
41996 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41997 users.
41998 (grub_keyboard_controller_init): Static-ize. Save original
41999 controller value so that it can be restored ...
42000 (grub_keyboard_controller_fini): ... here (new function).
42001 (grub_at_keyboard_term): New structure.
42002 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
42003 functions.
42004
42005 Migrate output terminals to new API:
42006
42007 * term/i386/pc/vga.c (grub_vga_term): Change type to
42008 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42009 members. Update all users.
42010 * term/gfxterm.c (grub_video_term): Change type to
42011 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
42012 members. Update all users.
42013 * include/grub/i386/pc/console.h (grub_console_checkkey)
42014 (grub_console_getkey): Do not export (no longer needed by gfxterm,
42015 etc).
42016
42017 Migrate `terminal' command and userland tools to new API:
42018
42019 * commands/terminal.c (grub_cmd_terminal): Split into ...
42020 (grub_cmd_terminal_input): ... this, and ...
42021 (grub_cmd_terminal_output): ... this.
42022 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
42023 `terminal_input' and `terminal_output'.
42024 * util/grub.d/00_header.in: Adjust `terminal' calls to new
42025 `terminal_input' / `terminal_output' API.
42026 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
42027 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
42028 provided ${GRUB_TERMINAL}, convert it).
42029
42030 2008-11-04 Robert Millan <rmh@aybabtu.com>
42031
42032 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
42033 for FreeBSD.
42034 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
42035
42036 2008-11-03 Bean <bean123ch@gmail.com>
42037
42038 * kern/elf.c (grub_elf32_load): Revert to previous code.
42039 (grub_elf64_load): Likewise.
42040
42041 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
42042
42043 2008-11-01 Robert Millan <rmh@aybabtu.com>
42044
42045 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
42046 (TARGET_CPPFLAGS): Likewise.
42047 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
42048
42049 2008-11-01 Carles Pina i Estany <carles@pina.cat>
42050
42051 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
42052
42053 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
42054
42055 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
42056 addition of objects until the code is not going to be able to fail.
42057
42058 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
42059
42060 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
42061 (add a missing NULL check, and correct them by moving the pointer
42062 operations after the actual check).
42063
42064 2008-10-29 Robert Millan <rmh@aybabtu.com>
42065
42066 * util/i386/pc/grub-install.in: Handle empty string as output from
42067 make_system_path_relative_to_its_root().
42068
42069 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
42070
42071 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
42072 circular metadata worst case scenario. If the metadata is circular
42073 then copy the wrap in place.
42074 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
42075 project lib/format_text/layout.h
42076 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
42077
42078 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42079
42080 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
42081
42082 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42083
42084 * util/update-grub_lib.in: Mention filename in warning message.
42085
42086 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42087
42088 * NEWS: Update for rename of update-grub to grub-mkconfig.
42089
42090 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42091
42092 * util/update-grub_lib.in: Copy to ...
42093 * util/grub-mkconfig_lib.in: ... this. Update all users.
42094 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
42095 * util/update-grub.in: Rename to ...
42096 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
42097 option. Add `--output' option to allow users to specify the generated
42098 configuration file. Default to stdout.
42099 (update_grub_dir): Rename to ...
42100 (grub_mkconfig_dir): ... this.
42101 (grub_cfg): Default to an empty string.
42102 * conf/common.rmk (update-grub): Rename to ...
42103 (grub-mkconfig): ... this.
42104 (update-grub_lib): Copy to ...
42105 (grub-mkconfig_lib): ... this.
42106 (update-grub_SCRIPTS): Copy to ...
42107 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42108 (update-grub_DATA): Rename to ...
42109 (grub-mkconfig_DATA): ... this.
42110
42111 2008-09-28 Robert Millan <rmh@aybabtu.com>
42112
42113 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42114 to `modified'. Add the real `created' field.
42115 (grub_iso9660_uuid): Use `modified' rather than `created' for
42116 constructing the UUID.
42117
42118 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
42119
42120 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42121 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42122
42123 2008-09-28 Bean <bean123ch@gmail.com>
42124
42125 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42126 Thanks to Christian Franke for finding this bug.
42127
42128 2008-09-25 Robert Millan <rmh@aybabtu.com>
42129
42130 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42131 instances of grub_util_get_disk_name() (see previous commit).
42132
42133 2008-09-25 Robert Millan <rmh@aybabtu.com>
42134
42135 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42136 `util/i386/get_disk_name.c'.
42137 * conf/i386-efi.rmk: Likewise.
42138 * conf/x86_64-efi.rmk: Likewise.
42139 * conf/i386-coreboot.rmk: Likewise.
42140 * conf/i386-ieee1275.rmk: Likewise.
42141 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42142 `util/ieee1275/get_disk_name.c'.
42143 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42144 * util/ieee1275/get_disk_name.c: Remove file.
42145 * util/i386/get_disk_name.c: Remove file.
42146 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42147 "hd%d" for device.map entries, rather than using
42148 grub_util_get_disk_name().
42149
42150 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42151
42152 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42153 warning.
42154 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42155
42156 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42157
42158 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42159 Changed to 0x5100.
42160 (GRUB_TERM_PPAGE): Changed to 0x4900.
42161
42162 2008-09-24 Robert Millan <rmh@aybabtu.com>
42163
42164 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42165 macros (they were i386-pc specific).
42166 * include/grub/sparc64/ieee1275/console.h: Likewise.
42167 * include/grub/efi/console.h: Likewise.
42168
42169 2008-09-22 Bean <bean123ch@gmail.com>
42170
42171 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42172 resident and in attribute list.
42173
42174 * include/grub/ntfs.h (BMP_LEN): Removed.
42175
42176 2008-09-22 Bean <bean123ch@gmail.com>
42177
42178 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
42179 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42180
42181 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42182 error occurs, as grub_disk_open will call grub_disk_close, which will
42183 call p->close (scsi).
42184
42185 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42186
42187 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42188 (AC_PREREQ): Bumped to 2.59.
42189 (AC_TRY_COMPILE): Replace obsolete macro with ...
42190 (AC_COMPILE_IFELSE): ... this.
42191 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42192 (AC_LINK_IFELSE): ... this.
42193
42194 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42195
42196 * autogen.sh: Add a call to `gendistlist.sh'.
42197
42198 2008-09-19 Christian Franke <franke@computer.org>
42199
42200 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42201 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42202 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42203 Export __enable_execute_stack() to modules.
42204 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42205 New function.
42206
42207 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42208
42209 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42210 Sort the list.
42211
42212 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42213
42214 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
42215 #include <grub/util/hostdisk.h>.
42216
42217 2008-09-08 Robert Millan <rmh@aybabtu.com>
42218
42219 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42220 segments when their filesz is zero (grub_file_read() interprets
42221 zero-size as "read until EOF", which results in memory corruption).
42222 Use `lowest_segment' rather than 0 for calculating the current
42223 segment load address.
42224
42225 2008-09-08 Robert Millan <rmh@aybabtu.com>
42226
42227 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42228 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42229 clobbered useful information.
42230
42231 2008-09-08 Robert Millan <rmh@aybabtu.com>
42232
42233 * include/grub/util/biosdisk.h: Move to ...
42234 * include/grub/util/hostdisk.h: ... here. Update all users.
42235 * util/biosdisk.c: Move to ...
42236 * util/hostdisk.c: ... here. Update all users.
42237
42238 2008-09-07 Robert Millan <rmh@aybabtu.com>
42239
42240 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42241 variables.
42242 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42243 and length can be stored directly in the `mbi->mmap_addr' and
42244 `mbi->mmap_length' struct fields.
42245
42246 2008-09-07 Robert Millan <rmh@aybabtu.com>
42247
42248 * conf/i386.rmk: New file. Provides declaration for building
42249 `cpuid.mod'.
42250 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42251 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42252 variables.
42253 Include `conf/i386.mk'.
42254 * conf/i386-efi.rmk: Likewise.
42255 * conf/x86_64-efi.rmk: Likewise.
42256 * conf/i386-coreboot.rmk: Likewise.
42257 * conf/i386-ieee1275.rmk: Likewise.
42258
42259 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42260
42261 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42262 Adds optimization support for BGR based modes.
42263
42264 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42265 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42266 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42267 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42268 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42269 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42270 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42271 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42272 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42273 (grub_video_i386_vbeblit_index_index): Likewise.
42274 (grub_video_i386_vbeblit_replace_directN): Added.
42275 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42276 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42277 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42278 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42279 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42280 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42281 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42282 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42283 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42284 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42285 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42286 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42287 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42288
42289 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42290 (grub_video_i386_vbefill_R8G8B8): Likewise.
42291 (grub_video_i386_vbefill_index): Likewise.
42292 (grub_video_i386_vbefill_direct32): Added.
42293 (grub_video_i386_vbefill_direct24): Likewise.
42294 (grub_video_i386_vbefill_direct16): Likewise.
42295 (grub_video_i386_vbefill_direct8): Likewise.
42296
42297 * include/grub/video.h (grub_video_blit_format): Removed
42298 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42299 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42300 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42301 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42302 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
42303
42304 * video/video.c (grub_video_get_blit_format): Updated to use new
42305 blit formats. Added handling for 16 bit color modes.
42306
42307 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
42308 fillers.
42309 (common_blitter): Updated to use new blitters.
42310
42311 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42312 Removed.
42313 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42314 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42315 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42316 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42317 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42318 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42319 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42320 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42321 (grub_video_i386_vbeblit_index_index): Likewise.
42322 (grub_video_i386_vbeblit_replace_directN): Added.
42323 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42324 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42325 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42326 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42327 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42328 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42329 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42330 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42331 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42332 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42333 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42334 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42335 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42336
42337 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42338 (grub_video_i386_vbefill_R8G8B8): Likewise.
42339 (grub_video_i386_vbefill_index): Likewise.
42340 (grub_video_i386_vbefill_direct32): Added.
42341 (grub_video_i386_vbefill_direct24): Likewise.
42342 (grub_video_i386_vbefill_direct16): Likewise.
42343 (grub_video_i386_vbefill_direct8): Likewise.
42344
42345 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42346 types.
42347
42348 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42349 types.
42350
42351 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42352 blitter types.
42353
42354 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42355 types.
42356
42357 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42358
42359 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42360 RAID level 1.
42361
42362 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42363
42364 * fs/iso9660.c (grub_iso9660_date): New structure.
42365 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42366 (grub_iso9660_uuid): New function.
42367
42368 2008-09-05 Bean <bean123ch@gmail.com>
42369
42370 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42371
42372 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42373 insensitive bit for names in Win32 and Win32 & DOS namespace.
42374
42375 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42376
42377 * include/grub/types.h (LONG_MAX): Likewise.
42378
42379 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42380
42381 * util/getroot.c: Include <config.h>.
42382 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42383 add support for /dev/md/N devices and handle LVM double dash escaping.
42384
42385 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42386
42387 * config.guess: Update to latest version from config git.
42388 * config.sub: Likewise.
42389
42390 2008-09-03 Robert Millan <rmh@aybabtu.com>
42391
42392 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42393 `disk->total_sectors'.
42394
42395 2008-09-01 Colin D Bennett <colin@gibibit.com>
42396
42397 * include/grub/normal.h: Fixed incorrect comment for
42398 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42399
42400 2008-09-01 Colin D Bennett <colin@gibibit.com>
42401
42402 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42403 values with defines.
42404
42405 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42406 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42407 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42408 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42409 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42410 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42411 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42412 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42413 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42414 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42415 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42416 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42417 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42418 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42419 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42420 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42421 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42422 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42423 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42424
42425 2008-08-31 Robert Millan <rmh@aybabtu.com>
42426
42427 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42428 declaration.
42429 (grub_multiboot): Fix a few warnings.
42430
42431 2008-08-31 Robert Millan <rmh@aybabtu.com>
42432
42433 * loader/i386/pc/multiboot.c: Update comment not to say that
42434 boot_device support is unimplemented.
42435
42436 2008-08-31 Robert Millan <rmh@aybabtu.com>
42437
42438 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42439 or memory map support are unimplemented.
42440
42441 2008-08-31 Colin D Bennett <colin@gibibit.com>
42442
42443 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42444
42445 2008-08-31 Colin D Bennett <colin@gibibit.com>
42446
42447 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42448 total video memory in 'vbeinfo' output; show color format details for
42449 each video mode.
42450
42451 2008-08-30 Pavel Roskin <proski@gnu.org>
42452
42453 * util/genmoddep.c: Remove for real this time.
42454 * DISTLIST: Remove util/genmoddep.c.
42455
42456 2008-08-30 Robert Millan <rmh@aybabtu.com>
42457
42458 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42459 as required by Multiboot spec (it was already 4-byte aligned, but
42460 only by chance).
42461
42462 2008-08-29 Pavel Roskin <proski@gnu.org>
42463
42464 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42465 * kern/powerpc/ieee1275/startup.S: ... this.
42466 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42467 * DISTLIST: Likewise.
42468
42469 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42470 grub/cpu/kernel.h. Add start label for consistency with other
42471 platforms. Add grub_prefix immediately after start. Add jump
42472 to the code after grub_prefix.
42473 * include/grub/powerpc/kernel.h: Provide valid values for
42474 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42475
42476 2008-08-29 Bean <bean123ch@gmail.com>
42477
42478 * configure.ac: Change host_os to cygwin for mingw.
42479 (asprintf): New check for function.
42480
42481 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42482 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42483
42484 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
42485 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
42486 sync, sleep and grub_util_get_disk_size for mingw.
42487
42488 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42489 to get size in mingw.
42490 (open_device): Use flag O_BINARY if it's defined.
42491 (find_root_device): Add dummy code for mingw.
42492
42493 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42494 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42495 (get_scsi_disk_name): Return 0 for mingw.
42496
42497 * util/hostfs.c: #include <grub/util/misc.h>.
42498 (grub_hostfs_open): Use "rb" flag to open file, use
42499 grub_util_get_disk_size to get disk size for mingw.
42500
42501 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42502 (asprintf): New function if HAVE_ASPRINTF is not set.
42503 (sync): New function for mingw.
42504 (sleep): Likewise.
42505 (grub_util_get_disk_size): Likewise.
42506
42507 2008-08-28 Pavel Roskin <proski@gnu.org>
42508
42509 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42510 kern/time.c.
42511
42512 2008-08-28 Robert Millan <rmh@aybabtu.com>
42513
42514 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42515
42516 2008-08-28 Robert Millan <rmh@aybabtu.com>
42517
42518 Change find_grub_drive() syntax so it doesn't prevent it from
42519 detecting NULL names as errors.
42520
42521 * util/biosdisk.c (find_grub_drive): Move free slot search code
42522 from here ...
42523 (find_free_slot): ... to here.
42524 (read_device_map): Use find_free_slot() to search for free slots.
42525
42526 2008-08-27 Marco Gerards <marco@gnu.org>
42527
42528 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42529 (scsi_mod_SOURCES): New variable.
42530 (scsi_mod_CFLAGS): Likewise
42531 (scsi_mod_LDFLAGS): Likewise.
42532
42533 * disk/scsi.c: New file.
42534
42535 * include/grub/scsi.h: Likewise.
42536
42537 * include/grub/scsicmd.h: Likewise.
42538
42539 * disk/ata.c: Include <grub/scsi.h>.
42540 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42541 instead.
42542 (grub_ata_iterate): Skip ATAPI devices.
42543 (grub_ata_open): Only handle ATAPI devices.
42544 (struct grub_atapi_read): Removed.
42545 (grub_atapi_readsector): Likewise.
42546 (grub_ata_read): No longer handle ATAPI devices.
42547 (grub_ata_write): Likewise.
42548 (grub_atapi_iterate): New function.
42549 (grub_atapi_read): Likewise.
42550 (grub_atapi_write): Likewise.
42551 (grub_atapi_open): Likewise.
42552 (grub_atapi_close): Likewise.
42553 (grub_atapi_dev): New variable.
42554 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42555 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42556
42557 * include/grub/disk.h (enum grub_disk_dev_id): Add
42558 `GRUB_DISK_DEVICE_SCSI_ID'.
42559
42560 2008-08-26 Robert Millan <rmh@aybabtu.com>
42561
42562 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42563 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42564 descriptive.
42565
42566 2008-08-23 Bean <bean123ch@gmail.com>
42567
42568 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42569 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42570 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42571 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42572 dm_nv.mod.
42573 (raid5rec_mod_SOURCES): New macro.
42574 (raid5rec_mod_CFLAGS): Likewise.
42575 (raid5rec_mod_LDFLAGS): Likewise.
42576 (raid6rec_mod_SOURCES): Likewise.
42577 (raid6rec_mod_CFLAGS): Likewise.
42578 (raid6rec_mod_LDFLAGS): Likewise.
42579 (mdraid_mod_SOURCES): Likewise.
42580 (mdraid_mod_CFLAGS): Likewise.
42581 (mdraid_mod_LDFLAGS): Likewise.
42582 (dm_nv_mod_SOURCES): Likewise.
42583 (dm_nv_mod_CFLAGS): Likewise.
42584 (dm_nv_mod_LDFLAGS): Likewise.
42585
42586 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42587 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42588 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42589
42590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42591 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42592
42593 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42594
42595 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42596
42597 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42598
42599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42600
42601 * disk/raid5_recover.c: New file.
42602
42603 * disk/raid6_recover.c: Likewise.
42604
42605 * disk/mdraid_linux.c: Likewise.
42606
42607 * disk/dmraid_nvidia.c: Likewise.
42608
42609 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42610 ULONG_MAX.
42611
42612 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42613 calculate the size of raid device.
42614 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42615 different layout of raid5.
42616 (grub_raid_scan_device): Remove code specific to mdraid.
42617 (grub_raid_list): New variable.
42618 (free_array): New function.
42619 (grub_raid_register): Likewise.
42620 (grub_raid_unregister): Likewise.
42621 (grub_raid_rescan): Likewise.
42622 (GRUB_MOD_INIT): Don't iterate device here.
42623 (GRUB_MOD_FINI): Use free_array to release resource.
42624
42625 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42626 (grub_raid5_recover_func_t): New function variable type.
42627 (grub_raid6_recover_func_t): Likewise.
42628 (grub_raid5_recover_func): New variable.
42629 (grub_raid6_recover_func): Likewise.
42630 (grub_raid_register): New function.
42631 (grub_raid_unregister): Likewise.
42632 (grub_raid_rescan): Likewise.
42633 (grub_raid_block_xor): Likewise.
42634
42635 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42636 (CMD_CRC): New macro.
42637 (part): Removed.
42638 (read_file): Handle device as well as file.
42639 (cmd_crc): New function.
42640 (fstest): Handle multiple disks.
42641 (options): Remove part, raw and long, add root and diskcount.
42642 (usage): Add crc, remove -p, -r, -l, add -r and -c.
42643 (main): Find the first non option entry and ignore subsequent options,
42644 add handling for the new options, support multiple disks.
42645
42646 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42647
42648 2008-08-23 Bean <bean123ch@gmail.com>
42649
42650 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42651
42652 * genfslist.sh: Ignore kernel.mod.
42653
42654 * genpartmaplist.sh: Likewise.
42655
42656 2008-08-23 Robert Millan <rmh@aybabtu.com>
42657
42658 * util/getroot.c (find_root_device): Skip anything that starts with
42659 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42660
42661 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
42662
42663 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42664 * util/grub.d/00_header.in: Allow the administrator to change default
42665 gfxmode via ${GRUB_GFXMODE}.
42666
42667 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
42668
42669 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42670
42671 2008-08-21 Robert Millan <rmh@aybabtu.com>
42672
42673 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42674 loader.
42675 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42676 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42677
42678 2008-08-20 Carles Pina i Estany <carles@pina.cat>
42679
42680 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42681 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42682
42683 2008-08-19 Robert Millan <rmh@aybabtu.com>
42684
42685 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42686 (struct grub_virtual_screen): Remove `cursor_color'.
42687 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42688 initialization.
42689 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42690
42691 2008-08-18 Robert Millan <rmh@aybabtu.com>
42692
42693 Unify (identical) linux_normal.c files.
42694 * loader/i386/efi/linux_normal.c: Move from here ...
42695 * loader/linux_normal.c: ... to here. Update all users.
42696 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42697 * loader/i386/ieee1275/linux_normal.c: Likewise.
42698
42699 2008-08-18 Robert Millan <rmh@aybabtu.com>
42700
42701 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42702 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42703 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42704 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42705 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42706 New macros.
42707 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42708 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42709 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42710 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42711 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42712 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42713 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42714 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42715 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42716 portably using grub_getxy().
42717 Replace `-EFI' with `-bzImage' in boot message.
42718
42719 2008-08-17 Robert Millan <rmh@aybabtu.com>
42720
42721 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42722
42723 2008-08-17 Robert Millan <rmh@aybabtu.com>
42724
42725 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42726
42727 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42728 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42729 (grub_machine_mmap_iterate): New function declaration.
42730 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42731 structure.
42732 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42733 macros.
42734
42735 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42736 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42737 Move e820 parsing from here ...
42738 * kern/i386/pc/mmap.c: New file.
42739 (grub_machine_mmap_iterate): ... to here.
42740
42741 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42742 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42743 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42744 (grub_available_iterate): Redeclare to return `void', and redeclare
42745 its hook to use grub_uint64_t as addr and size parameters, and rename
42746 to ...
42747 (grub_machine_mmap_iterate): ... this. Update all users.
42748
42749 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42750 to make it more readable. Rename to ...
42751 (grub_machine_mmap_iterate): ... this.
42752
42753 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42754 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42755 (grub_multiboot): Allocate an extra region after the payload, and fill
42756 it with a Multiboot memory map. Adjust a.out loader to calculate size
42757 with the extra space.
42758 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42759 with the extra space.
42760
42761 2008-08-17 Carles Pina i Estany <carles@pina.cat>
42762
42763 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
42764
42765 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
42766
42767 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42768 mdate-sh to the list `find' searches for.
42769 * DISTLIST: Regenerated.
42770
42771 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
42772
42773 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42774 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
42775 genmoddep.awk, gensymlist.sh.in.
42776 (DISTDIRS): Add bus, docs, hook, lib.
42777 * DISTLIST: Regenerated.
42778 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
42779
42780 2008-08-16 Robert Millan <rmh@aybabtu.com>
42781
42782 * disk/raid.c (grub_raid_init): Handle/report errors set by
42783 grub_device_iterate().
42784 * disk/lvm.c (grub_lvm_init): Likewise.
42785
42786 2008-08-15 Bean <bean123ch@gmail.com>
42787
42788 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42789 and datehook.mod.
42790 (datetime_mod_SOURCES): New macro.
42791 (datetime_mod_CFLAGS): Likewise.
42792 (datetime_mod_LDFLAGS): Likewise.
42793 (date_mod_SOURCES): Likewise.
42794 (date_mod_CFLAGS): Likewise.
42795 (date_mod_LDFLAGS): Likewise.
42796 (datehook_mod_SOURCES): Likewise.
42797 (datehook_mod_CFLAGS): Likewise.
42798 (datehook_mod_LDFLAGS): Likewise.
42799
42800 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42801 and datehook.mod.
42802 (datetime_mod_SOURCES): New macro.
42803 (datetime_mod_CFLAGS): Likewise.
42804 (datetime_mod_LDFLAGS): Likewise.
42805 (date_mod_SOURCES): Likewise.
42806 (date_mod_CFLAGS): Likewise.
42807 (date_mod_LDFLAGS): Likewise.
42808 (datehook_mod_SOURCES): Likewise.
42809 (datehook_mod_CFLAGS): Likewise.
42810 (datehook_mod_LDFLAGS): Likewise.
42811
42812 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42813 and datehook.mod.
42814 (datetime_mod_SOURCES): New macro.
42815 (datetime_mod_CFLAGS): Likewise.
42816 (datetime_mod_LDFLAGS): Likewise.
42817 (date_mod_SOURCES): Likewise.
42818 (date_mod_CFLAGS): Likewise.
42819 (date_mod_LDFLAGS): Likewise.
42820 (datehook_mod_SOURCES): Likewise.
42821 (datehook_mod_CFLAGS): Likewise.
42822 (datehook_mod_LDFLAGS): Likewise.
42823
42824 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42825 and datehook.mod.
42826 (datetime_mod_SOURCES): New macro.
42827 (datetime_mod_CFLAGS): Likewise.
42828 (datetime_mod_LDFLAGS): Likewise.
42829 (date_mod_SOURCES): Likewise.
42830 (date_mod_CFLAGS): Likewise.
42831 (date_mod_LDFLAGS): Likewise.
42832 (datehook_mod_SOURCES): Likewise.
42833 (datehook_mod_CFLAGS): Likewise.
42834 (datehook_mod_LDFLAGS): Likewise.
42835
42836 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42837 and datehook.mod.
42838 (datetime_mod_SOURCES): New macro.
42839 (datetime_mod_CFLAGS): Likewise.
42840 (datetime_mod_LDFLAGS): Likewise.
42841 (date_mod_SOURCES): Likewise.
42842 (date_mod_CFLAGS): Likewise.
42843 (date_mod_LDFLAGS): Likewise.
42844 (datehook_mod_SOURCES): Likewise.
42845 (datehook_mod_CFLAGS): Likewise.
42846 (datehook_mod_LDFLAGS): Likewise.
42847
42848 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42849
42850 * commands/date.c: New file.
42851
42852 * hook/datehook.c: Likewise.
42853
42854 * include/grub/lib/datetime.h: Likewise.
42855
42856 * include/grub/i386/cmos.h: Likewise.
42857
42858 * lib/datetime.c: Likewise.
42859
42860 * lib/i386/datetime.c: Likewise.
42861
42862 * lib/efi/datetime.c: Likewise.
42863
42864 2008-08-14 Robert Millan <rmh@aybabtu.com>
42865
42866 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42867 (grub_mkelfimage_SOURCES): New variable.
42868 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42869
42870 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42871 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42872 * conf/powerpc-ieee1275.rmk: Likewise.
42873 * conf/i386-ieee1275.rmk: Likewise.
42874
42875 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42876 * kern/i386/coreboot/init.c: Likewise.
42877
42878 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42879 with `<grub/cpu/kernel.h>'.
42880 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42881 to ...
42882 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42883 * kern/i386/coreboot/startup.S: Likewise.
42884
42885 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42886 (GRUB_MOD_GAP): Remove.
42887 * include/grub/powerpc/kernel.h: New file.
42888 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42889 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42890 * include/grub/i386/kernel.h: New file.
42891 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42892 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42893 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42894
42895 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42896 `grub-mkelfimage'.
42897 Use --directory when invoking grub_mkimage.
42898
42899 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42900 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42901 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42902 and GRUB_KERNEL_CPU_PREFIX.
42903
42904 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
42905
42906 * include/grub/err.h (grub_err_printf): New function prototype.
42907 * util/misc.c (grub_err_printf): New function.
42908 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42909 grub_printf.
42910 * kern/err.c (grub_print_error): Use grub_err_printf.
42911
42912 2008-08-13 Robert Millan <rmh@aybabtu.com>
42913
42914 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42915
42916 2008-08-13 Robert Millan <rmh@aybabtu.com>
42917
42918 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42919 boot entry.
42920
42921 2008-08-12 Robert Millan <rmh@aybabtu.com>
42922
42923 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42924 of the relocation code from here ...
42925 (grub_multiboot): ... to here.
42926 (forward_relocator, backward_relocator): Move from here ...
42927 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42928 (grub_multiboot_backward_relocator): ... to here.
42929 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42930 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42931 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42932 (grub_multiboot_forward_relocator_end)
42933 (grub_multiboot_backward_relocator)
42934 (grub_multiboot_backward_relocator_end): New variables.
42935
42936 2008-08-12 Bean <bean123ch@gmail.com>
42937
42938 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42939
42940 2008-08-11 Robert Millan <rmh@aybabtu.com>
42941
42942 * kern/i386/linuxbios/startup.S: Move from here ...
42943 * kern/i386/coreboot/startup.S: ... to here.
42944
42945 * kern/i386/linuxbios/init.c: Move from here ...
42946 * kern/i386/coreboot/init.c: ... to here.
42947
42948 * kern/i386/linuxbios/table.c: Move from here ...
42949 * kern/i386/coreboot/mmap.c: ... to here.
42950
42951 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42952
42953 2008-08-11 Robert Millan <rmh@aybabtu.com>
42954
42955 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42956 errors. Leave it to the upper layer to handle them.
42957
42958 2008-08-09 Christian Franke <franke@computer.org>
42959
42960 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42961 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42962 Install `grub.d/10_windows' only on Cygwin.
42963 * configure.ac: Add subst of `target_os'.
42964 Check `target_os' also before setting TARGET_OBJ2ELF.
42965 Add `--enable-grub-pe2elf'.
42966
42967 2008-08-08 Robert Millan <rmh@aybabtu.com>
42968
42969 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42970 (grub_last_time): Change type to grub_uint64_t.
42971 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42972 (grub_disk_close): Likewise.
42973
42974 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42975 (run_menu): Migrate code from to using grub_get_time_ms().
42976
42977 * util/misc.c (grub_get_time_ms): New function.
42978
42979 2008-08-08 Marco Gerards <marco@gnu.org>
42980
42981 * disk/ata.c (grub_ata_regget): Change return type to
42982 `grub_uint8_t'.
42983 (grub_ata_regget2): Likewise.
42984 (grub_ata_wait_status): New function.
42985 (grub_ata_wait_busy): Removed function, updated all users to use
42986 `grub_ata_wait_status'.
42987 (grub_ata_wait_drq): Likewise.
42988 (grub_ata_cmd): New function.
42989 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42990 error handling.
42991 (grub_ata_pio_write): Add error handling.
42992 (grub_atapi_identify): Likewise.
42993 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42994 handling.
42995 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42996 handling. Actually use the detected registers. Reorder the
42997 detection logic such that it is easier to read.
42998 (grub_ata_pciinit): Do not assign the same ID to each controller.
42999 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
43000 handling.
43001 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
43002
43003 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
43004
43005 2008-08-08 Marco Gerards <marco@gnu.org>
43006
43007 * NEWS: Update.
43008
43009 2008-08-07 Bean <bean123ch@gmail.com>
43010
43011 * include/grub/x86_64/pci.h: New file.
43012
43013 2008-08-07 Christian Franke <franke@computer.org>
43014
43015 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
43016 (TIMER2_GATE): Likewise.
43017 (grub_pit_wait): Add enable/disable of the timer2 gate
43018 bit of port 0x61. This fixes a possible infinite loop.
43019
43020 2008-08-07 Bean <bean123ch@gmail.com>
43021
43022 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
43023 kern/i386/tsc.c and kern/i386/pit.c.
43024
43025 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
43026 x86_64 platform.
43027
43028 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
43029 <grub/i386/tsc.h>.
43030
43031 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
43032
43033 2008-08-07 Bean <bean123ch@gmail.com>
43034
43035 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
43036
43037 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
43038
43039 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
43040 multiple inclusion. Add #include <grub/types.h>.
43041
43042 2008-08-06 Christian Franke <franke@computer.org>
43043
43044 * conf/common.rmk: Build and install `10_windows'.
43045 * util/grub.d/10_windows.in: New script.
43046
43047 2008-08-06 Pavel Roskin <proski@gnu.org>
43048
43049 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
43050
43051 2008-08-06 Robert Millan <rmh@aybabtu.com>
43052
43053 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
43054 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
43055
43056 2008-08-06 Bean <bean123ch@gmail.com>
43057
43058 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
43059 (grub_pxefs_fs_int): Remove dummy definition.
43060 (grub_pxefs_open): Use data->block_size to store the current block
43061 size setting.
43062 (grub_pxefs_read): Use block size stored in data->block_size. As the
43063 value of grub_pxe_blksize can be changed after the file is opened.
43064
43065 2008-08-06 Bean <bean123ch@gmail.com>
43066
43067 * fs/i386/pc/pxe.c (curr_file): new variable.
43068 (grub_pxefs_open): Simply the handling of pxe file system. Don't
43069 require the dummy internal file system anymore.
43070 (grub_pxefs_read): Removed.
43071 (grub_pxefs_close): Likewise.
43072 (grub_pxefs_fs_int): Likewise.
43073 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
43074 connection when we switch file.
43075 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
43076
43077 2008-08-06 Robert Millan <rmh@aybabtu.com>
43078
43079 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
43080 `halt.mod'.
43081 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
43082 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
43083
43084 * kern/i386/halt.c: New file.
43085 * kern/i386/reboot.c: Likewise.
43086 * include/grub/i386/reboot.h: Likewise.
43087 * include/grub/i386/halt.h: Likewise.
43088
43089 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
43090 Include `<grub/cpu/halt.h>'.
43091 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
43092 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
43093
43094 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
43095 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
43096 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
43097 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
43098 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
43099 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
43100 from here ...
43101 * include/grub/i386/at_keyboard.h: ... to here.
43102
43103 2008-08-05 Robert Millan <rmh@aybabtu.com>
43104
43105 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43106 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43107 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43108 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43109 `kern/generic/millisleep.c'.
43110
43111 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43112 instead of grub_get_rtc().
43113 (grub_tsc_init): Initialize `tsc_boot_time'.
43114
43115 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43116 (grub_machine_init): Use grub_tsc_init() rather than
43117 installing an RTC-based handler via grub_install_get_time_ms().
43118
43119 * kern/i386/pit.c: New file.
43120 * include/grub/i386/pit.h: Likewise.
43121
43122 2008-08-05 Bean <bean123ch@gmail.com>
43123
43124 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43125
43126 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43127 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43128 (pxe_mod_SOURCES): New macro.
43129 (pxe_mod_CFLAGS): Likewise.
43130 (pxe_mod_LDFLAGS): Likewise.
43131 (pxecmd_mod_SOURCES): Likewise.
43132 (pxecmd_mod_CFLAGS): Likewise.
43133 (pxecmd_mod_LDFLAGS): Likewise.
43134
43135 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43136 (grub_pxe_call): Likewise.
43137
43138 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43139
43140 * commands/i386/pc/pxecmd.c: New file.
43141
43142 * fs/i386/pc/pxe.c: Likewise.
43143
43144 * include/grub/i386/pc/pxe.h: Likewise.
43145
43146 2008-08-05 Bean <bean123ch@gmail.com>
43147
43148 * util/console.c (grub_console_cur_color): New variable.
43149 (grub_console_standard_color): Likewise.
43150 (grub_console_normal_color): Likewise.
43151 (grub_console_highlight_color): Likewise.
43152 (color_map): Likewise.
43153 (use_color): Likewise.
43154 (NUM_COLORS): New macro.
43155 (grub_ncurses_setcolorstate): Handle color properly.
43156 (grub_ncurses_setcolor): Don't change color here, just remember the
43157 settings, color will be set in grub_ncurses_setcolorstate.
43158 (grub_ncurses_getcolor): New function.
43159 (grub_ncurses_init): Initialize color pairs.
43160 (grub_ncurses_term): New member grub_ncurses_getcolor.
43161
43162 2008-08-05 Colin D Bennett <colin@gibibit.com>
43163
43164 High resolution timer support. Implemented for x86 CPUs using TSC.
43165 Extracted generic grub_millisleep() so it's linked in only as needed.
43166 This requires a Pentium compatible CPU; if the RDTSC instruction is
43167 not supported, then it falls back on the generic grub_get_time_ms()
43168 implementation that uses the machine's RTC.
43169
43170 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43171 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43172 `kern/generic/millisleep.c'.
43173
43174 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43175 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43176
43177 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43178 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43179
43180 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43181
43182 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43183 `kern/generic/millisleep.c'.
43184
43185 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43186
43187 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43188
43189 * kern/generic/rtc_get_time_ms.c: New file.
43190
43191 * kern/generic/millisleep.c: New file.
43192
43193 * kern/misc.c: Don't include
43194 <kern/time.h> anymore.
43195 (grub_millisleep_generic): Removed.
43196
43197 * commands/sleep.c (grub_interruptible_millisleep): Uses
43198 grub_get_time_ms() instead of grub_get_rtc().
43199
43200 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43201 function.
43202 (grub_cpu_is_cpuid_supported): New inline function.
43203 (grub_cpu_is_tsc_supported): New inline function.
43204 (grub_tsc_init): New function prototype.
43205 (grub_tsc_get_time_ms): New function prototype.
43206
43207 * kern/i386/tsc.c (grub_get_time_ms): New file.
43208
43209 * include/grub/time.h: Include <grub/types.h.
43210 (grub_millisleep_generic): Removed.
43211 (grub_get_time_ms): New prototype.
43212 (grub_install_get_time_ms): New prototype.
43213 (grub_rtc_get_time_ms): New prototype.
43214
43215 * kern/time.c (grub_get_time_ms): New function.
43216 (grub_install_get_time_ms): New function.
43217
43218 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43219 <grub/time.h> anymore.
43220 (grub_millisleep): Removed.
43221 (grub_machine_init): Call grub_tsc_init.
43222
43223 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43224 get_time_ms() implementation.
43225
43226 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43227 (ieee1275_get_time_ms): New function.
43228 (grub_machine_init): Install get_time_ms() implementation.
43229
43230 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43231 (grub_machine_init): Call grub_tsc_init().
43232 (grub_millisleep): Removed.
43233
43234 * kern/ieee1275/init.c (grub_millisleep): Removed.
43235 (grub_machine_init): Install ieee1275_get_time_ms()
43236 implementation.
43237 (ieee1275_get_time_ms): New function.
43238 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43239 real work.
43240
43241 2008-08-05 Marco Gerards <marco@gnu.org>
43242
43243 * disk/ata.c: Include <grub/pci.h>.
43244 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43245 (grub_ata_initialize): Rewritten.
43246 (grub_ata_device_initialize): New function.
43247
43248 2008-08-04 Pavel Roskin <proski@gnu.org>
43249
43250 * kern/main.c: Include grub/mm.h.
43251
43252 2008-08-04 Robert Millan <rmh@aybabtu.com>
43253
43254 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43255 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43256 corruption problem).
43257
43258 2008-08-04 Robert Millan <rmh@aybabtu.com>
43259
43260 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43261 warnings introduced in my last commit.
43262
43263 2008-08-03 Robert Millan <rmh@aybabtu.com>
43264
43265 Make PCI available on all i386 architectures.
43266
43267 * include/grub/i386/pc/pci.h: Move from here ...
43268 * include/grub/i386/pci.h: ... to here.
43269
43270 * include/grub/i386/pc/pci.h: Remove.
43271 * include/grub/i386/efi/pci.h: Remove.
43272 * include/grub/x86_64/efi/pci.h: Remove.
43273
43274 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43275 `<grub/cpu/pci.h>'.
43276
43277 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43278 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43279 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43280
43281 * conf/i386-ieee1275.rmk: Likewise.
43282
43283 2008-08-03 Robert Millan <rmh@aybabtu.com>
43284
43285 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43286 (grub_console_setcursor): Make it possible to set cursor off.
43287
43288 2008-08-03 Robert Millan <rmh@aybabtu.com>
43289
43290 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43291 of modules instead of assuming which platform provides what.
43292 * util/update-grub.in: Likewise.
43293
43294 2008-08-03 Robert Millan <rmh@aybabtu.com>
43295
43296 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43297 instead of `grub_install_dos_part' to determine whether a drive needs
43298 to be prepended to prefix (`grub_install_dos_part' is not reliable,
43299 because it can be overridden when loading GRUB via Multiboot).
43300
43301 2008-08-02 Robert Millan <rmh@aybabtu.com>
43302
43303 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43304
43305 2008-08-02 Robert Millan <rmh@aybabtu.com>
43306
43307 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43308 of informational grub_dprintf() calls.
43309
43310 2008-08-02 Robert Millan <rmh@aybabtu.com>
43311
43312 * disk/memdisk.c (memdisk_size): Don't initialize.
43313 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43314
43315 * include/grub/i386/pc/kernel.h
43316 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43317 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43318 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43319 (grub_arch_memdisk_size): Remove.
43320
43321 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43322 field (was only used to transfer a constant). Add `type' field to
43323 support multiple module types.
43324 (grub_module_iterate): New function.
43325
43326 * kern/device.c (grub_device_open): Do not hide error messages
43327 when grub_disk_open() fails. Use grub_print_error() instead.
43328
43329 * kern/i386/pc/init.c (grub_arch_modules_addr)
43330 (grub_arch_memdisk_size): Remove functions.
43331 (grub_arch_modules_addr): Return the module address in high memory
43332 (now that it isn't copied anymore).
43333
43334 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43335 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43336 decompression routine (grub_total_module_size already includes that
43337 now). Don't copy modules back to low memory.
43338
43339 * kern/main.c: Include `<grub/mm.h>'.
43340 (grub_load_modules): Split out (and use) ...
43341 (grub_module_iterate): ... this function, which iterates through
43342 module objects and runs a hook.
43343 Comment out grub_mm_init_region() call, as it would cause non-ELF
43344 modules to be overwritten.
43345
43346 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43347 the memdisk image in its own region, make it part of the module list.
43348 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43349 (main): Parse --memdisk|-m option, and pass user-provided path as
43350 parameter to generate_image().
43351 (add_segments): Pass `memdisk_path' down to load_modules().
43352 (load_modules): Embed memdisk image in module section when requested.
43353 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43354 `header.type' instead of `header.offset'.
43355
43356 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43357 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43358 (memdisk_mod_LDFLAGS): New variables.
43359 * conf/i386-coreboot.rmk: Likewise.
43360 * conf/i386-ieee1275.rmk: Likewise.
43361
43362 2008-08-02 Robert Millan <rmh@aybabtu.com>
43363
43364 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43365 (backward_relocator): New variables. Used to allocate and relocate
43366 the payload, respectively.
43367 (grub_multiboot_load_elf32): Load into heap instead of requested
43368 address, install the appropriate relocator code in each bound of
43369 the payload, and set the entry point such that
43370 grub_multiboot_real_boot() will jump to one of them.
43371
43372 * kern/i386/loader.S (grub_multiboot_payload_size)
43373 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43374 (grub_multiboot_payload_entry_offset): New variables.
43375 (grub_multiboot_real_boot): Set cpu context to what the relocator
43376 expects, and jump to the relocator instead of the payload.
43377
43378 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43379 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43380 (grub_multiboot_payload_entry_offset): Export.
43381
43382 2008-08-01 Bean <bean123ch@gmail.com>
43383
43384 * normal/menu_entry.c (editor_getline): Don't return the original
43385 string as result, as it will be released by lexer once it has done
43386 using it.
43387
43388 2008-08-01 Robert Millan <rmh@aybabtu.com>
43389
43390 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43391 within menuentries, not before them.
43392 util/grub.d/10_hurd.in: Likewise.
43393
43394 2008-08-01 Bean <bean123ch@gmail.com>
43395
43396 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43397 (bufio_mod_SOURCES): New macro.
43398 (bufio_mod_CFLAGS): Likewise.
43399 (bufio_mod_LDFLAGS): Likewise.
43400
43401 * include/grub/bufio.h: New file.
43402
43403 * io/bufio.c: Likewise.
43404
43405 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43406 (grub_video_reader_png): Use grub_buffile_open to open file.
43407
43408 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43409 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43410
43411 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43412 (grub_video_reader_tga): Use grub_buffile_open to open file.
43413
43414 * font/manager.c: Include <grub/bufio.h>.
43415 (add_font): Use grub_buffile_open to open file.
43416
43417 2008-07-31 Robert Millan <rmh@aybabtu.com>
43418
43419 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43420 ELF segments, use a macro for arbitrarily accessing any of them instead
43421 of preparing a pointer that allows access to one at a time.
43422 (grub_multiboot_load_elf64): Likewise.
43423
43424 2008-07-31 Bean <bean123ch@gmail.com>
43425
43426 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43427 GRUB_KERNEL_MACHINE_DATA_END.
43428
43429 2008-07-30 Robert Millan <rmh@aybabtu.com>
43430
43431 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43432 Increase from 0x50 to 0x60.
43433 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43434 use UUIDs to identify the root drive for them. If that's not
43435 possible, abort.
43436 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43437 check, for cross-disk installs.
43438
43439 2008-07-30 Robert Millan <rmh@aybabtu.com>
43440
43441 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43442 is non-empty, use it to set the `prefix' environment variable instead
43443 of the usual approach.
43444 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43445 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43446 environment variable instead of dummy make_install_device().
43447
43448 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43449 (start): Insert a data section, with `grub_prefix' variable.
43450 * kern/i386/linuxbios/startup.S: Likewise.
43451
43452 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43453 New variable reference.
43454 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43455 New macro. Defines offset of `grub_prefix' within startup.S (relative
43456 to `start').
43457 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43458 section within startup.S (relative to `start').
43459 * include/grub/i386/coreboot/kernel.h: Likewise.
43460
43461 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43462 Overwrite grub_prefix with its contents, at the beginning of the
43463 first segment.
43464 (main): Understand -p|--prefix.
43465
43466 2008-07-30 Robert Millan <rmh@aybabtu.com>
43467
43468 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43469
43470 2008-07-30 Robert Millan <rmh@aybabtu.com>
43471
43472 * term/i386/pc/vga_text.c (grub_console_cls): Use
43473 grub_console_gotoxy() to go back to beginning of the screen.
43474 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43475
43476 2008-07-29 Christian Franke <franke@computer.org>
43477
43478 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43479 Add conversion of emulated mount points on Cygwin.
43480
43481 2008-07-29 Christian Franke <franke@computer.org>
43482
43483 * util/update-grub.in: Add a check for admin
43484 group on Cygwin.
43485 Remove old `grub.cfg.new' before creation.
43486 Add `-f' to `mv' to handle the different filesystem
43487 semantics of Windows.
43488
43489 2008-07-29 Bean <bean123ch@gmail.com>
43490
43491 * normal/main.c (get_line): Fix buffer overflow bug.
43492
43493 2008-07-28 Robert Millan <rmh@aybabtu.com>
43494
43495 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43496 (struct grub_apple_header): New struct. Describes the layout of
43497 the partmap header.
43498 (apple_partition_map_iterate): Check the header magic as well as the
43499 partition magic (which was already being checked).
43500
43501 2008-07-28 Pavel Roskin <proski@gnu.org>
43502
43503 * genmk.rb: Add a warning to the beginning of the output that
43504 it's a generated file and should not be edited.
43505
43506 2008-07-28 Robert Millan <rmh@aybabtu.com>
43507
43508 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43509 with the same number are found, just use issue a warning with
43510 grub_dprintf(), as this error has been reported to be non-fatal.
43511
43512 2008-07-27 Robert Millan <rmh@aybabtu.com>
43513
43514 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43515 information.
43516
43517 2008-07-27 Bean <bean123ch@gmail.com>
43518
43519 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43520 (grub_fat_find_dir): Ignore case when comparing filename.
43521
43522 2008-07-27 Bean <bean123ch@gmail.com>
43523
43524 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43525 smallino, as it's more descriptive, and i8count can be confused with
43526 the other field count.
43527 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43528 inode type.
43529
43530 2008-07-27 Bean <bean123ch@gmail.com>
43531
43532 * commands/crc.c: New file.
43533
43534 * lib/crc.c: Likewise.
43535
43536 * include/grub/lib/crc.h: Likewise.
43537
43538 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43539
43540 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43541 (hexdump): Move this function to ...
43542
43543 * lib/hexdump.c: ... here.
43544
43545 * include/grub/hexdump.h: Renamed to ...
43546
43547 * include/grub/lib/hexdump.h: ... this.
43548
43549 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43550
43551 * util/grub-editenv.c: Likewise.
43552
43553 * include/envblk.h: Renamed to ...
43554
43555 * include/lib/envblk.h: ... this.
43556
43557 * util/envblk.c: Renamed to ...
43558
43559 * lib/envblk.c: ... this.
43560
43561 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43562 lib/hexdump.c.
43563 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43564 (pkglib_MODULES): Add crc.mod.
43565 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43566 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43567 (crc_mod_SOURCES): New macro.
43568 (crc_mod_CFLAGS): Likewise.
43569 (crc_mod_LDFLAGS): Likewise.
43570
43571 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43572
43573 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43574
43575 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43576
43577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43578
43579 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43580
43581 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
43582
43583 * commands/help.c: Include <grub/term.h>.
43584 (TERM_WIDTH): Removed. Updated all users.
43585
43586 2008-07-27 Pavel Roskin <proski@gnu.org>
43587
43588 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43589 spurious warnings about a comment within a comment.
43590
43591 2008-07-25 Robert Millan <rmh@aybabtu.com>
43592
43593 * util/getroot.c (find_root_device): Skip devices that match
43594 /dev/dm-[0-9]. This lets the real device be found for any type of
43595 abstraction (LVM, EVMS, RAID..).
43596 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43597 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43598 device is found first, find_root_device() will now skip it.
43599
43600 2008-07-24 Pavel Roskin <proski@gnu.org>
43601
43602 * include/grub/types.h: Use __builtin_bswap32() and
43603 __builtin_bswap64() with gcc 4.3 and newer.
43604
43605 2008-07-24 Christian Franke <franke@computer.org>
43606
43607 * util/i386/pc/grub-install.in: If `--debug' is specified,
43608 pass `--verbose' to grub-setup.
43609 Abort script if make_system_path_relative_to_its_root() fails.
43610
43611 2008-07-24 Bean <bean123ch@gmail.com>
43612
43613 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43614 variable `target_platform' should be `platform'.
43615
43616 2008-07-24 Bean <bean123ch@gmail.com>
43617
43618 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
43619 (grub_png_init_fixed_block): New function.
43620 (grub_png_decode_image_data): Handle fixed huffman code compression.
43621
43622 2008-07-24 Bean <bean123ch@gmail.com>
43623
43624 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43625 (grub_pe2elf_SOURCES): New macro.
43626 (CLEANFILES): Add grub-pe2elf.
43627
43628 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43629 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43630 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43631 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43632 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43633 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43634 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43635 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43636 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43637 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43638 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43639 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43640 (GRUB_PE32_DT_FUNCTION): Likewise.
43641 (GRUB_PE32_REL_I386_DIR32): Likewise.
43642 (GRUB_PE32_REL_I386_REL32): Likewise.
43643 (grub_pe32_symbol): New structure.
43644 (grub_pe32_reloc): Likewise.
43645
43646 * util/grub-pe2elf.c: New file.
43647
43648 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43649 start symbol in non pc platform.
43650
43651 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43652
43653 The following patches are from Christian Franke.
43654
43655 * include/grub/dl.h: Remove .previous, gas supports this only
43656 for ELF format.
43657
43658 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43659 Remove .type, gas supports this only for ELF format.
43660
43661 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43662 nullbytes in symbol table. This fixes an infinite loop if table is
43663 zero filled.
43664
43665 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43666 TARGET_IMG_LDFLAGS and EXEEXT.
43667
43668 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43669 TARGET_IMG_LDFLAGS_AC.
43670 (grub_CHECK_STACK_ARG_PROBE): New function.
43671
43672 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43673
43674 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43675
43676 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43677 to set TARGET_IMG_LD* accordingly.
43678 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43679 Add call to grub_CHECK_STACK_ARG_PROBE.
43680 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43681
43682 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43683
43684 * genmk.rb: Add EXEEXT to CLEANFILES.
43685
43686 2008-07-23 Robert Millan <rmh@aybabtu.com>
43687
43688 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43689 define the codes for arrows and lines used for the menu).
43690 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43691 as well.
43692
43693 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43694 fonts, because the latter are too slow.
43695
43696 2008-07-21 Bean <bean123ch@gmail.com>
43697
43698 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43699 a20. Run keyboard test last, as it will cause macbook to halt.
43700
43701 2008-07-18 Pavel Roskin <proski@gnu.org>
43702
43703 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43704 load foreign architecture modules correctly anyway. Keep
43705 support for loading host architecture modules, whether we
43706 compile them or not.
43707
43708 2008-07-17 Pavel Roskin <proski@gnu.org>
43709
43710 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43711 change target_cpu. The compiler default can mismatch target_cpu
43712 in any case.
43713
43714 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43715 * kern/efi/efi.c: Likewise.
43716
43717 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43718 target compiler is functional.
43719 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43720 are set up.
43721
43722 * configure.ac: Default to efi platform for x86_64-apple. Allow
43723 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43724 adjustments from the rest, only do them if target is not
43725 explicitly given. Merge other adjustments with the final sanity
43726 check. Remove an extraneous check for supported CPU. Be
43727 specific which CPU and which platform is not supported.
43728
43729 * configure.ac: Default to pc platform for x86_64.
43730
43731 2008-07-17 Robert Millan <rmh@aybabtu.com>
43732
43733 Partial LinuxBIOS -> Coreboot rename.
43734
43735 * conf/i386-linuxbios.rmk: Renamed to ...
43736 * conf/i386-coreboot.rmk: ... this.
43737 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43738 * configure.ac: Accept "coreboot" as input platform (but maintain
43739 compatibility with "linuxbios").
43740 * include/grub/i386/linuxbios: Renamed to ...
43741 * include/grub/i386/coreboot: ... this.
43742
43743 2008-07-17 Bean <bean123ch@gmail.com>
43744
43745 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
43746 (appleldr_mod_SOURCE): New variable.
43747 (appleldr_mod_CFLAGS): Likewise.
43748 (appleldr_mod_LDFLAGS): Likewise.
43749 (pci_mod_SOURCES): Likewise.
43750 (pci_mod_CFLAGS): Likewise.
43751 (pci_mod_LDFLAGS): Likewise.
43752 (lspci_mod_SOURCES): Likewise.
43753 (lspci_mod_CFLAGS): Likewise.
43754 (lspci_mod_LDFLAGS): Likewise.
43755
43756 * conf/x86_64-efi.rmk: New file.
43757
43758 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43759 macro.
43760 (grub_efidisk_write): Likewise.
43761
43762 * include/efi/api.h (efi_call_0): New macro.
43763 (efi_call_1): Likewise.
43764 (efi_call_2): Likewise.
43765 (efi_call_3): Likewise.
43766 (efi_call_4): Likewise.
43767 (efi_call_5): Likewise.
43768 (efi_call_6): Likewise.
43769
43770 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43771 grub_rescue_cmd_chainloader.
43772
43773 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43774 (grub_pe32_optional_header): Change some fields based on i386 or
43775 x86_64 platform.
43776 (GRUB_PE32_PE32_MAGIC): Likewise.
43777
43778 * include/grub/efi/uga_draw.h: New file.
43779
43780 * include/grub/elf.h (STN_ABS): New constant.
43781 (R_X86_64_NONE): Relocation constant for x86_64.
43782 (R_X86_64_64): Likewise.
43783 (R_X86_64_PC32): Likewise.
43784 (R_X86_64_GOT32): Likewise.
43785 (R_X86_64_PLT32): Likewise.
43786 (R_X86_64_COPY): Likewise.
43787 (R_X86_64_GLOB_DAT): Likewise.
43788 (R_X86_64_JUMP_SLOT): Likewise.
43789 (R_X86_64_RELATIVE): Likewise.
43790 (R_X86_64_GOTPCREL): Likewise.
43791 (R_X86_64_32): Likewise.
43792 (R_X86_64_32S): Likewise.
43793 (R_X86_64_16): Likewise.
43794 (R_X86_64_PC16): Likewise.
43795 (R_X86_64_8): Likewise.
43796 (R_X86_64_PC8): Likewise.
43797
43798 * include/grub/i386/efi/pci.h: New file.
43799
43800 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43801 Change it value based on platform.
43802 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43803 (GRUB_E820_RAM): Likewise.
43804 (GRUB_E820_RESERVED): Likewise.
43805 (GRUB_E820_ACPI): Likewise.
43806 (GRUB_E820_NVS): Likewise.
43807 (GRUB_E820_EXEC_CODE): Likewise.
43808 (GRUB_E820_MAX_ENTRY): Likewise.
43809 (grub_e820_mmap): New structure.
43810 (linux_kernel_header): Change the efi field according to different
43811 kernel version, also field from linux_kernel_header.
43812
43813 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43814
43815 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43816 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43817 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43818 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43819 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43820 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43821 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43822 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43823 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43824 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43825
43826 * include/grub/x86_64/efi/kernel.h: New file.
43827
43828 * include/grub/x86_64/efi/loader.h: Likewise.
43829
43830 * include/grub/x86_64/efi/machine.h: Likewise.
43831
43832 * include/grub/x86_64/efi/pci.h: Likewise.
43833
43834 * include/grub/x86_64/efi/time.h: Likewise.
43835
43836 * include/grub/x86_64/linux.h: Likewise.
43837
43838 * include/grub/x86_64/setjmp.h: Likewise.
43839
43840 * include/grub/x86_64/time.h: Likewise.
43841
43842 * include/grub/x86_64/types.h: Likewise.
43843
43844 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43845 GRUB_TARGET_SIZEOF_VOID_P.
43846
43847 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43848 (grub_efi_locate_handle): Likewise.
43849 (grub_efi_open_protocol): Likewise.
43850 (grub_efi_set_text_mode): Likewise.
43851 (grub_efi_stall): Likewise.
43852 (grub_exit): Likewise.
43853 (grub_reboot): Likewise.
43854 (grub_halt): Likewise.
43855 (grub_efi_exit_boot_services): Likewise.
43856 (grub_get_rtc): Likewise.
43857
43858 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43859 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43860 (grub_efi_allocate_pages): Wrap efi calls.
43861 (grub_efi_free_pages): Wrap efi calls.
43862 (grub_efi_get_memory_map): Wrap efi calls.
43863
43864 * kern/x86_64/dl.c: New file.
43865
43866 * kern/x86_64/efi/callwrap.S: Likewise.
43867
43868 * kern/x86_64/efi/startup.S: Likewise.
43869
43870 * loader/efi/appleloader.c: Likewise.
43871
43872 * loader/efi/chainloader.c (cmdline): New variable.
43873 (grub_chainloader_unload): Wrap efi calls.
43874 (grub_chainloader_boot): Likewise.
43875 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43876 command line.
43877
43878 * loader/efi/chainloader_normal.c (chainloader_command):
43879 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43880 command line.
43881
43882 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43883 method.
43884 (grub_e820_add_region): New function.
43885 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43886 booting.
43887 (grub_find_video_card): New function.
43888 (grub_linux_setup_video): New function.
43889 (grub_rescue_cmd_linux): Probe for video information.
43890
43891 * normal/x86_64/setjmp.S: New file.
43892
43893 * term/efi/console.c (map_char): New function.
43894 (grub_console_putchar): Map unicode char.
43895 (grub_console_checkkey): Wrap efi calls.
43896 (grub_console_getkey): Likewise.
43897 (grub_console_getwh): Likewise.
43898 (grub_console_gotoxy): Likewise.
43899 (grub_console_cls): Likewise.
43900 (grub_console_setcolorstate): Likewise.
43901 (grub_console_setcursor): Likewise.
43902
43903 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43904
43905 2008-07-16 Pavel Roskin <proski@gnu.org>
43906
43907 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43908 format strings.
43909
43910 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43911 pointer, not an integer. This fixes a warning and prevents
43912 precision loss on 64-bit systems.
43913 (relocate_addresses): Remove unneeded cast.
43914
43915 2008-07-15 Pavel Roskin <proski@gnu.org>
43916
43917 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43918
43919 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43920
43921 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43922 Fix comparison between signed and unsigned.
43923
43924 * include/grub/i386/ieee1275/console.h: Declare
43925 grub_console_init() and grub_console_fini().
43926
43927 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43928 It's empty and unused.
43929
43930 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43931 beginning to avoid warnings with some compilers.
43932
43933 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43934 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43935
43936 2008-07-14 Pavel Roskin <proski@gnu.org>
43937
43938 * kern/env.c (grub_register_variable_hook): Don't copy empty
43939 string, it leaks memory. Pass "" to grub_env_set(), it should
43940 handle constant strings.
43941
43942 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43943 * commands/cmp.c (grub_cmd_cmp): Likewise.
43944 * kern/dl.c (grub_dl_flush_cache): Likewise.
43945 (grub_dl_load_core): Likewise.
43946 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43947 (grub_elf64_load_phdrs): Likewise.
43948
43949 2008-07-13 Pavel Roskin <proski@gnu.org>
43950
43951 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43952 between signed and unsigned.
43953 (LzmaEnc_Finish): Fix warning about an unused parameter.
43954
43955 2008-07-13 Bean <bean123ch@gmail.com>
43956
43957 * Makefile.in (enable_lzo): New rule.
43958
43959 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43960
43961 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43962
43963 * boot/i386/pc/lnxboot.S: #include <config.h>.
43964
43965 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
43966 its value according to the compression algorithm used, lzo or lzma.
43967
43968 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43969 compression algorithm according to configure macro.
43970
43971 * kern/i386/pc/startup.S (codestart): Likewise.
43972
43973 * kern/i386/pc/lzma_decode.S: New file.
43974
43975 * include/grub/lib/LzFind.h: Likewise.
43976
43977 * include/grub/lib/LzHash.h: Likewise.
43978
43979 * include/grub/lib/LzmaDec.h: Likewise.
43980
43981 * include/grub/lib/LzmaEnc.h: Likewise.
43982
43983 * include/grub/lib/LzmaTypes.h: Likewise.
43984
43985 * lib/LzFind.c: Likewise.
43986
43987 * lib/LzmaDec.c: Likewise.
43988
43989 * lib/LzmaEnc.c: Likewise.
43990
43991 2008-07-13 Bean <bean123ch@gmail.com>
43992
43993 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43994 (grub_ext4_extent_header): New structure.
43995 (grub_ext4_extent): Likewise.
43996 (grub_ext4_extent_idx): Likewise.
43997 (grub_ext4_find_leaf): New function.
43998 (grub_ext2_read_block): Handle extents.
43999
44000 2008-07-12 Robert Millan <rmh@aybabtu.com>
44001
44002 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
44003
44004 2008-07-11 Robert Millan <rmh@aybabtu.com>
44005
44006 * util/grub.d/40_custom.in: New file. Example on how to add custom
44007 entries to /etc/grub.d.
44008 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
44009 40_custom (implicitly, by merging all the grub.d rules).
44010
44011 2008-07-11 Pavel Roskin <proski@gnu.org>
44012
44013 * commands/read.c (grub_getline): Fix invalid memory access.
44014 Don't add newline to the variable value.
44015
44016 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
44017 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
44018 (serial_hw_get_port): Check validity of the port number.
44019 (grub_cmd_serial): Check return value of serial_hw_get_port().
44020
44021 2008-07-07 Pavel Roskin <proski@gnu.org>
44022
44023 * boot/i386/pc/diskboot.S (notification_string): Replace
44024 "Loading kernel" with just "loading". This is shorter, less
44025 confusing and saves a few bytes for possible future changes.
44026
44027 2008-07-05 Pavel Roskin <proski@gnu.org>
44028
44029 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
44030 size for ATAPI devices, they are undefined. Output sector
44031 number in decimal form.
44032
44033 * disk/ata.c: Use named constants for status bits.
44034
44035 2008-07-04 Pavel Roskin <proski@gnu.org>
44036
44037 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
44038 grub_addr_t before casting it to the void pointer to fix a
44039 warning. Non-addressable regions are discarded earlier.
44040 (grub_arch_modules_addr): Cast _end to grub_addr_t.
44041 * kern/i386/linuxbios/table.c: Include grub/misc.h.
44042 (check_signature): Don't shadow table_header.
44043 (grub_linuxbios_table_iterate): Cast numeric constants to
44044 grub_linuxbios_table_header_t.
44045 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
44046 grub_stop().
44047
44048 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
44049 prevent warnings.
44050
44051 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
44052 pointer, which can cause warnings. Support 64-bit addresses.
44053
44054 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
44055 of sizeof(long). This fixes PowerPC image generation on x86_64.
44056
44057 2008-07-04 Robert Millan <rmh@aybabtu.com>
44058
44059 This fixes a performance issue when pc & gpt partmap iterators
44060 didn't abort iteration even after our hook found what it was
44061 looking for (often causing expensive probes of non-existent drives).
44062
44063 Some callers relied on previous buggy behaviour, since they would
44064 raise an error when their own hooks caused early abortion of its
44065 iteration.
44066
44067 * kern/device.c (grub_device_open): Improve error message.
44068 * disk/lvm.c (grub_lvm_open): Likewise.
44069 * disk/raid.c (grub_raid_open): Likewise.
44070
44071 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
44072 when hook requests it, independently of grub_errno.
44073 (pc_partition_map_probe): Do not fail when find_func() caused
44074 early abortion of pc_partition_map_iterate().
44075
44076 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
44077 when hook requests it, independently of grub_errno.
44078 (gpt_partition_map_probe): Do not fail when find_func() caused
44079 early abortion of gpt_partition_map_iterate().
44080
44081 * kern/partition.c (grub_partition_iterate): Abort parent iteration
44082 when hook requests it, independently of grub_errno. Do not fail when
44083 part_map_iterate_hook() caused early abortion of p->iterate().
44084
44085 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
44086 when grub_partition_iterate() returned with non-zero.
44087
44088 2008-07-03 Pavel Roskin <proski@gnu.org>
44089
44090 * disk/ata.c (grub_ata_pio_write): Check status before writing,
44091 like we do in grub_ata_pio_read().
44092 (grub_ata_readwrite): Always write individual sectors. Fix the
44093 sector count for the remainder.
44094 (grub_ata_write): Enable writing to ATA devices. Correctly
44095 report error for ATAPI devices.
44096
44097 2008-07-02 Pavel Roskin <proski@gnu.org>
44098
44099 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
44100 warning.
44101
44102 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
44103 for every read sector, we already increment it for the whole
44104 batch. This fixes reading more than 256 sectors at once.
44105
44106 * util/grub-editenv.c (cmd_info): Cast argument to long
44107 explicitly. ptrdiff_t reduces to int on i386.
44108
44109 * util/grub-editenv.c (main): Be specific which parameter is
44110 missing.
44111
44112 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44113 (memdisk): Make memdisk_orig_addr a pointer.
44114
44115 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44116 for file offsets, use grub_off_t instead. Fix printf format
44117 warnings.
44118
44119 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44120 there. Real unexpected warnings should not drown in the noise
44121 about known problems.
44122
44123 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44124 grub_disk_addr_t for memory addresses.
44125
44126 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44127 explicitly to fix a warning.
44128
44129 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44130
44131 * Makefile.in (MODULE_LDFLAGS): New variable.
44132 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44133 the linker accepts --build-id=none.
44134 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44135 MODULE_LDFLAGS.
44136 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44137
44138 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44139 those in Linux XFS code. Provide a way to access 64-bit parent
44140 inode.
44141 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44142 the end of struct grub_xfs_dir_header.
44143
44144 2008-07-02 Bean <bean123ch@gmail.com>
44145
44146 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44147 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44148 and GRUB_IEEE1275_FLAG_NO_ANSI.
44149
44150 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44151 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44152 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44153
44154 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44155 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44156
44157 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44158 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44159
44160 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44161 esc sequence on non ANSI terminal.
44162 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44163
44164 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44165 beginning of file.
44166
44167 2008-07-02 Bean <bean123ch@gmail.com>
44168
44169 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44170 (grub_editenv_SOURCES): New variable.
44171 (pkglib_MODULES): Add loadenv.mod.
44172 (loadenv_mod_SOURCES): New variable.
44173 (loadenv_mod_CFLAGS): Likewise.
44174 (loadenv_mod_LDFLAGS): Likewise.
44175
44176 * include/grub/envblk.h: New file.
44177
44178 * util/envblk.c: New file.
44179
44180 * util/grub-editenv.c: New file.
44181
44182 * commands/loadenv.c: New file.
44183
44184 2008-07-01 Pavel Roskin <proski@gnu.org>
44185
44186 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44187 not unsigned char. This fixes warnings and is consistent with
44188 other tags.
44189
44190 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44191
44192 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44193
44194 * term/tparm.c (analyze): Always set *popcount.
44195
44196 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44197 cast to fix a warning.
44198
44199 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44200 cast to suppress a warning.
44201
44202 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44203 grub_fshelp_read_file() expects.
44204
44205 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44206 write uuid as a 32-bit value in CPU byte order, so declare and
44207 use it as such.
44208
44209 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44210 long if the format specifier expects it.
44211 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44212 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44213 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44214 long to fix a warning.
44215 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44216 grub_dprintf() arguments to fix warnings.
44217
44218 2008-06-30 Pavel Roskin <proski@gnu.org>
44219
44220 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44221 install_bsd_part immediately before core.img is embedded or
44222 modified on disk. This fixes core.img verification if core.img
44223 cannot be embedded.
44224
44225 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44226 core_path to calculate the blocklist.
44227 Patch from Javier Martín <lordhabbit@gmail.com>
44228
44229 2008-06-29 Robert Millan <rmh@aybabtu.com>
44230
44231 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44232 block to disk block.
44233 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44234 Patch from Niels Böhm <bitbucket@arcor.de>
44235
44236 2008-06-29 Robert Millan <rmh@aybabtu.com>
44237
44238 * util/update-grub_lib.in (font_path): Search for fonts in
44239 /boot/grub first, which is more likely to be readable (we aren't
44240 deciding where fonts live, just looking for them).
44241
44242 2008-06-26 Pavel Roskin <proski@gnu.org>
44243
44244 * util/biosdisk.c (read_device_map): Don't leave dead map
44245 entries for devices failing stat() check.
44246
44247 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44248 core_path_dev for the core.img path on the target device.
44249
44250 2008-06-26 Robert Millan <rmh@aybabtu.com>
44251
44252 * disk/fs_uuid.c: New file.
44253 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44254 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44255 (fs_uuid_mod_LDFLAGS): New variables.
44256 * include/grub/disk.h (grub_disk_dev_id): Add
44257 `GRUB_DISK_DEVICE_UUID_ID'.
44258 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44259 implement iterate().
44260
44261 2008-06-26 Robert Millan <rmh@aybabtu.com>
44262
44263 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44264 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44265 Linux image includes no initrd.
44266
44267 2008-06-21 Javier Martín <lordhabbit@gmail.com>
44268
44269 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44270 call to resolve the core image location that effectively appended the
44271 name twice.
44272
44273 2008-06-21 Robert Millan <rmh@aybabtu.com>
44274
44275 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44276 call from here ...
44277
44278 * util/grub.d/10_hurd.in: ... to here ...
44279 * util/grub.d/10_linux.in: ... and here.
44280
44281 2008-06-19 Robert Millan <rmh@aybabtu.com>
44282
44283 * kern/main.c (grub_main): Export `prefix' variable immediately
44284 after it has been set by grub_machine_set_prefix().
44285
44286 2008-06-19 Robert Millan <rmh@aybabtu.com>
44287
44288 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44289 search result when not saving to variable, not the other way around.
44290 When saving to variable, abort iteration as soon as a match is found.
44291
44292 2008-06-19 Robert Millan <rmh@aybabtu.com>
44293
44294 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44295 check for partition that provides /boot/grub. Its logic is flawed,
44296 as it prevents prepare_grub_to_access_device() from being called
44297 multiple times.
44298
44299 2008-06-19 Robert Millan <rmh@aybabtu.com>
44300
44301 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44302 "insmod" command directly when abstraction modules are needed,
44303 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
44304 since it had already been processed).
44305
44306 2008-06-19 Pavel Roskin <proski@gnu.org>
44307
44308 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44309 changed. This is needed in case GRUB_LIBDIR changes.
44310 * conf/i386-ieee1275.rmk: Likewise.
44311 * conf/i386-linuxbios.rmk: Likewise.
44312 * conf/i386-pc.rmk: Likewise.
44313 * conf/powerpc-ieee1275.rmk: Likewise.
44314
44315 2008-06-18 Pavel Roskin <proski@gnu.org>
44316
44317 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44318 kernel_elf_symlist.c to symlist.c for consistency with other
44319 architectures. Update all users.
44320 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44321
44322 2008-06-18 Robert Millan <rmh@aybabtu.com>
44323
44324 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44325 it in prefix.
44326
44327 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44328 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44329 a RAID device, run setup() for all members independently on whether
44330 LVM abstraction is being used.
44331 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44332 If grub-mkimage has set `*install_dos_part == -2', don't override this
44333 value.
44334 Perform *install_dos_part adjustments independently on whether
44335 we're embedding or not.
44336 Clarify error message when image is too big for embedding.
44337 Remove duplicate *install_dos_part stanza.
44338
44339 2008-06-17 Robert Millan <rmh@aybabtu.com>
44340
44341 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44342 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44343 variables.
44344 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44345 values in grub_ofconsole_normal_color and
44346 grub_ofconsole_highlight_color (they're not directly related to
44347 background and foreground).
44348 (grub_ofconsole_setcolorstate): Extract background and foreground
44349 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44350
44351 2008-06-17 Robert Millan <rmh@aybabtu.com>
44352
44353 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44354 /boot/grub for the check in last commit, not /boot (they could be
44355 different partitions).
44356
44357 2008-06-16 Robert Millan <rmh@aybabtu.com>
44358
44359 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44360 asked to setup access for the same partition that provides /boot,
44361 don't bother using UUIDs since our root already has the value we
44362 want.
44363
44364 2008-06-16 Robert Millan <rmh@aybabtu.com>
44365
44366 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44367 I2O devices.
44368 Patch from Sven Mueller <sven@debian.org>.
44369
44370 2008-06-16 Robert Millan <rmh@aybabtu.com>
44371
44372 * util/update-grub.in: Check for $EUID instead of $UID.
44373 Reported by Vincent Zweije.
44374
44375 2008-06-16 Bean <bean123ch@gmail.com>
44376
44377 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
44378 (grub_ext2_read_block): Likewise.
44379 (grub_ext2_read_inode): Likewise.
44380 (grub_ext2_mount): Likewise.
44381 (grub_ext2_close): Likewise.
44382 (grub_ext3_get_journal): Removed.
44383
44384 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
44385 (grub_reiserfs_read_symlink): Likewise.
44386 (grub_reiserfs_mount): Likewise.
44387 (grub_reiserfs_open): Likewise.
44388 (grub_reiserfs_read): Likewise.
44389 (grub_reiserfs_close): Likewise.
44390 (grub_reiserfs_get_journal): Removed.
44391
44392 * fs/fshelp.c (grub_fshelp_read): Removed.
44393 (grub_fshelp_map_block): Likewise.
44394
44395 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44396 (grub_fshelp_journal): Likewise.
44397 (grub_fshelp_read): Likewise.
44398 (grub_fshelp_map_block): Likewise.
44399
44400 2008-06-16 Pavel Roskin <proski@gnu.org>
44401
44402 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44403 floating point anymore.
44404 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44405
44406 2008-06-15 Pavel Roskin <proski@gnu.org>
44407
44408 * commands/ls.c (grub_ls_list_files): Use integer calculations
44409 for human readable format, avoid floating point use.
44410 * kern/misc.c (grub_ftoa): Remove.
44411 (grub_vsprintf): Remove floating point support.
44412
44413 2008-06-15 Robert Millan <rmh@aybabtu.com>
44414
44415 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
44416 devices.
44417 Reported by Max Vozeler.
44418
44419 2008-06-15 Robert Millan <rmh@aybabtu.com>
44420
44421 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44422 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44423 skipped later.
44424 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44425 the beginning of the prefix.
44426
44427 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44428 It is assumed that if we have a memdisk, grub-mkimage has set
44429 grub_prefix to include the "(memdisk)" drive in it.
44430
44431 2008-06-15 Robert Millan <rmh@aybabtu.com>
44432
44433 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44434 Initialize keyboard controller after registering the terminal, so that
44435 grub_printf() can be called from grub_keyboard_controller_init().
44436
44437 2008-06-15 Robert Millan <rmh@aybabtu.com>
44438
44439 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44440 extent-btree which is written as big endian on disk.
44441 Reported by Alain Greppin <al@chilibi.org>.
44442
44443 2008-06-14 Robert Millan <rmh@aybabtu.com>
44444
44445 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44446 * util/i386/pc/grub-install.in (modules): Likewise.
44447
44448 2008-06-13 Pavel Roskin <proski@gnu.org>
44449
44450 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44451
44452 2008-06-13 Bean <bean123ch@gmail.com>
44453
44454 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44455
44456 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44457
44458 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44459 to indicate sparse block.
44460
44461 2008-06-12 Pavel Roskin <proski@gnu.org>
44462
44463 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44464 number, grub_fshelp_read() does it for us.
44465
44466 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44467 linear disk read with journal translation.
44468 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44469 * include/grub/fshelp.h: Declare grub_fshelp_read().
44470
44471 2008-06-09 Pavel Roskin <proski@gnu.org>
44472
44473 * fs/minix.c (grub_minix_mount): Handle error reading
44474 superblock.
44475
44476 2008-06-08 Robert Millan <rmh@aybabtu.com>
44477
44478 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44479 don't append the RAID prefix afterwards.
44480 Reported by Clint Adams.
44481
44482 2008-06-08 Robert Millan <rmh@aybabtu.com>
44483
44484 Based on description from Pavel:
44485 * kern/disk.c (grub_disk_check_range): Rename to ...
44486 (grub_disk_adjust_range): ... this. Add a comment explaining the
44487 tasks performed by this function.
44488
44489 2008-06-08 Robert Millan <rmh@aybabtu.com>
44490
44491 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44492 `num_serial' (for consistency with other variables).
44493 (struct grub_ntfs_data): Add `uuid' member.
44494 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44495 (grub_ntfs_uuid): New function.
44496 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44497
44498 2008-06-07 Pavel Roskin <proski@gnu.org>
44499
44500 * util/biosdisk.c (open_device): Revert last change to the
44501 function, it broke installation. The sector needs to be
44502 different dependent on which device is opened.
44503
44504 2008-06-06 Robert Millan <rmh@aybabtu.com>
44505
44506 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44507 rest of GRUB, and breakage doesn't happen if its value were modified.
44508
44509 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44510 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44511 a constant (same value).
44512 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44513 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44514
44515 2008-06-06 Robert Millan <rmh@aybabtu.com>
44516
44517 * util/biosdisk.c (open_device): Do not modify sector offset when
44518 accessing a partition. kern/disk.c already handles this for us.
44519
44520 2008-06-06 Robert Millan <rmh@aybabtu.com>
44521
44522 * util/grub-emu.c (grub_machine_init): Move code in this function from
44523 here ...
44524 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44525 segfault in case grub_printf() is called).
44526
44527 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44528 grub_probe. Update all users not to explicitly add it again.
44529 (grub_device): New variable; contains corresponding device for grubdir.
44530 (fs_module, partmap_module, devabstraction_module): Pass
44531 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44532 every time.
44533
44534 2008-06-05 Robert Millan <rmh@aybabtu.com>
44535
44536 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44537 is found, print it (same layout as with labels).
44538
44539 2008-06-04 Robert Millan <rmh@aybabtu.com>
44540
44541 * util/biosdisk.c (get_drive): Rename to ...
44542 (find_grub_drive): ... this. Update all users.
44543
44544 (get_os_disk): Rename to ...
44545 (convert_system_partition_to_system_disk): ... this. Update all users.
44546
44547 (find_drive): Rename to ...
44548 (find_system_device): ... this. Update all users.
44549
44550 2008-06-04 Robert Millan <rmh@aybabtu.com>
44551
44552 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44553 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44554 (make_device_map): Likewise.
44555
44556 2008-06-01 Robert Millan <rmh@aybabtu.com>
44557
44558 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44559 before dereferencing it.
44560
44561 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44562 union with fat12/fat16-specific ones. Add some new fields, including
44563 `num_serial' for both versions.
44564 (struct grub_fat_data): Add `uuid' member.
44565 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44566 names. Initialize `data->uuid' using `num_serial'.
44567 (grub_fat_uuid): New function.
44568 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44569
44570 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44571 (grub_reiserfs_uuid): New function.
44572 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44573 member.
44574
44575 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44576 (grub_xfs_uuid): New function.
44577 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44578
44579 2008-06-01 Robert Millan <rmh@aybabtu.com>
44580
44581 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44582 code that is backward compatible with pre-uuid search command.
44583
44584 2008-05-31 Robert Millan <rmh@aybabtu.com>
44585
44586 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44587 floppies after everything else, to ensure floppy drive isn't accessed
44588 unnecessarily (patch from Bean).
44589
44590 2008-05-31 Robert Millan <rmh@aybabtu.com>
44591
44592 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44593 not print device names when we were asked to set a variable.
44594
44595 2008-05-31 Robert Millan <rmh@aybabtu.com>
44596
44597 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44598 using "cursor-on" and "cursor-off" commands (understood at least by
44599 the Open Firmware flavour on OLPC).
44600
44601 2008-05-31 Michael Gorven <michael@gorven.za.net>
44602
44603 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44604 on and off sequences.
44605
44606 2008-05-31 Robert Millan <rmh@aybabtu.com>
44607
44608 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44609 * util/update-grub.in: Likewise.
44610
44611 2008-05-30 Pavel Roskin <proski@gnu.org>
44612
44613 * util/biosdisk.c (linux_find_partition): Simplify logic and
44614 make the code more universal. Keep special processing for
44615 devfs, but use a simple rule for all other devices. If the
44616 device ends with a number, append 'p' and the partition number.
44617 Otherwise, append only the partition number.
44618
44619 2008-05-30 Robert Millan <rmh@aybabtu.com>
44620
44621 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44622 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44623 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44624 the `root' parameter to Linux.
44625
44626 2008-05-30 Robert Millan <rmh@aybabtu.com>
44627
44628 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44629 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44630 --fs_uuid with --fs-uuid.
44631 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44632 all filesystems support them).
44633
44634 2008-05-30 Robert Millan <rmh@aybabtu.com>
44635
44636 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
44637 grub_printf() flags, since we're printing in units of 2 bytes.
44638
44639 2008-05-30 Robert Millan <rmh@aybabtu.com>
44640
44641 * util/grub.d/00_header.in: Remove obsolete comment referencing
44642 convert_system_path_to_grub_path().
44643 * util/update-grub.in: Likewise.
44644 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44645 (convert_system_path_to_grub_path): Add a warning message explaining
44646 that this function is deprecated. Rely on is_path_readable_by_grub()
44647 for the readability checks.
44648 (font_path): Use is_path_readable_by_grub() for the readability
44649 check rather than convert_system_path_to_grub_path().
44650
44651 2008-05-30 Robert Millan <rmh@aybabtu.com>
44652
44653 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44654 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44655 converting it first.
44656 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44657 grub.cfg for access to font file, and afterwards call it again to set
44658 the root device.
44659
44660 2008-05-30 Robert Millan <rmh@aybabtu.com>
44661
44662 * commands/search.c (options): Add --fs_uuid option.
44663 (search_fs_uuid): New function.
44664 (grub_cmd_search): Fix --set argument passing.
44665 Use search_fs_uuid() when requested via --fs_uuid.
44666 (grub_search_init): Update help message.
44667 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44668 and redeclare it as an array of 16-bit words.
44669 (grub_ext2_uuid): New function.
44670 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44671 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44672 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44673 (GRUB_DEVICE_BOOT_UUID): New variables.
44674 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44675 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44676 whenever possible.
44677 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44678 just assume `root' variable has the right value.
44679 * util/grub.d/10_linux.in: Likewise.
44680 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44681 via PRINT_FS_UUID.
44682 (main): Recognise `-t fs_uuid' argument.
44683
44684 2008-05-30 Robert Millan <rmh@aybabtu.com>
44685
44686 * util/biosdisk.c (map): Redefine structure to hold information
44687 about GRUB drive name.
44688 (get_drive): Reimplement without assuming (and verifying) BIOS-like
44689 drive names.
44690 (call_hook): Remove.
44691 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44692 member. Assume drive has partitions.
44693 (grub_util_biosdisk_open): Access device names via `.device' struct
44694 member.
44695 (open_device): Likewise.
44696 (find_drive): Likewise.
44697 (read_device_map): Adjust map[] usage to match the new struct
44698 definition. Don't check for duplicates (still possible, but not cheap
44699 anymore).
44700 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44701 (make_device_name): Remove assumption of BIOS-like drive names.
44702
44703 2008-05-30 Pavel Roskin <proski@gnu.org>
44704
44705 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44706 compiling execute.c doesn't need grub_script.tab.h anymore.
44707 (normal/command.c_DEPENDENCIES): Likewise.
44708 (normal/function.c_DEPENDENCIES): Likewise.
44709 * conf/i386-ieee1275.rmk: Likewise.
44710 * conf/i386-linuxbios.rmk: Likewise.
44711 * conf/i386-pc.rmk: Likewise.
44712 * conf/powerpc-ieee1275.rmk: Likewise.
44713 * conf/sparc64-ieee1275.rmk: Likewise.
44714
44715 2008-05-29 Pavel Roskin <proski@gnu.org>
44716
44717 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44718 when scanning metadata for volume group name.
44719
44720 * include/grub/script.h: Don't include grub_script.tab.h. It's
44721 a generated file, which may only be included from the files with
44722 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44723 use union YYSTYPE, as the later allows forward declaration.
44724 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44725
44726 2008-05-29 Robert Millan <rmh@aybabtu.com>
44727
44728 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44729 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44730 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44731 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44732 scan codes.
44733
44734 2008-05-29 Robert Millan <rmh@aybabtu.com>
44735
44736 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44737 control key combinations.
44738
44739 2008-05-29 Robert Millan <rmh@aybabtu.com>
44740
44741 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44742 * util/ieee1275/grub-install.in: ... to here.
44743 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44744 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44745 (grub_install_SOURCES): Likewise.
44746
44747 2008-05-29 Robert Millan <rmh@aybabtu.com>
44748
44749 * fs/affs.c: Update copyright year.
44750 * fs/ext2.c: Likewise.
44751 * fs/fshelp.c: Likewise.
44752 * fs/hfsplus.c: Likewise.
44753 * fs/ntfs.c: Likewise.
44754 * fs/xfs.c: Likewise.
44755 * include/grub/fshelp.h: Likewise.
44756 * util/grub-mkdevicemap.c: Likewise.
44757
44758 2008-05-28 Robert Millan <rmh@aybabtu.com>
44759
44760 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44761 might need to be fatfs to support some firmware implementations
44762 (e.g. OFW or EFI).
44763
44764 2008-05-28 Robert Millan <rmh@aybabtu.com>
44765
44766 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44767 devices.
44768 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44769 (make_device_map): Likewise.
44770
44771 2008-05-20 Bean <bean123ch@gmail.com>
44772
44773 * fs/fshelp.c (grub_fshelp_map_block): New function.
44774 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44775 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44776
44777 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44778 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44779 (grub_fshelp_journal): New structure.
44780 (grub_fshelp_map_block): New function prototype.
44781 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44782 (grub_fshelp_map_block): Likewise.
44783
44784 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44785 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44786 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44787 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44788 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44789 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44790 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44791 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44792 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44793 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44794 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44795 (grub_ext2_sblock): New members for journal support.
44796 (grub_ext3_journal_header): New structure.
44797 (grub_ext3_journal_revoke_header): Likewise.
44798 (grub_ext3_journal_block_tag): Likewise.
44799 (grub_ext3_journal_sblock): Likewise.
44800 (grub_fshelp_node): New members logfile and journal.
44801 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44802 grub_fshelp_map_block to get real block number.
44803 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44804 number.
44805 (grub_ext2_read_inode): Likewise.
44806 (grub_ext3_get_journal): New function.
44807 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44808 (grub_ext2_close): Release memory used by journal.
44809
44810 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44811 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44812 (grub_reiserfs_transaction_header): Renamed to
44813 grub_reiserfs_description_block, replace field data with real_blocks.
44814 (grub_reiserfs_commit_block): New structure.
44815 (grub_reiserfs_data): New member journal.
44816 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44817 number.
44818 (grub_reiserfs_read_symlink): Likewise.
44819 (grub_reiserfs_iterate_dir): Likewise.
44820 (grub_reiserfs_open): Likewise.
44821 (grub_reiserfs_read): Likewise.
44822 (grub_reiserfs_get_journal): New function.
44823 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44824 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44825 using grub_reiserfs_get_journal.
44826 (grub_reiserfs_close): Release memory used by journal.
44827
44828 * fs/affs.c (grub_affs_read_block): Change block type to
44829 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44830
44831 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44832
44833 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44834
44835 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44836
44837 * fs/udf.c (grub_udf_read_block): Change block type to
44838 grub_disk_addr_t. Use type cast to avoid warning.
44839
44840 * fs/xfs.c (grub_xfs_read_block): Likewise.
44841
44842 2008-05-16 Christian Franke <franke@computer.org>
44843
44844 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44845 to ensure that break with ESC will always work.
44846 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44847 Remove ESC from keyboard queue.
44848
44849 2008-05-16 Christian Franke <franke@computer.org>
44850
44851 * util/biosdisk.c: [__CYGWIN__] Add includes.
44852 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44853 (get_os_disk): Move variable declarations to OS specific
44854 parts to avoid warning.
44855 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44856 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44857 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44858 Cygwin.
44859 * util/getroot.c: [__CYGWIN__] Add includes.
44860 (strip_extra_slashes): Fix "/" case.
44861 [__CYGWIN__] (get_win32_path): New function.
44862 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44863 [__CYGWIN__] (find_root_device): Disable.
44864 [__CYGWIN__] (get_bootsec_serial): New function.
44865 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44866 [__linux__] (grub_guess_root_device): Add early returns to simplify
44867 structure.
44868 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44869 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44870 check for Linux only.
44871
44872 2008-05-15 Bean <bean123ch@gmail.com>
44873
44874 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44875 keyboard hang problem in apple's intel mac.
44876
44877 2008-05-09 Robert Millan <rmh@aybabtu.com>
44878
44879 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44880 devices.
44881 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44882 (make_device_map): Likewise.
44883 Reported by Aurelien Jarno <aurel32@debian.org>
44884
44885 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
44886
44887 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44888 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44889 (make_device_map): Output entries for xvd type disks.
44890
44891 2008-05-07 Robert Millan <rmh@aybabtu.com>
44892
44893 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44894 devices.
44895 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44896 (make_device_map): Likewise.
44897 Reported by Roland Dreier <rdreier@cisco.com>
44898
44899 2008-05-07 Robert Millan <rmh@aybabtu.com>
44900
44901 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44902 grub_strstr() call. Correct a few mistakes in failure path handling.
44903
44904 2008-05-06 Robert Millan <rmh@aybabtu.com>
44905
44906 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44907 Do not print a trailing slash (therefore, the root directory is an
44908 empty string).
44909 (convert_system_path_to_grub_path): Do not remove trailing slash
44910 from make_system_path_relative_to_its_root() output.
44911
44912 * util/i386/pc/grub-install.in: Add trailing slash to output from
44913 make_system_path_relative_to_its_root().
44914
44915 2008-05-06 Robert Millan <rmh@aybabtu.com>
44916
44917 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44918 ensures that output lines aren't intermangled with those sent to
44919 stderr (via grub_util_info()).
44920 * util/grub-probe.c (grub_refresh): Likewise.
44921 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44922
44923 2008-05-05 Christian Franke <franke@computer.org>
44924
44925 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44926 Add Cygwin device names.
44927 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44928 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44929 (check_device): Return error instead of success on empty name.
44930 (make_device_map): Move label inside linux specific code to
44931 prevent compiler warning.
44932
44933 2008-04-30 Robert Millan <rmh@aybabtu.com>
44934
44935 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44936 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44937 first boot option.
44938 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44939
44940 2008-04-29 Robert Millan <rmh@aybabtu.com>
44941
44942 * docs/grub.cfg: New file (example GRUB configuration).
44943
44944 2008-04-26 Robert Millan <rmh@aybabtu.com>
44945
44946 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44947 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44948 and `disk/ieee1275/nand.c'.
44949
44950 2008-04-25 Bean <bean123ch@gmail.com>
44951
44952 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44953 i386-linuxbios.
44954
44955 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44956 change the buffer size to 4096 for cdrom device.
44957
44958 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44959 and nand.mod.
44960 (_linux_mod_SOURCES): New variable.
44961 (_linux_mod_CFLAGS): Likewise.
44962 (_linux_mod_LDFLAGS): Likewise.
44963 (linux_mod_SOURCES): Likewise.
44964 (linux_mod_CFLAGS): Likewise.
44965 (linux_mod_LDFLAGS): Likewise.
44966 (nand_mod_SOURCES): Likewise.
44967 (nand_mod_CFLAGS): Likewise.
44968 (nand_mod_LDFLAGS): Likewise.
44969
44970 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44971 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44972 type property. (nand device in olpc don't have this property)
44973
44974 * include/grub/disk.h (grub_disk_dev_id): New macro
44975 GRUB_DISK_DEVICE_NAND_ID.
44976
44977 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44978 function prototype.
44979 (grub_rescue_cmd_initrd): Likewise.
44980
44981 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44982 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44983 ofw_cif_handler and ofw_idt, adjust padding number.
44984
44985 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44986 GRUB_MACHINE_IEEE1275 is defined.
44987
44988 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44989 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44990
44991 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44992 on nested function heap_init.
44993 (grub_upper_mem): New variable for i386-ieee1275.
44994 (grub_get_extended_memory): New function for i386-ieee1275.
44995 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44996
44997 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44998 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44999 property.
45000
45001 * loader/i386/ieee1275/linux.c: New file.
45002
45003 * loader/i386/ieee1275/linux_normal.c: New file.
45004
45005 * disk/ieee1275/nand.c: New file.
45006
45007 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
45008
45009 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
45010 value.
45011 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
45012
45013 2008-04-18 Robert Millan <rmh@aybabtu.com>
45014
45015 Restructures early code path on ieee1275 to unify grub_main() as
45016 the first C function that is executed in every platform.
45017
45018 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
45019 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
45020 cmain().
45021 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
45022 * kern/ieee1275/cmain.c (cmain): Rename to ...
45023 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
45024 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
45025 at the beginning.
45026
45027 2008-04-18 Robert Millan <rmh@aybabtu.com>
45028
45029 * util/update-grub.in: Fix syntax error when setting
45030 `GRUB_PRELOAD_MODULES'.
45031 Reported by Stephane Chazelas <stephane@artesyncp.com>
45032
45033 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
45034
45035 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
45036 section into account, newer toolchains generate unique build ids
45037 * configure.ac: remove the test for --build-id=none acceptance,
45038 we want build ids to be preserved
45039 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
45040 far from other sections don't cause the raw binary images grow
45041 size
45042
45043 2008-04-15 Robert Millan <rmh@aybabtu.com>
45044
45045 * disk/lvm.c: Update copyright year.
45046 * kern/misc.c: Likewise.
45047
45048 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45049
45050 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
45051 there is no memory left for physical volume name.
45052
45053 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
45054
45055 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
45056 volume name mapping to support bigger than 9 character names properly.
45057
45058 2008-04-13 Robert Millan <rmh@aybabtu.com>
45059
45060 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
45061 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
45062
45063 2008-04-13 Christian Franke <franke@computer.org>
45064
45065 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
45066 to create a floppy emulation boot CD when non emulation mode
45067 does not work.
45068 Enable Joliet CD filesystem extension.
45069
45070 2008-04-13 Robert Millan <rmh@aybabtu.com>
45071
45072 * kern/misc.c (grub_strncat): Fix off-by-one error.
45073 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
45074
45075 * kern/env.c (grub_env_context_close): Clear current context, not
45076 previous one.
45077 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
45078
45079 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
45080
45081 2008-04-13 Robert Millan <rmh@aybabtu.com>
45082
45083 Improve robustness when handling LVM.
45084
45085 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
45086 (and leave `*p' unmodified).
45087 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
45088 through it.
45089 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
45090 iterating through it.
45091 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
45092 through it.
45093 (grub_lvm_scan_device): Check the return value (and fail gracefully
45094 when due) on each grub_lvm_getvalue() or grub_strstr() call.
45095 Don't assume `vg->pvs != NULL' when iterating through it.
45096
45097 2008-04-13 Robert Millan <rmh@aybabtu.com>
45098
45099 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
45100 * genmk.rb (partmap): New variable.
45101 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
45102 (#{partmap}): New target rule.
45103 * genpartmaplist.sh: New file.
45104 * Makefile.in (pkglib_DATA): Add partmap.lst.
45105 (partmap.lst): New target rule.
45106 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45107 modules (including all partition maps), instead of preloading them.
45108
45109 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45110
45111 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45112 `linux-boot-prober' (if installed) to detect other operating
45113 systems which are installed on the computer and add them to
45114 the boot menu.
45115 * conf/common.rmk: Build and install 30_os-prober.
45116
45117 2008-04-12 Robert Millan <rmh@aybabtu.com>
45118
45119 * kern/powerpc/ieee1275/init.c: Move from here ...
45120 * kern/ieee1275/init.c: ... to here. Update all users.
45121
45122 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45123 * kern/ieee1275/cmain.c: ... to here. Update all users.
45124
45125 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45126 * kern/ieee1275/openfw.c: ... to here. Update all users.
45127
45128 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45129 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45130
45131 2008-04-10 Pavel Roskin <proski@gnu.org>
45132
45133 * configure.ac: Always use "_cv_" in cache variables for
45134 compatibility with Autoconf 2.62.
45135
45136 2008-04-07 Robert Millan <rmh@aybabtu.com>
45137
45138 Revert grub/machine/init.h addition by Pavel (since it breaks on
45139 i386-ieee1275 and others):
45140 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45141 * util/powerpc/ieee1275/misc.c: Likewise.
45142
45143 2008-04-07 Robert Millan <rmh@aybabtu.com>
45144
45145 * util/grub-probe.c (probe): Improve error message.
45146
45147 2008-04-07 Robert Millan <rmh@aybabtu.com>
45148
45149 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45150 (this prevents the presence of a bogus entry from ruining the whole
45151 thing).
45152
45153 2008-04-06 Pavel Roskin <proski@gnu.org>
45154
45155 * util/biosdisk.c: Include grub/util/biosdisk.h.
45156 * util/grub-fstest.c (execute_command): Make static.
45157 * util/grub-mkdevicemap.c (check_device): Likewise.
45158 * util/i386/pc/misc.c: Include grub/machine/init.h.
45159 * util/powerpc/ieee1275/misc.c: Likewise.
45160 * util/lvm.c: Include grub/util/lvm.h.
45161 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45162 grub/cache.h.
45163 * util/raid.c: Include grub/util/raid.h.
45164 (grub_util_getdiskname): Make static.
45165
45166 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45167 grub_hostfs_fini(), as they are called from grub_init_all() and
45168 grub_fini_all() respectively. This fixes an infinite loop in
45169 grub-fstest due to double registration of hostfs.
45170 Reported by Christian Franke <Christian.Franke@t-online.de>
45171
45172 2008-04-05 Pavel Roskin <proski@gnu.org>
45173
45174 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45175 all 8 functions. Otherwise, probe function 0 only.
45176
45177 2008-04-04 Pavel Roskin <proski@gnu.org>
45178
45179 * commands/lspci.c (grub_lspci_iter): Print the bus number
45180 correctly.
45181
45182 * commands/lspci.c (grub_pci_classes): Fix typos.
45183 (grub_lspci_iter): Don't print func twice. Print vendor ID
45184 before device ID, as it's normally done.
45185
45186 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45187 Fix signedness warnings.
45188 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45189 Likewise.
45190 * util/ieee1275/get_disk_name.c: Include config.h so that
45191 _GNU_SOURCE is defined and getline() is declared. Mark an
45192 unused argument as such. Fix a signedness warning.
45193
45194 2008-04-02 Pavel Roskin <proski@gnu.org>
45195
45196 * genkernsyms.sh.in: Use more robust assignments for CC and
45197 srcdir. Quote srcdir.
45198 * gensymlist.sh.in: Likewise. Assert at the compile time that
45199 the symbol table is not empty.
45200
45201 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45202 * fs/cpio.c (grub_cpio_read): Likewise.
45203
45204 2008-04-01 Pavel Roskin <proski@gnu.org>
45205
45206 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45207 * disk/host.c (grub_host_open): Likewise.
45208 * disk/loopback.c (grub_loopback_open): Likewise.
45209 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45210 disk->id as in disk/host.c, not a multi-character constant.
45211
45212 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45213 later is obsolete, potentially dangerous and sets a bad example.
45214 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45215 * util/misc.c (grub_util_get_image_size): Likewise.
45216
45217 * disk/loopback.c (options): Improve help for "--partitions".
45218
45219 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45220 options to align them with the short options, e.g. "echo -e".
45221
45222 2008-03-31 Bean <bean123ch@gmail.com>
45223
45224 * video/reader/png.c (grub_png_data): New member is_16bit and
45225 image_data.
45226 (grub_png_decode_image_header): Detect 16 bit png image.
45227 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45228 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45229 (grub_video_reader_png): Release memory occupied by image_data.
45230
45231 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45232 4096 bytes.
45233 (grub_nfs_mount): Skip the test for sector per cluster.
45234
45235 * include/grub/ntfs.h (MAX_SPC): Removed.
45236
45237 2008-03-31 Bean <bean123ch@gmail.com>
45238
45239 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45240 (grub_probe_SOURCES): Add fs/afs.c.
45241 (grub_fstest_SOURCES): Likewise.
45242 (afs_mod_SOURCES): New variable.
45243 (afs_mod_CFLAGS): Likewise.
45244 (afs_mod_LDFLAGS): Likewise.
45245
45246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45247 (grub_emu_SOURCES): Likewise.
45248
45249 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45250
45251 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45252
45253 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45254
45255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45256
45257 * fs/afs.c: New file.
45258
45259 2008-03-30 Pavel Roskin <proski@gnu.org>
45260
45261 * disk/host.c: Include grub/misc.h to fix a warning.
45262 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45263 warnings about implicit declarations.
45264
45265 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45266 variable.
45267 * include/grub/i386/loader.h: Change declaration of
45268 grub_linux_boot() to match what grub_loader_set() expects.
45269 * util/getroot.c (grub_guess_root_device): Return const char* to
45270 fix a warning.
45271 * util/grub-probe.c (probe): Fix a warning about uninitialized
45272 abstraction_name variable.
45273 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45274 second argument as unused to fix a warning.
45275
45276 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45277 missing grub_error() call.
45278
45279 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45280 2.60 and newer uses it to define datadir.
45281
45282 * commands/sleep.c: Fix warning about implicit declaration.
45283 * disk/memdisk.c: Likewise.
45284 * loader/aout.c: Likewise.
45285 * loader/i386/bsd_normal.c: Likewise.
45286 * util/grub-probe.c: Likewise.
45287
45288 * commands/i386/cpuid.c (has_longmode): Make static.
45289 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45290 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45291
45292 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45293 GDT. This is more robust, as %ds can change.
45294 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45295 calling real_to_prot().
45296 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45297
45298 2008-03-28 Pavel Roskin <proski@gnu.org>
45299
45300 * kern/i386/pc/startup.S: Assert that uncompressed functions
45301 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45302 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45303 code, as they push parts of the code (error handlers) beyond
45304 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45305 code as correctness and size.
45306
45307 2008-03-28 Pavel Roskin <proski@gnu.org>
45308
45309 * kern/i386/pc/startup.S
45310 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45311 data block address to the real mode, keep offset minimal. This
45312 works around a bug in AWARD BIOS on old Athlon systems, which
45313 makes CD detection hang.
45314
45315 2008-03-26 Pavel Roskin <proski@gnu.org>
45316
45317 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45318 const.
45319 * include/grub/normal.h: Add grub_parse_color_name_pair()
45320 declaration.
45321
45322 2008-03-24 Bean <bean123ch@gmail.com>
45323
45324 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45325 (cd_count): Removed.
45326 (cd_drive): New variable.
45327 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45328 (grub_biosdisk_call_hook): Likewise.
45329 (grub_biosdisk_iterate): Change cdrom detection method.
45330 (grub_biosdisk_open): Replace cd_start with cd_drive.
45331 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45332 detect cdrom device.
45333
45334 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45335 Removed.
45336 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45337 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45338 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45339 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45340 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45341 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45342 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45343 (grub_biosdisk_cdrp): New structure.
45344 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45345
45346 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45347
45348 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45349 device.
45350
45351 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45352 New function.
45353
45354 2008-03-20 Robert Millan <rmh@aybabtu.com>
45355
45356 Remove 2 TiB limit in ata.mod.
45357 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45358 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45359 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45360 grub_uint64_t instead of grub_uint32_t.
45361
45362 2008-03-05 Bean <bean123ch@gmail.com>
45363
45364 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45365 (grub_multiboot): Set boot device.
45366
45367 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45368
45369 2008-03-02 Bean <bean123ch@gmail.com>
45370
45371 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45372 symlink_buffer.
45373
45374 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45375
45376 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45377 texinfo.tex.
45378
45379 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45380 modified.
45381
45382 * docs/fdl.texi: New file.
45383
45384 * docs/mdate-sh: New file. Copied from gnulib.
45385 * docs/texinfo.tex: Likewise.
45386
45387 * config.guess: Updated from gnulib.
45388 * install-sh: Likewise.
45389
45390 2008-02-28 Robert Millan <rmh@aybabtu.com>
45391
45392 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45393 (aout_mod_SOURCES): New variable.
45394 (aout_mod_CFLAGS): Likewise.
45395 (aout_mod_LDFLAGS): Likewise.
45396
45397 * conf/i386-ieee1275.rmk: Likewise.
45398
45399 2008-02-28 Robert Millan <rmh@aybabtu.com>
45400
45401 * util/update-grub.in: Reorganise terminal validity check. Accept
45402 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45403 Based on suggestion by Franklin PIAT.
45404
45405 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45406
45407 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45408 function.
45409 * util/getroot.c (grub_util_check_block_device): New function that
45410 returns the given argument if it is a block device and returns NULL else.
45411 * util/grub-probe.c (argument_is_device): New variable.
45412 (probe): Promote device_name from a variable to an argument. Receive
45413 device_name from grub_util_check_block_device() if path is NULL and from
45414 grub_guess_root_device() else. Do not free() device_name anymore.
45415 (options): Introduce new parameter '-d, --device'.
45416 (main): Add description of the new parameter to the help screen.
45417 Rename path variable to argument. Set argument_is_device if the '-d'
45418 option is given. Pass argument to probe() depending on
45419 argument_is_device.
45420
45421 2008-02-24 Bean <bean123ch@gmail.com>
45422
45423 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45424 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45425 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45426 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45427 (GRUB_ISO9660_VOLDESC_END): Likewise.
45428 (grub_iso9660_primary_voldesc): New member escape.
45429 (grub_iso9660_data): New member joliet.
45430 (grub_iso9660_convert_string): New function.
45431 (grub_iso9660_mount): Detect joliet extension.
45432 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45433 (grub_iso9660_iso9660_label): Likewise.
45434
45435 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45436 (grub_setup_SOURCES): Add fs/udf.c.
45437 (grub_fstest_SOURCES): Likewise.
45438 (udf_mod_SOURCES): New variable.
45439 (udf_mod_CFLAGS): Likewise.
45440 (udf_mod_LDFLAGS): Likewise.
45441
45442 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45443 (grub_emu_SOURCES): Likewise.
45444
45445 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45446
45447 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45448
45449 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45450
45451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45452
45453 * fs/udf.c: New file.
45454
45455 2008-02-24 Robert Millan <rmh@aybabtu.com>
45456
45457 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45458 (normal/lexer.c_DEPENDENCIES): New variables.
45459 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45460 (normal/lexer.c_DEPENDENCIES): Likewise.
45461 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45462 (normal/lexer.c_DEPENDENCIES): Likewise.
45463 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45464 (normal/lexer.c_DEPENDENCIES): Likewise.
45465 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45466 (normal/lexer.c_DEPENDENCIES): Likewise.
45467 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45468 (normal/lexer.c_DEPENDENCIES): Likewise.
45469
45470 2008-02-23 Robert Millan <rmh@aybabtu.com>
45471
45472 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45473 since they were intended to be in hex. This didn't break previously
45474 because of a bug in gpt_partition_map_iterate() (see below).
45475
45476 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45477 when checking the validity of GPT header.
45478 Remove `partno', since it always provides the same information as `i'.
45479
45480 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45481
45482 * include/grub/efi/time.h: Fix a wrong comment.
45483
45484 2008-02-19 Pavel Roskin <proski@gnu.org>
45485
45486 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45487 message.
45488
45489 2008-02-19 Bean <bean123ch@gmail.com>
45490
45491 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45492 (aout_mod_SOURCES): New variable.
45493 (aout_mod_CFLAGS): Likewise.
45494 (aout_mod_LDFLAGS): Likewise.
45495 (_bsd_mod_SOURCES): New variable.
45496 (_bsd_mod_CFLAGS): Likewise.
45497 (_bsd_mod_LDFLAGS): Likewise.
45498 (bsd_mod_SOURCES): New variable.
45499 (bsd_mod_CFLAGS): Likewise.
45500 (bsd_mod_LDFLAGS): Likewise.
45501
45502 * include/grub/aout.h: New file.
45503
45504 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45505
45506 * include/grub/i386/bsd.h: New file.
45507
45508 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45509 to make it public.
45510
45511 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45512 function is called, so that it's possible to change it inside the hook.
45513 (grub_elf64_load): Likewise.
45514 (grub_elf_file): Don't close the file if elf header is not found.
45515 (grub_elf_close): Close the file if grub_elf_file fails (The new
45516 grub_elf_file won't close it).
45517 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45518 (grub_elf64_size): Likewise.
45519
45520 * kern/i386/loader.S (grub_unix_real_boot): New function.
45521
45522 * loader/aout.c: New file.
45523
45524 * loader/i386/bsd.c: New file.
45525
45526 * loader/i386/bsd_normal.c: New file.
45527
45528 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45529
45530 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
45531 can test other formats.
45532
45533 2008-02-19 Robert Millan <rmh@aybabtu.com>
45534
45535 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45536 (grub_gpt_partition_type_empty): Redefine with macro from
45537 `<grub/gpt_partition.h>'.
45538 (gpt_partition_map_iterate): Adjust partition type comparison.
45539
45540 Export `entry' as partmap-specific `part.data' struct.
45541 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45542
45543 * include/grub/gpt_partition.h (grub_gpt_header)
45544 (grub_gpt_partentry): ... to here (new file).
45545
45546 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45547
45548 (grub_gpt_partition_type_bios_boot): New const variable, defined
45549 with macro from `<grub/gpt_partition.h>'.
45550
45551 (setup): Replace `first_start' with `embed_region', which keeps
45552 track of the embed region (and is partmap-agnostic).
45553
45554 Replace find_first_partition_start() with find_usable_region(),
45555 which finds a usable region for embedding using partmap-specific
45556 knowledge (supports PC/MSDOS and GPT).
45557
45558 Fix all assumptions that the embed region start at sector 1, using
45559 `embed_region.start' from now on. Similarly, use `embed_region.end'
45560 rather than `first_start' to calculate available size.
45561
45562 In grub_util_info() message, replace "into after the MBR" with an
45563 indication of the specific sector our embed region starts at.
45564
45565 2008-02-19 Robert Millan <rmh@aybabtu.com>
45566
45567 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45568 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45569 `commands/reboot.c'.
45570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45571 (halt_mod_SOURCES): Likewise.
45572 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45573 (halt_mod_SOURCES): Likewise.
45574
45575 2008-02-17 Christian Franke <franke@computer.org>
45576
45577 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45578
45579 2008-02-17 Robert Millan <rmh@aybabtu.com>
45580
45581 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45582 set `first_start' to 0 for non-PC/MSDOS partition maps.
45583
45584 2008-02-16 Robert Millan <rmh@aybabtu.com>
45585
45586 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45587 do not assume partition map is PC/MSDOS before performing checks that
45588 are specific to that layout.
45589
45590 2008-02-13 Robert Millan <rmh@aybabtu.com>
45591
45592 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45593 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45594 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45595
45596 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45597
45598 * configure.ac: Only a cosmetic change on the handling of
45599 -fno-stack-protector.
45600
45601 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
45602
45603 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45604 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45605 reboot.c.
45606 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45607 (halt_mod_SOURCES): New variable.
45608 (halt_mod_CFLAGS): Likewise.
45609 (halt_mod_LDFLAGS): Likewise.
45610 (reboot_mod_SOURCES): Likewise.
45611 (reboot_mod_CFLAGS): Likewise.
45612 (reboot_mod_LDFLAGS): Likewise.
45613
45614 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45615 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45616 reboot.c.
45617 (halt_mod_SOURCES): Likewise.
45618 (reboot_mod_SOURCES): Likewise.
45619
45620 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45621 commands/i386/pc/reboot.c by commands/reboot.c.
45622 (reboot_mod_SOURCES): Likewise.
45623
45624 * commands/i386/pc/reboot.c: merge this file ...
45625
45626 * commands/ieee1275/reboot.c: ... and this file ...
45627
45628 * commands/reboot.c: ... to this file.
45629 Add some precompiler directive to include the correct header for
45630 each machine.
45631
45632 * commands/ieee1275/halt.c: move this file ...
45633
45634 * commands/halt.c: ... to here.
45635 Add some precompiler directive to include the correct header for
45636 each machine.
45637
45638 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45639 (grub_halt): Likewise.
45640
45641 * kern/efi/efi.c (grub_reboot): New function.
45642 (grub_halt): Likewise.
45643
45644 2008-02-12 Robert Millan <rmh@aybabtu.com>
45645
45646 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45647 /dev (like it is done for /dev/mapper). This doesn't provide support
45648 for EVMS, but at least it is now easy to identify the problem when it
45649 arises.
45650
45651 2008-02-11 Robert Millan <rmh@aybabtu.com>
45652
45653 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45654 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45655 comparing it with -1, not 0.
45656
45657 2008-02-10 Robert Millan <rmh@aybabtu.com>
45658
45659 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45660 `disk/lvm.c'.
45661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45662 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45663
45664 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45665 `disk/lvm.c' to the end of the list.
45666 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45667 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45668
45669 2008-02-10 Robert Millan <rmh@aybabtu.com>
45670
45671 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45672 grub_print_error() instead. This will let user know why we're entering
45673 rescue mode.
45674 Based on suggestions from Sam Morris.
45675
45676 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
45677
45678 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45679 on remaining N args, instead of "--" arg N times.
45680
45681 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45682
45683 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45684 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45685 pattern for unknown glyphs.
45686
45687 2008-02-09 Robert Millan <rmh@aybabtu.com>
45688
45689 * configure.ac: Probe for `help2man'.
45690 * Makefile.in (builddir): New variable.
45691 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45692 or otherwise add a few flags/options to it.
45693 (install-local): For every executable utility or script that is
45694 installed, invoke $(HELP2MAN) to install a manpage based on --help
45695 output.
45696
45697 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45698 that it doesn't prevent --help from working in build tree.
45699
45700 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45701 with `bug-grub@gnu.org'.
45702 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45703 * util/update-grub.in (usage): New function.
45704 Implement proper argument check, with support for --help and --version
45705 (as well as existing -y).
45706
45707 2008-02-09 Christian Franke <franke@computer.org>
45708
45709 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45710 avoid overwriting previous output.
45711 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45712
45713 2008-02-09 Robert Millan <rmh@aybabtu.com>
45714
45715 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45716 drawing the menu.
45717
45718 2008-02-09 Robert Millan <rmh@aybabtu.com>
45719
45720 * commands/sleep.c: New file.
45721 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45722 (sleep_mod_SOURCES): New variable.
45723 (sleep_mod_CFLAGS): Likewise.
45724 (sleep_mod_LDFLAGS): Likewise.
45725
45726 2008-02-09 Robert Millan <rmh@aybabtu.com>
45727
45728 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45729 situations in which we can deduce the RAID size and the superblock
45730 doesn't match it.
45731
45732 2008-02-09 Robert Millan <rmh@aybabtu.com>
45733
45734 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45735 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45736 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45737
45738 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45739 and return a grub_diskmemberlist_t composed of physical array members.
45740 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45741
45742 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45743 prototype.
45744 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45745 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45746 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45747
45748 * util/grub-probe.c (probe): Move partmap probing code from here ...
45749 (probe_partmap): ... to here.
45750 (probe): Use probe_partmap() once for the disk we're probing, and
45751 additionally, when such disk contains a memberlist() struct member,
45752 once for each disk that is contained in the structure returned by
45753 memberlist().
45754
45755 2008-02-09 Robert Millan <rmh@aybabtu.com>
45756
45757 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45758 environment variable to 'all' in order to obtain debug output from
45759 non-util/ code.
45760 * util/i386/pc/grub-setup.c (main): Likewise.
45761
45762 2008-02-08 Robert Millan <rmh@aybabtu.com>
45763
45764 * disk/raid.c (grub_raid_scan_device): Check for
45765 `array->device[sb.this_disk.number]' rather than for
45766 `array->device[sb.this_disk.number]->name', since the latter is not
45767 guaranteed to be accessible.
45768
45769 2008-02-08 Robert Millan <rmh@aybabtu.com>
45770
45771 * disk/raid.c: Update copyright.
45772 * fs/cpio.c: Likewise.
45773 * include/grub/raid.h: Likewise.
45774 * loader/i386/pc/multiboot.c: Likewise.
45775 * util/hostfs.c: Likewise.
45776
45777 2008-02-08 Robert Millan <rmh@aybabtu.com>
45778
45779 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45780 to a grub_disk_t array.
45781 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45782 `device[x]'.
45783 (grub_raid_scan_device): Replace `device[x].name' accesses with
45784 `device[x]->name'. Simplify initialization of `array->device[x]'.
45785
45786 2008-02-08 Robert Millan <rmh@aybabtu.com>
45787
45788 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45789 grub_dprintf() calls.
45790 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45791 error message.
45792
45793 2008-02-07 Christian Franke <franke@computer.org>
45794
45795 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45796 instead of fseek and ftell to support large files.
45797 (grub_hostfs_read): Likewise.
45798
45799 2008-02-07 Robert Millan <rmh@aybabtu.com>
45800
45801 Patch from Jeroen Dekkers.
45802 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
45803 failure, since successfully reading all array members might not be
45804 required.
45805
45806 2008-02-06 Robert Millan <rmh@aybabtu.com>
45807
45808 * util/grub-probe.c (probe): Simplify partmap probing (with the
45809 assumption that the first word up to the underscore equals to
45810 the module name).
45811
45812 2008-02-06 Christian Franke <franke@computer.org>
45813
45814 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45815 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45816 last block of a cpio or tar stream.
45817 Check for "TRAILER!!!" instead of any empty data
45818 block to detect last block of a cpio stream.
45819 (grub_cpio_dir): Fix constness of variable np.
45820 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45821 cpio or tar trailer is detected. This fixes a crash
45822 on open of a non existing file.
45823
45824 2008-02-05 Bean <bean123ch@gmail.com>
45825
45826 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45827 address of entry.
45828 (grub_multiboot_load_elf64): Likewise.
45829 (grub_multiboot): Initialize mbi structure.
45830
45831 * util/grub-fstest.c: Don't include unused header file script.h.
45832
45833 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
45834 of file.
45835 (grub_fstest_SOURCES): Likewise.
45836
45837 2008-02-05 Robert Millan <rmh@aybabtu.com>
45838
45839 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45840 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45841 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45842 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45843
45844 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45845 (translation_table): Replace hardcoded values with macros
45846 provided by `<grub/term.h>'.
45847
45848 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45849 (keyboard_map): Correct/add a few values, with macros provided
45850 by `<grub/term.h>'.
45851 (keyboard_map_shift): Zero values that don't differ from their
45852 `keyboard_map' equivalents.
45853 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45854 Discard the second scan code that is always sent by Caps lock.
45855 Only use `keyboard_map_shift' when it provides a non-zero value,
45856 otherwise fallback to `keyboard_map'.
45857
45858 2008-02-04 Bean <bean123ch@gmail.com>
45859
45860 * Makefile.in (enable_grub_fstest): New variable.
45861
45862 * conf/common.rmk (grub_fstest_init.lst): New rule.
45863 (grub_fstest_init.h): Likewise.
45864 (grub_fstest_init.c): Likewise.
45865 (util/grub-fstest.c_DEPENDENCIES): New variable.
45866 (grub_fstest_SOURCES): Likewise.
45867
45868 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45869
45870 * util/grub-fstest.c: New file.
45871
45872 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45873
45874 Make grub-setup handle a separate root device.
45875
45876 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45877 so that the root device can be compared with the destination
45878 device.
45879 When embedding the core image, if the root and destination devices
45880 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45881 0xFF.
45882 When not embedding, set ROOT_DRIVE to 0xFF.
45883
45884 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45885
45886 Add support for having a grub directory in a different drive. This
45887 is still only the data handling part.
45888
45889 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45890 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45891 (grub_root_drive): New variable.
45892
45893 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45894 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45895 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45896 as it was.
45897
45898 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45899
45900 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45901 macro.
45902 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45903
45904 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45905 is bogus, because PXE booting does not specify any drive
45906 correctly.
45907
45908 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45909 am not sure if this is really correct.
45910
45911 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45912 is always identical to the boot drive when booting from a CD.
45913
45914 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45915 longer.
45916 (root_drive): New variable.
45917 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45918 (setup_sectors): Push %dx right after popping it, because %dh will
45919 be modified later.
45920 (copy_buffer): Restore %dx.
45921
45922 2008-02-03 Robert Millan <rmh@aybabtu.com>
45923
45924 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45925 use `cdboot.img' for cdrom images.
45926
45927 2008-02-03 Robert Millan <rmh@aybabtu.com>
45928
45929 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45930 only setup gfxterm when `font' command has succeeded.
45931
45932 2008-02-03 Robert Millan <rmh@aybabtu.com>
45933
45934 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45935 (grub_rescue_cmd_multiboot_loader)
45936 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45937
45938 2008-02-03 Pavel Roskin <proski@gnu.org>
45939
45940 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
45941 %edx and %esi from stack only after grub_gate_a20() is called.
45942 grub_gate_a20() clobbers %edx.
45943
45944 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45945
45946 * configure.ac (AC_INIT): Bumped to 1.96.
45947
45948 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45949 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45950 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45951 video/readers/png.c.
45952
45953 2008-02-03 Bean <bean123ch@gmail.com>
45954
45955 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45956 (cdboot_img_SOURCES): New variable.
45957 (cdboot_img_ASFLAGS): New variable.
45958 (cdboot_img_LDFLAGS): New variable.
45959
45960 * boot/i386/pc/cdboot.S: New file.
45961
45962 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45963 (cd_count): Likewise.
45964 (grub_biosdisk_get_drive): Add support for cd device.
45965 (grub_biosdisk_call_hook): Likewise.
45966 (grub_biosdisk_iterate): Likewise.
45967 (grub_biosdisk_open): Likewise.
45968 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45969 (grub_biosdisk_rw): Support reading from cd device.
45970 (GRUB_MOD_INIT): Iterate cd devices.
45971
45972 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45973 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45974 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45975
45976 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45977
45978 2008-02-02 Robert Millan <rmh@aybabtu.com>
45979
45980 * commands/read.c: New file.
45981 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45982 (read_mod_SOURCES): New variable.
45983 (read_mod_CFLAGS): Likewise.
45984 (read_mod_LDFLAGS): Likewise.
45985
45986 2008-02-02 Robert Millan <rmh@aybabtu.com>
45987
45988 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45989 determining whether menu has to be displayed.
45990
45991 2008-02-02 Marco Gerards <marco@gnu.org>
45992
45993 * bus/pci.c: New file.
45994
45995 * include/grub/pci.h: Likewise.
45996
45997 * include/grub/i386/pc/pci.h: Likewise.
45998
45999 * commands/lspci.c: Likewise.
46000
46001 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
46002 `lspci.mod'.
46003 (pci_mod_SOURCES): New variable.
46004 (pci_mod_CFLAGS): Likewise.
46005 (pci_mod_LDFLAGS): Likewise.
46006 (lspci_mod_SOURCES): Likewise.
46007 (lspci_mod_CFLAGS): Likewise.
46008 (lspci_mod_LDFLAGS): Likewise.
46009
46010 2008-02-02 Bean <bean123ch@gmail.com>
46011
46012 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
46013 (grub_ufs_get_file_block): Fix indirect block calculation problem.
46014
46015 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
46016 (grub_xfs_btree_node): New structure.
46017 (grub_xfs_btree_root): New structure.
46018 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
46019 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
46020 (GRUB_XFS_EXTENT_BLOCK): Likewise.
46021 (GRUB_XFS_EXTENT_SIZE): Likewise.
46022 (grub_xfs_read_block): Support btree format type.
46023 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
46024 Use directory block as basic unit.
46025
46026 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
46027
46028 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
46029 __attribute__ ((__regparm__ (1))).
46030
46031 2008-02-01 Robert Millan <rmh@aybabtu.com>
46032
46033 Correct a mistake in previous commit.
46034
46035 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
46036 top.
46037 (normal/command.c_DEPENDENCIES): New variable.
46038
46039 2008-02-01 Robert Millan <rmh@aybabtu.com>
46040
46041 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
46042 top.
46043 (normal/command.c_DEPENDENCIES): New variable.
46044 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
46045 * conf/i386-ieee1275.rmk: Likewise.
46046 * conf/i386-linuxbios.rmk: Likewise.
46047 * conf/i386-pc.rmk: Likewise.
46048 * conf/sparc64-ieee1275.rmk: Likewise.
46049 * conf/powerpc-ieee1275.rmk: Likewise.
46050 (grub_emu_SOURCES): Add `fs/fshelp.c'.
46051
46052 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
46053
46054 2008-02-01 Robert Millan <rmh@aybabtu.com>
46055
46056 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
46057 call at beginning of function.
46058
46059 2008-01-31 Pavel Roskin <proski@gnu.org>
46060
46061 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
46062 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
46063 (grub_mkrescue_SOURCES): Likewise.
46064 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
46065
46066 2008-01-30 Robert Millan <rmh@aybabtu.com>
46067
46068 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
46069 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
46070 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
46071 (grub_probe_SOURCES): ... to here.
46072
46073 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
46074 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
46075 * conf/i386-ieee1275.rmk: Likewise.
46076 * conf/i386-linuxbios.rmk: Likewise.
46077 * conf/powerpc-ieee1275.rmk: Likewise.
46078
46079 2008-01-30 Tristan Gingold <gingold@free.fr>
46080
46081 * kern/rescue.c: Silently accept empty lines.
46082
46083 2008-01-29 Bean <bean123ch@gmail.com>
46084
46085 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
46086 (real_code_2): Code cleanup and change comment style.
46087 (move_memory): Avoid using 32-bit address mode.
46088
46089 2008-01-29 Bean <bean123ch@gmail.com>
46090
46091 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
46092 (png_mod_SOURCES): New variable.
46093 (png_mod_CFLAGS): Likewise.
46094 (png_mod_LDFLAGS): Likewise.
46095
46096 * video/readers/png.c: New file.
46097
46098 2008-01-28 Robert Millan <rmh@aybabtu.com>
46099
46100 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
46101 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
46102 `ifndef GRUB_MOD_GAP' hack.
46103 * util/elf/grub-mkimage.c (add_segments): Likewise.
46104
46105 2008-01-27 Robert Millan <rmh@aybabtu.com>
46106
46107 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46108 `GRUB_MOD_GAP' for platforms in which it's not defined.
46109 * util/elf/grub-mkimage.c (add_segments): Likewise.
46110
46111 2008-01-27 Robert Millan <rmh@aybabtu.com>
46112
46113 Get grub-emu to build again (including parallel builds).
46114
46115 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46116 Split into ...
46117 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46118 (normal/execute.c_DEPENDENCIES): ... this, ...
46119 (grub-emu_DEPENDENCIES): ... and this.
46120
46121 * conf/i386-efi.rmk: Likewise.
46122 * conf/i386-linuxbios.rmk: Likewise.
46123 * conf/i386-ieee1275.rmk: Likewise.
46124 * conf/powerpc-ieee1275.rmk: Likewise.
46125 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46126
46127 2008-01-27 Robert Millan <rmh@aybabtu.com>
46128
46129 * NEWS: Add a few items.
46130
46131 2008-01-27 Robert Millan <rmh@aybabtu.com>
46132
46133 Fix parallel builds with grub-emu. Based on earlier commit for
46134 grub-probe and grub-setup.
46135
46136 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46137 (util/grub-emu.c_DEPENDENCIES): ... this.
46138 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46139 (util/grub-emu.c_DEPENDENCIES): ... this.
46140 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46141 (util/grub-emu.c_DEPENDENCIES): ... this.
46142 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46143 (util/grub-emu.c_DEPENDENCIES): ... this.
46144 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46145 (util/grub-emu.c_DEPENDENCIES): ... this.
46146
46147 2008-01-27 Pavel Roskin <proski@gnu.org>
46148
46149 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46150 to create a gap between _end and the modules added to the image
46151 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46152 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46153 * util/elf/grub-mkimage.c (add_segments): Likewise.
46154
46155 2008-01-26 Pavel Roskin <proski@gnu.org>
46156
46157 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46158 just return an error.
46159
46160 2008-01-26 Bean <bean123ch@gmail.com>
46161
46162 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46163 (grub_reiserfs_get_item): Save offset of the next item.
46164 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46165
46166 2008-01-25 Robert Millan <rmh@aybabtu.com>
46167
46168 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46169 make all filesystem sources appear together (possibly fixing omissions
46170 while at it).
46171 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46172 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46173 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46175
46176 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46177 add `kern/file.c'.
46178 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46179 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46180 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46181 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46182
46183 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46184 (probe): Add a sanity check to make sure of our ability to read
46185 requested files when probing for filesystem type.
46186
46187 * genmk.rb: Update copyright year (2007).
46188
46189 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46190 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46191 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46192 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46193 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46194 : Remove function prototypes.
46195
46196 2008-01-25 Robert Millan <rmh@aybabtu.com>
46197
46198 Revert my previous commits (based on wrong assumption of how grub_errno
46199 works).
46200
46201 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
46202 * kern/file.c (grub_file_open): Likewise.
46203
46204 2008-01-24 Pavel Roskin <proski@gnu.org>
46205
46206 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46207 that hang if GRUB tries to setup colors.
46208 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46209 colors for firmwares that don't support it.
46210 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46211 Recognize Open Hack'Ware, set flags to work around its
46212 limitations.
46213
46214 2008-01-24 Robert Millan <rmh@aybabtu.com>
46215
46216 * kern/file.c (grub_file_open): Do not account previous failures of
46217 unrelated functions when grub_errno is checked for.
46218 Reported by Oleg Strikov.
46219
46220 2008-01-24 Bean <bean123ch@gmail.com>
46221
46222 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46223 (grub_ufs_sblock): New member volume name.
46224 (grub_ufs_find_file): Fix string copy bug.
46225 (grub_ufs_label): Implement this function properly.
46226
46227 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46228 (grub_hfs_iterate_records): Use the correct file number for extents
46229 and catalog file. Fix problem in next index calculation.
46230 (grub_hfs_find_node): Replace recursive function call with loop.
46231 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46232
46233 2008-01-23 Robert Millan <rmh@aybabtu.com>
46234
46235 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46236 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46237 (grub_multiboot2_real_boot): New function prototype.
46238
46239 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46240 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46241
46242 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46243 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46244
46245 2008-01-23 Robert Millan <rmh@aybabtu.com>
46246
46247 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46248 #ifdef'ed out grub_printf().
46249
46250 2008-01-23 Robert Millan <rmh@aybabtu.com>
46251
46252 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46253 grub_dprintf calls, since they make "debug=all" mode unusable.
46254 (grub_console_checkkey): Likewise.
46255
46256 2008-01-23 Robert Millan <rmh@aybabtu.com>
46257
46258 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46259 `term/i386/pc/at_keyboard.c'.
46260 (pkglib_MODULES): Add `serial.mod'.
46261 (serial_mod_SOURCES): New variable.
46262 (serial_mod_CFLAGS): Likewise.
46263 (serial_mod_LDFLAGS): Likewise.
46264
46265 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46266 `<grub/powerpc/ieee1275/console.h>'.
46267 (grub_keyboard_controller_init): New function prototype.
46268 (grub_console_checkkey): Likewise.
46269 (grub_console_getkey): Likewise.
46270
46271 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46272 keyboard on i386.
46273
46274 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46275 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46276
46277 2008-01-23 Robert Millan <rmh@aybabtu.com>
46278
46279 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46280 present, "(memdisk)/boot/grub" becomes the default prefix.
46281
46282 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46283 a memdisk tarball with all the modules. Add --overlay=DIR option that
46284 allows users to overlay additional files into the image.
46285
46286 2008-01-23 Robert Millan <rmh@aybabtu.com>
46287
46288 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46289 and `machine/memory.h'.
46290 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46291 (_multiboot_mod_SOURCES): New variable.
46292 (_multiboot_mod_CFLAGS): Likewise.
46293 (_multiboot_mod_LDFLAGS): Likewise.
46294 (multiboot_mod_SOURCES): Likewise.
46295 (multiboot_mod_CFLAGS): Likewise.
46296 (multiboot_mod_LDFLAGS): Likewise.
46297
46298 * include/grub/i386/ieee1275/loader.h: New file.
46299
46300 * include/grub/i386/ieee1275/machine.h: Likewise.
46301
46302 * include/grub/i386/ieee1275/memory.h: Likewise.
46303
46304 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46305 variable declaration.
46306 (grub_os_area_size): Likewise.
46307
46308 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46309 (grub_lower_mem, grub_upper_mem): New variables.
46310 (grub_stop_floppy): New function (just to make
46311 grub_multiboot2_real_boot() happy).
46312
46313 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46314 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46315 (grub_stop): New function.
46316 Include `"../realmode.S"' and `"../loader.S"'.
46317
46318 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46319 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46320
46321 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46322 rely on grub_multiboot2_real_boot() for final boot.
46323
46324 2008-01-22 Robert Millan <rmh@aybabtu.com>
46325
46326 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46327 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46328 device that doesn't look like an SD card.
46329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46330 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46331 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46332 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46333 found.
46334
46335 2008-01-22 Robert Millan <rmh@aybabtu.com>
46336
46337 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46338 avoid claiming over our own code.
46339
46340 2008-01-22 Bean <bean123ch@gmail.com>
46341
46342 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46343 (jpeg_mod_SOURCES): New variable.
46344 (jpeg_mod_CFLAGS): Likewise.
46345 (jpeg_mod_LDFLAGS): Likewise.
46346
46347 * video/readers/jpeg.c : New file.
46348
46349 2008-01-22 Bean <bean123ch@gmail.com>
46350
46351 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46352 there are no more items.
46353
46354 2008-01-21 Robert Millan <rmh@aybabtu.com>
46355
46356 * kern/mm.c (grub_mm_init_region): Improve debug message.
46357
46358 2008-01-21 Robert Millan <rmh@aybabtu.com>
46359
46360 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46361 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46362 address.
46363 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46364 a C macro.
46365 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46366 Indicates start of upper memory.
46367 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46368 (generate_image): Abort when image size is big enough to corrupt
46369 upper memory.
46370
46371 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46372 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46373 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46374 instead of hardcoding 0xA0000.
46375 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46376 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46377 instead of hardcoding 0xA0000.
46378
46379 2008-01-21 Robert Millan <rmh@aybabtu.com>
46380
46381 * disk/memdisk.c (memdisk_size): New variable.
46382 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46383 `memdisk_size'.
46384 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46385 image to dynamic memory.
46386 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46387 `memdisk_size'. Free memdisk block.
46388
46389 2008-01-21 Robert Millan <rmh@aybabtu.com>
46390
46391 Fix detection of very small filesystems (like tar).
46392
46393 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46394 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46395 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46396 a problem with this disk).
46397
46398 2008-01-21 Robert Millan <rmh@aybabtu.com>
46399
46400 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46401 on grub_biosdisk_rw_standard() error.
46402
46403 2008-01-21 Robert Millan <rmh@aybabtu.com>
46404
46405 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46406 recent changes.
46407 * kern/elf.c: Likewise.
46408 * kern/ieee1275/ieee1275.c: Likewise.
46409 * kern/powerpc/ieee1275/openfw.c: Likewise.
46410 * term/ieee1275/ofconsole.c: Likewise.
46411
46412 2008-01-21 Robert Millan <rmh@aybabtu.com>
46413
46414 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46415
46416 * include/grub/kernel.h (grub_arch_memdisk_addr)
46417 (grub_arch_memdisk_size): Moved from here ...
46418
46419 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46420 (grub_arch_memdisk_size): ... to here.
46421
46422 2008-01-21 Robert Millan <rmh@aybabtu.com>
46423
46424 Mostly based on bugfix from Bean.
46425
46426 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46427 attribute with hook() parameter.
46428 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46429 declaration.
46430 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46431 attribute with hook() parameter.
46432 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46433 declaration.
46434
46435 2008-01-21 Robert Millan <rmh@aybabtu.com>
46436
46437 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46438 (pkglib_MODULES): Add `memdisk.mod'.
46439 (memdisk_mod_SOURCES): New variable.
46440 (memdisk_mod_CFLAGS): Likewise.
46441 (memdisk_mod_LDFLAGS): Likewise.
46442
46443 * disk/memdisk.c: New file.
46444
46445 * include/grub/disk.h (grub_disk_dev_id): Add
46446 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46447
46448 * include/grub/i386/pc/kernel.h
46449 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46450 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46451 (grub_kernel_image_size): New variable declaration.
46452 (grub_total_module_size): Likewise.
46453 (grub_memdisk_image_size): Likewise.
46454
46455 * include/grub/i386/pc/memory.h
46456 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46457
46458 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46459 (grub_arch_memdisk_addr): New variable declaration.
46460 (grub_arch_memdisk_size): Likewise.
46461
46462 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46463 (grub_arch_memdisk_size): Likewise.
46464
46465 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46466 (codestart): Replace hardcoded `0x100000' with
46467 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46468
46469 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46470 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46471 not NULL, append the contents of the file it refers to, at the end of
46472 the compressed kernel image. Initialize `grub_memdisk_image_size'
46473 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46474 (options): Add "memdisk"|'m' option.
46475 (main): Parse --memdisk|-m option, and pass user-provided path as
46476 parameter to generate_image().
46477
46478 2008-01-20 Robert Millan <rmh@aybabtu.com>
46479
46480 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46481 grub_dprintf() calls from here ...
46482 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46483
46484 2008-01-20 Robert Millan <rmh@aybabtu.com>
46485
46486 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46487
46488 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46489 declaration.
46490 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46491 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46492 `GRUB_IEEE1275_FLAG_REAL_MODE'.
46493 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
46494 property).
46495 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46496 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46497
46498 2008-01-19 Robert Millan <rmh@aybabtu.com>
46499
46500 Get rid of confusing function (superseded by
46501 `grub_ieee1275_get_integer_property')
46502 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46503 prototype.
46504 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46505 function.
46506 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46507 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
46508 in native endianness from grub_ieee1275_get_integer_property().
46509
46510 2008-01-19 Robert Millan <rmh@aybabtu.com>
46511
46512 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46513 command after "shut-down", since implementations differ on which
46514 the command for halt is.
46515
46516 2008-01-19 Robert Millan <rmh@aybabtu.com>
46517
46518 * include/grub/i386/linuxbios/console.h: Add header protection.
46519 (grub_keyboard_controller_init): New function prototype.
46520 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46521 (KEYBOARD_COMMAND_READ): Likewise.
46522 (KEYBOARD_COMMAND_WRITE): Likewise.
46523 (KEYBOARD_SCANCODE_SET1): Likewise.
46524 (grub_keyboard_controller_write): New function.
46525 (grub_keyboard_controller_read): Likewise.
46526 (grub_keyboard_controller_init): Likewise.
46527
46528 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46529 (grub_console_init): On coreboot/LinuxBIOS, call
46530 grub_keyboard_controller_init().
46531
46532 2008-01-19 Robert Millan <rmh@aybabtu.com>
46533
46534 PowerPC changes provided by Pavel Roskin.
46535
46536 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46537 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46538 don't rely on cmain() doing it.
46539 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46540 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46541
46542 2008-01-16 Robert Millan <rmh@aybabtu.com>
46543
46544 * include/grub/i386/linuxbios/memory.h
46545 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46546 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46547 receive `table_header' as argument. Instead, probe for it in the
46548 known memory ranges where it can be present.
46549 (grub_available_iterate): Do not pass a fixed `table_header' address
46550 to grub_linuxbios_table_iterate().
46551
46552 2008-01-15 Robert Millan <rmh@aybabtu.com>
46553
46554 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46555 * conf/i386-ieee1275.rmk: New file.
46556 * include/grub/i386/ieee1275/console.h: Likewise.
46557 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46558 * include/grub/i386/ieee1275/kernel.h: Likewise.
46559 * include/grub/i386/ieee1275/time.h: Likewise.
46560 * kern/i386/ieee1275/init.c: Likewise.
46561 * kern/i386/ieee1275/startup.S: Likewise.
46562
46563 2008-01-15 Robert Millan <rmh@aybabtu.com>
46564
46565 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46566 when pointers are 32-bit (but still do set it to one when they are
46567 64-bit).
46568
46569 2008-01-15 Robert Millan <rmh@aybabtu.com>
46570
46571 * include/grub/ieee1275/ieee1275.h
46572 (grub_ieee1275_get_integer_property): New function prototype.
46573
46574 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46575 (grub_ieee1275_get_integer_property): New function. Wraps around
46576 grub_ieee1275_get_property() to handle endianness.
46577
46578 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46579 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
46580 where appropriate.
46581 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46582 (grub_map): Likewise.
46583 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46584
46585 2008-01-15 Bean <bean123ch@gmail.com>
46586
46587 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46588 (grub_script_execute_cmdline): Reset grub_errno.
46589
46590 * normal/main.c (read_config_file): Reset grub_errno.
46591
46592 * normal/parse.y (script_init): New.
46593 (script): Move function and menuentry here.
46594 (delimiter): New.
46595 (command): Add delimiter at the end of command.
46596 (commands): Adjust to match the new command.
46597 (commandblock): Remove grub_script_lexer_record_start.
46598 (menuentry): Add grub_script_lexer_record_start, use the new commands.
46599 (if): Use the new commands.
46600
46601 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46602
46603 2008-01-15 Robert Millan <rmh@aybabtu.com>
46604
46605 * normal/menu.c (run_menu): Move timeout message from here ...
46606 (print_timeout): ... to here.
46607 (run_menu): Use print_timeout() once during initial draw to print
46608 the whole message, and again in every clock tick to update only
46609 the number of seconds.
46610
46611 2008-01-15 Robert Millan <rmh@aybabtu.com>
46612
46613 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46614 actual size of `available' from grub_ieee1275_get_property(), and
46615 restrict parsing to that bound.
46616
46617 2008-01-15 Christian Franke <franke@computer.org>
46618
46619 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46620 (argp_program_version): Remove variable.
46621 (argp_program_bug_address): Likewise.
46622 (options): Convert from struct argp_option to struct option.
46623 (struct arguments): Remove.
46624 (parse_opt): Remove.
46625 (usage): New function.
46626 (main): Replace struct args members by simple variables.
46627 Replace argp_parse() by getopt_long().
46628 Add switch to evaluate options.
46629 Add missing "(...)" around root_dev in prefix string.
46630
46631 2008-01-14 Robert Millan <rmh@aybabtu.com>
46632
46633 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46634 for grub_ieee1275_exit(), in order to improve portability.
46635
46636 2008-01-14 Robert Millan <rmh@aybabtu.com>
46637
46638 * util/grub.d/10_linux.in (prefix): Define.
46639 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46640
46641 2008-01-13 Pavel Roskin <proski@gnu.org>
46642
46643 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46644 grub_errno if no errors have been detected.
46645
46646 2008-01-12 Robert Millan <rmh@aybabtu.com>
46647
46648 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46649 (grub_util_get_dev_abstraction): New function prototype.
46650
46651 * util/getroot.c: Include `<grub/util/getroot.h>'
46652 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46653 (grub_util_get_dev_abstraction): ... here (new function).
46654
46655 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46656 `PRINT_ABSTRACTION'.
46657 (probe): Probe for abstraction type when requested.
46658 (main): Understand `--target=abstraction'.
46659
46660 * util/i386/efi/grub-install.in: Add abstraction module to core
46661 image when it is found to be necessary.
46662 * util/i386/pc/grub-install.in: Likewise.
46663 * util/powerpc/ieee1275/grub-install.in: Likewise.
46664
46665 * util/update-grub_lib.in (font_path): Return system path without
46666 converting to GRUB path.
46667 * util/update-grub.in: Convert system path returned by font_path()
46668 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46669 abstraction module is needed for loading fonts (if any). Export
46670 that as `GRUB_PRELOAD_MODULES'.
46671 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46672 insmod commands).
46673
46674 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46675
46676 Remove some unused code from reiserfs.
46677
46678 * fs/reiserfs.c (struct grub_reiserfs_key)
46679 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46680 (struct grub_reiserfs_node_body): Removed.
46681 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46682 Likewise.
46683 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46684 Likewise.
46685 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46686 Likewise.
46687 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46688 Likewise.
46689 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46690 Likewise.
46691 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46692 Likewise.
46693 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46694 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46695 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46696
46697 2008-01-10 Robert Millan <rmh@aybabtu.com>
46698
46699 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46700 Determines if a file is garbage left by packaging systems, etc.
46701 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46702 for processing /etc/grub.d scripts.
46703 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46704 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46705 as a condition for processing Linux images.
46706
46707 2008-01-10 Pavel Roskin <proski@gnu.org>
46708
46709 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46710 to compile reiserfs.c on PowerPC.
46711
46712 2008-01-10 Robert Millan <rmh@aybabtu.com>
46713
46714 * kern/device.c (grub_device_iterate): Do not abort device iteration
46715 when one of the devices cannot be opened.
46716 * kern/disk.c (grub_disk_open): Do not account previous failures of
46717 unrelated functions when grub_errno is checked for.
46718
46719 2008-01-08 Robert Millan <rmh@aybabtu.com>
46720
46721 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46722 `! grub_linux_is_bzimage', change order of address comparison to make
46723 it more intuitive, and improve "too big zImage" error message.
46724
46725 2008-01-08 Robert Millan <rmh@aybabtu.com>
46726
46727 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46728 `$(update-grub_DATA)'.
46729 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46730 targets.
46731
46732 2008-01-07 Robert Millan <rmh@aybabtu.com>
46733
46734 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46735 which instruction is modified by grub-setup during installation
46736 (since it wasn't obvious by only looking at this file).
46737
46738 2008-01-07 Robert Millan <rmh@aybabtu.com>
46739
46740 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46741 listing actual TODO items.
46742
46743 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46744
46745 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46746 correctly.
46747 (grub_reiserfs_get_key_offset): Likewise.
46748 (grub_reiserfs_set_key_offset): Likewise.
46749 (grub_reiserfs_set_key_type): Likewise.
46750 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
46751
46752 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46753 better to remove the bitfield version completely.
46754
46755 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46756
46757 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46758 allocated from the heap, due to the fshelp implementation.
46759 (grub_reiserfs_dir): Free NODE, due to the same reason.
46760
46761 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46762
46763 Mostly from Vincent Pelletier:
46764
46765 * fs/reiserfs.c: New file.
46766
46767 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46768 (reiserfs_mod_SOURCES): New variable.
46769 (reiserfs_mod_CFLAGS): Likewise.
46770 (reiserfs_mod_LDFLAGS): Likewise.
46771
46772 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46773 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46774 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46775 normal/color.c.
46776
46777 2008-01-06 Robert Millan <rmh@aybabtu.com>
46778
46779 * normal/color.c: Remove `<grub/env.h>'.
46780
46781 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46782
46783 * include/grub/normal.h: Include <grub/env.h>.
46784
46785 2008-01-05 Robert Millan <rmh@aybabtu.com>
46786
46787 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46788 usage example with `(hd0,1)'.
46789 Reported by Samuel Thibault.
46790
46791 2008-01-05 Robert Millan <rmh@aybabtu.com>
46792
46793 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46794 (grub_linux_boot_zimage): Rename to ...
46795 (grub_linux_boot): ... this.
46796 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46797 (grub_linux_boot_zimage): Conditionalize zImage copy.
46798
46799 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46800 (grub_linux_boot_bzimage): Remove prototype.
46801 (grub_linux_boot_zimage): Rename to ...
46802 (grub_linux_boot): ... this.
46803
46804 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46805 (grub_linux_boot): Remove function.
46806
46807 2008-01-05 Robert Millan <rmh@aybabtu.com>
46808
46809 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46810 (grub_env_write_color_highlight): Likewise.
46811 (grub_wait_after_message): Likewise.
46812
46813 * normal/color.c: New file.
46814
46815 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46816 (normal_mod_DEPENDENCIES): Likewise.
46817
46818 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46819 (normal_mod_DEPENDENCIES): Likewise.
46820
46821 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46822 (normal_mod_DEPENDENCIES): Likewise.
46823
46824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46825 (normal_mod_DEPENDENCIES): Likewise.
46826
46827 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46828 for waiting after a message is printed.
46829 * normal/main.c (read_config_file): Likewise.
46830 (grub_normal_init): Register grub_env_write_color_normal() and
46831 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46832 `color_highlight' variables as global.
46833
46834 * normal/menu.c (grub_wait_after_message): New function.
46835 (grub_color_menu_normal): New variable. Replaces ...
46836 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46837 (grub_color_menu_highlight): New variable. Replaces ...
46838 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46839 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46840 `GRUB_TERM_COLOR_STANDARD'.
46841 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46842 `normal_code' and `highlight_code' to `old_color_normal' and
46843 `old_color_highlight', respectively.
46844 (grub_menu_init_page): Update colors when drawing the menu, based on
46845 `menu_color_normal' and `menu_color_highlight' variables.
46846 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46847 a message is printed.
46848
46849 2008-01-05 Robert Millan <rmh@aybabtu.com>
46850
46851 * kern/env.c (grub_env_context_open): Propagate hooks for global
46852 variables to new context.
46853
46854 * kern/main.c (grub_set_root_dev): Export `root' variable.
46855
46856 2008-01-05 Robert Millan <rmh@aybabtu.com>
46857
46858 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
46859 discs unconditionally, since udev and others have options to provide
46860 them.
46861
46862 2008-01-05 Robert Millan <rmh@aybabtu.com>
46863
46864 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46865
46866 2008-01-04 Christian Franke <franke@computer.org>
46867
46868 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46869 of eisa_mmap.
46870
46871 2008-01-03 Pavel Roskin <proski@gnu.org>
46872
46873 * kern/i386/linuxbios/init.c: Put "void" to all function
46874 declarations with no arguments.
46875 * kern/powerpc/ieee1275/init.c: Likewise.
46876 * term/i386/pc/at_keyboard.c: Likewise.
46877 * term/i386/pc/vga_text.c: Likewise.
46878 * util/grub-mkdevicemap.c: Likewise.
46879
46880 2008-01-02 Robert Millan <rmh@aybabtu.com>
46881
46882 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46883 message when loaded image is out of bounds.
46884 (grub_multiboot_load_elf64): Likewise.
46885
46886 2008-01-02 Pavel Roskin <proski@gnu.org>
46887
46888 * util/grub.d/10_linux.in: Try version without ".old" when
46889 looking for initrd. It's better to use initrd from the newer
46890 kernel of the same version than no initrd at all.
46891
46892 2008-01-01 Robert Millan <rmh@aybabtu.com>
46893
46894 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46895
46896 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46897
46898 * include/grub/video.h: Added grub_video_unmap_color and
46899 grub_video_get_active_render_target.
46900 (grub_video_adapter): Added unmap_color and get_active_render_target.
46901
46902 * video/video.c: Added grub_video_unmap_color and
46903 grub_video_get_active_render_target.
46904 (grub_video_get_info): Changed method to accept NULL pointer as an
46905 argument to allow detection of active video adapter.
46906
46907 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46908 grub_video_vbe_unmap_color_int.
46909 Added grub_video_vbe_unmap_color and
46910 grub_video_vbe_get_active_render_target.
46911 (grub_video_vbe_adapter): Added unmap_color and
46912 get_active_render_target.
46913
46914 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
46915 with grub_video_vbe_unmap_color_int.
46916
46917 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46918 (DEFAULT_NORMAL_COLOR): Likewise.
46919 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46920 (DEFAULT_FG_COLOR): Removed.
46921 (DEFAULT_BG_COLOR): Likewise.
46922 (DEFAULT_CURSOR_COLOR): Changed value.
46923 (grub_virtual_screen): Added standard_color_setting,
46924 normal_color_setting, highlight_color_setting and term_color.
46925 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46926 (bitmap_width): Added.
46927 (bitmap_height): Likewise.
46928 (bitmap): Likewise.
46929 (set_term_color): Likewise.
46930 (grub_virtual_screen_setup): Changed to use new terminal coloring
46931 settings.
46932 (grub_gfxterm_init): Added init for bitmap.
46933 (grub_gfxterm_fini): Added destroy for bitmap.
46934 (redraw_screen_rect): Updated to use background bitmap and new
46935 terminal coloring.
46936 (scroll_up): Added optimization for case when there is no bitmap.
46937 (grub_gfxterm_cls): Fixed to use correct background color.
46938 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46939 coloring.
46940 (grub_virtual_screen_setcolor): Likewise.
46941 (grub_virtual_screen_getcolor): Added.
46942 (grub_gfxterm_background_image_cmd): Likewise.
46943 (grub_video_term): Added setcolor and getcolor.
46944 (MOD_INIT): Added registration of background_image command.
46945 (MOD_TERM): Added unregistration for background_image command.
46946
46947 2007-12-30 Pavel Roskin <proski@gnu.org>
46948
46949 * loader/multiboot_loader.c: Fix multiboot command
46950 unregistration. Fix all typos in the word "multiboot".
46951
46952 2007-12-29 Pavel Roskin <proski@gnu.org>
46953
46954 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46955 support for initrd names used in Fedora.
46956
46957 2007-12-26 Bean <bean123ch@gmail.com>
46958
46959 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46960 (cpio_mod_SOURCES): New variable.
46961 (cpio_mod_CFLAGS): Likewise.
46962 (cpio_mod_LDFLAGS): Likewise.
46963
46964 * fs/cpio.c: New file.
46965
46966 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46967
46968 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46969
46970 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46971
46972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46973
46974 2007-12-25 Robert Millan <rmh@aybabtu.com>
46975
46976 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46977 (grub_getcolor): New function.
46978
46979 * kern/term.c (grub_getcolor): New function.
46980 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46981 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46982 (print_entry): Set normal and highlight colors to
46983 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46984 respectively, before printing and restore them to old
46985 values afterwards.
46986 (grub_menu_init_page): Likewise. Fill an additional colored space
46987 that would otherwise be left blank.
46988
46989 * term/efi/console.c (grub_console_getcolor): New function.
46990 (struct grub_console_term.getcolor): New variable.
46991 * term/i386/pc/console.c (grub_console_getcolor): New function.
46992 (struct grub_console_term.getcolor): New variable.
46993 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46994 (struct grub_console_term.getcolor): New variable.
46995
46996 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46997 (struct grub_console_term.setcolor): Remove variable.
46998 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46999 (struct grub_console_term.setcolor): Remove variable.
47000 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
47001 (struct grub_console_term.setcolor): Remove variable.
47002 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
47003 (struct grub_console_term.setcolor): Remove variable.
47004
47005 2007-12-25 Robert Millan <rmh@aybabtu.com>
47006
47007 * configure.ac: Search for possible unifont.hex locations, and
47008 define UNIFONT_HEX if found.
47009
47010 * Makefile.in (UNIFONT_HEX): Define variable.
47011 (DATA): Rename to ...
47012 (PKGLIB): ... this. Update all users.
47013 (PKGDATA): New variable.
47014 (pkgdata_IMAGES): Rename to ...
47015 (pkglib_IMAGES): ... this. Update all users.
47016 (pkgdata_MODULES): Rename to ...
47017 (pkglib_MODULES): ... this. Update all users.
47018 (pkgdata_PROGRAMS): Rename to ...
47019 (pkglib_PROGRAMS): ... this. Update all users.
47020 (pkgdata_DATA): Rename to ...
47021 (pkglib_DATA): ... this. Update all users.
47022 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
47023 (unicode.pff, ascii.pff): New rules.
47024 (all-local): Add `$(PKGDATA)' dependency.
47025 (install-local): Process `$(PKGDATA)'.
47026
47027 * util/update-grub_lib.in (font_path): Search for *.pff files in
47028 a few more locations, including `${pkgdata}'.
47029
47030 2007-12-23 Robert Millan <rmh@aybabtu.com>
47031
47032 Patch from Bean <bean123ch@gmail.com>:
47033 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
47034 `size'.
47035
47036 2007-12-21 Bean <bean123ch@gmail.com>
47037
47038 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
47039 (ntfscomp_mod_SOURCES): New variable.
47040 (ntfscomp_mod_CFLAGS): Likewise.
47041 (ntfscomp_mod_LDFLAGS): Likewise.
47042
47043 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
47044 (grub_probe_SOURCES): Likewise.
47045 (grub_emu_SOURCES): Likewise.
47046
47047 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47048 (grub_emu_SOURCES): Likewise.
47049
47050 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47051 (grub_emu_SOURCES): Likewise.
47052
47053 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
47054 (grub_emu_SOURCES): Likewise.
47055
47056 * fs/ntfs.c (grub_ntfscomp_func): New variable.
47057 (read_run_list): Renamed to grub_ntfs_read_run_list.
47058 (decomp_nextvcn): Moved to ntfscomp.c.
47059 (decomp_getch): Likewise.
47060 (decomp_get16): Likewise.
47061 (decomp_block): Likewise.
47062 (read_block): Likewise.
47063 (read_data): Partially moved to ntfscomp.c.
47064 (fixup): Change unsigned to grub_uint16_t.
47065 (read_mft): Change unsigned long to grub_uint32_t.
47066 (read_attr): Likewise.
47067 (read_data): Likewise.
47068 (read_run_data): Likewise.
47069 (read_run_list): Likewise.
47070 (read_mft): Likewise.
47071
47072 * fs/ntfscomp.c: New file.
47073
47074 * include/grub/ntfs.h: New file.
47075
47076 2007-12-16 Robert Millan <rmh@aybabtu.com>
47077
47078 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
47079 IDE disk check, since Linux is known to support 20 IDE disks.
47080 Reported by Colin Watson.
47081
47082 2007-12-15 Bean <bean123ch@gmail.com>
47083
47084 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
47085 (lnxboot_img_SOURCES): New variable.
47086 (lnxboot_img_ASFLAGS): Likewise.
47087 (lnxboot_img_LDFLAGS): Likewise.
47088
47089 * boot/i386/pc/lnxboot.S: New file.
47090
47091 2007-11-24 Pavel Roskin <proski@gnu.org>
47092
47093 * configure.ac: Test if '--build-id=none' is supported by the
47094 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
47095 objcopy to generate incorrect binary files (binutils
47096 2.17.50.0.18-1 as shipped by Fedora 8).
47097 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
47098 linking, so that build ID doesn't break the test.
47099
47100 2007-11-24 Pavel Roskin <proski@gnu.org>
47101
47102 * include/grub/i386/time.h: use "void" in the argument list
47103 of grub_cpu_idle().
47104 * include/grub/powerpc/time.h: Likewise.
47105 * include/grub/sparc64/time.h: Likewise.
47106
47107 2007-11-18 Christian Franke <franke@computer.org>
47108
47109 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47110 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47111 This fixes the problem that function keys did not work in grub-emu.
47112
47113 2007-11-18 Christian Franke <franke@computer.org>
47114
47115 * disk/host.c (grub_host_open): Remove attribute unused from
47116 name parameter. Add check for "host". This fixes the problem
47117 that grub-emu does not find partitions.
47118
47119 2007-11-18 Christian Franke <franke@computer.org>
47120
47121 * util/hostfs.c (is_dir): New function.
47122 (grub_hostfs_dir): Handle missing dirent.d_type case.
47123 (grub_hostfs_read): Add missing fseek().
47124 (grub_hostfs_label): Clear label pointer. This fixes a crash
47125 of grub-emu on "ls (host)".
47126
47127 2007-11-18 Christian Franke <franke@computer.org>
47128
47129 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47130 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47131 to 64 bit boundary by default.
47132
47133 2007-11-18 Bean <bean123ch@gmail.com>
47134
47135 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47136 (hexdump_mod_SOURCES): New variable.
47137 (hexdump_mod_CFLAGS): Likewise.
47138 (hexdump_mod_LDFLAGS): Likewise.
47139
47140 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47141
47142 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47143
47144 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47145
47146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47147
47148 * include/grub/hexdump.h: New file.
47149
47150 * commands/hexdump.c: New file.
47151
47152 2007-11-10 Robert Millan <rmh@aybabtu.com>
47153
47154 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47155 in grub_outb() calls.
47156 (beep_on): Likewise.
47157
47158 2007-11-10 Christian Franke <franke@computer.org>
47159
47160 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47161 (grub_menu_run): Likewise.
47162
47163 2007-11-10 Robert Millan <rmh@aybabtu.com>
47164
47165 * include/grub/i386/efi/machine.h: New file.
47166 * include/grub/i386/linuxbios/machine.h: Likewise.
47167 * include/grub/i386/pc/machine.h: Likewise.
47168 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47169 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47170
47171 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47172 (serial_hw_io_addr): New variable.
47173 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47174 instead of `(unsigned short *) 0x400'.
47175
47176 2007-11-10 Bean <bean123ch@gmail.com>
47177
47178 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47179
47180 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47181
47182 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47183 (vga_mod_SOURCES): Added.
47184 (vga_mod_CFLAGS): Likewise.
47185 (vga_mod_LDFLAGS): Likewise.
47186
47187 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47188 grub_outb() calls.
47189 (set_map_mask): Likewise.
47190 (set_read_map): Likewise.
47191 (set_read_address): Likewise.
47192 (vga_font): Removed variable.
47193 (get_vga_glyph): Removed function.
47194 (invalidate_char): Likewise.
47195 (write_char): Changed to use grub_font_get_glyph() for font
47196 information.
47197 (grub_vga_putchar): Likewise.
47198 (grub_vga_getcharwidth): Likewise.
47199
47200 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47201
47202 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47203 flags.
47204 (pxeboot_img_LDFLAGS): Likewise.
47205 (diskboot_img_LDFLAGS): Likewise.
47206 (kernel_img_LDFLAGS): Likewise.
47207
47208 2007-11-06 Robert Millan <rmh@aybabtu.com>
47209
47210 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47211 in grub_outb() calls.
47212 (serial_hw_init): Likewise.
47213
47214 2007-11-05 Robert Millan <rmh@aybabtu.com>
47215
47216 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47217 spaces. Skip non-regular files.
47218
47219 2007-11-05 Robert Millan <rmh@aybabtu.com>
47220
47221 * kern/disk.c (grub_disk_firmware_fini)
47222 (grub_disk_firmware_is_tainted): New variables.
47223
47224 * include/grub/disk.h (grub_disk_firmware_fini)
47225 (grub_disk_firmware_is_tainted): Likewise.
47226
47227 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47228 (grub_disk_biosdisk_fini): ... to here.
47229 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47230 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47231 is set. Register grub_disk_biosdisk_fini() in
47232 `grub_disk_firmware_fini'.
47233
47234 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47235 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47236 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47237 to finish existing firmware disk interface.
47238
47239 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47240 (ata_mod_SOURCES): New variable.
47241 (ata_mod_CFLAGS): Likewise.
47242 (ata_mod_LDFLAGS): Likewise.
47243
47244 2007-11-05 Robert Millan <rmh@aybabtu.com>
47245
47246 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47247 (grub_ata_wait): Reimplement using grub_millisleep().
47248
47249 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47250 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47251
47252 2007-11-03 Marco Gerards <marco@gnu.org>
47253
47254 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47255 (CRTC_ADDR_PORT): New macro.
47256 (CRTC_DATA_PORT): Likewise.
47257 (CRTC_CURSOR): Likewise.
47258 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47259 (CRTC_CURSOR_ADDR_LOW): Likewise.
47260 (update_cursor): New function.
47261 (grub_console_real_putchar): Call `update_cursor'.
47262 (grub_console_gotoxy): Likewise.
47263 (grub_console_cls): Set the default color when clearing the
47264 screen.
47265 (grub_console_setcursor): Implemented.
47266
47267 2007-11-03 Marco Gerards <marco@gnu.org>
47268
47269 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47270 become activate.
47271 (grub_ata_pio_write): Likewise.
47272
47273 (grub_atapi_identify): Wait after issuing an ATA command.
47274 (grub_atapi_packet): Likewise.
47275 (grub_ata_identify): Likewise.
47276 (grub_ata_readwrite): Likewise.
47277
47278 2007-11-03 Marco Gerards <marco@gnu.org>
47279
47280 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47281 (grub_ata_pio_write): Likewise.
47282 (grub_ata_readwrite): Use `grub_error', instead of
47283 returning `grub_errno'.
47284
47285 2007-11-03 Marco Gerards <marco@gnu.org>
47286
47287 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47288 grub_ata_pio_write once for every single sector, instead of for
47289 multiple sectors.
47290
47291 2007-10-31 Robert Millan <rmh@aybabtu.com>
47292
47293 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47294
47295 * conf/i386-linuxbios.rmk: New file.
47296
47297 * kern/i386/pc/hardware.c: Likewise.
47298 * term/i386/pc/at_keyboard.c: Likewise.
47299 * term/i386/pc/vga_text.c: Likewise.
47300
47301 * include/grub/i386/linuxbios/boot.h: Likewise.
47302 * include/grub/i386/linuxbios/console.h: Likewise.
47303 * include/grub/i386/linuxbios/init.h: Likewise.
47304 * include/grub/i386/linuxbios/kernel.h: Likewise.
47305 * include/grub/i386/linuxbios/loader.h: Likewise.
47306 * include/grub/i386/linuxbios/memory.h: Likewise.
47307 * include/grub/i386/linuxbios/serial.h: Likewise.
47308 * include/grub/i386/linuxbios/time.h: Likewise.
47309
47310 * kern/i386/linuxbios/init.c: Likewise.
47311 * kern/i386/linuxbios/startup.S: Likewise.
47312 * kern/i386/linuxbios/table.c: Likewise.
47313
47314 2007-10-31 Marco Gerards <marco@gnu.org>
47315
47316 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47317 (ata_mod_SOURCES): New variable.
47318 (ata_mod_CFLAGS): Likewise.
47319 (ata_mod_LDFLAGS): Likewise.
47320
47321 * disk/ata.c: New file.
47322
47323 * include/grub/disk.h (grub_disk_dev_id): Add
47324 `GRUB_DISK_DEV_ATA_ID'.
47325
47326 2007-10-31 Robert Millan <rmh@aybabtu.com>
47327
47328 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47329 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47330
47331 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47332 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47333
47334 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47335 `<grub/types.h>'.
47336
47337 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47338
47339 2007-10-27 Robert Millan <rmh@aybabtu.com>
47340
47341 * include/grub/types.h (ULONG_MAX): Define macro.
47342
47343 2007-10-22 Robert Millan <rmh@aybabtu.com>
47344
47345 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47346 `"../realmode.S"'.
47347 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47348
47349 2007-10-22 Robert Millan <rmh@aybabtu.com>
47350
47351 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47352 (pkgdata_MODULES): Add `biosdisk.mod'.
47353 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47354 variables.
47355
47356 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47357 (grub_biosdisk_init): Replace with ...
47358 (GRUB_MOD_INIT(biosdisk)): ... this.
47359 (grub_biosdisk_fini): Replace with ...
47360 (GRUB_MOD_FINI(biosdisk)): ... this.
47361
47362 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47363 (grub_machine_init): Remove call to grub_biosdisk_init().
47364 (grub_machine_fini): Remove call to grub_machine_fini().
47365
47366 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47367
47368 2007-10-22 Robert Millan <rmh@aybabtu.com>
47369
47370 * include/grub/time.h: New file.
47371 * include/grub/i386/time.h: Likewise.
47372 * include/grub/powerpc/time.h: Likewise.
47373 * include/grub/sparc64/time.h: Likewise.
47374
47375 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47376 instances to ...
47377 (KERNEL_MACHINE_TIME_HEADER): ... this.
47378 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47379 instances to ...
47380 (KERNEL_MACHINE_TIME_HEADER): ... this.
47381 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47382 instances to ...
47383 (KERNEL_MACHINE_TIME_HEADER): ... this.
47384
47385 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47386 (grub_millisleep): New function.
47387 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47388 (grub_millisleep): New function.
47389 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47390 Remove `grub/machine/time.h' include.
47391 (grub_millisleep): New function.
47392 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47393 Remove `grub/machine/time.h' include.
47394 (grub_millisleep): New function.
47395
47396 * include/grub/misc.h (grub_div_roundup): New function.
47397
47398 * kern/misc.c: Include `<grub/time.h>'.
47399 (grub_millisleep_generic): New function.
47400
47401 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47402 Add `time.h'.
47403 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47404 Add `time.h'.
47405 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47406 `machine/time.h'. Add `time.h'.
47407 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47408
47409 2007-10-21 Robert Millan <rmh@aybabtu.com>
47410
47411 * include/grub/misc.h (grub_max): New function.
47412
47413 2007-10-21 Robert Millan <rmh@aybabtu.com>
47414
47415 * util/misc.c (grub_util_info): Call fflush() before returning.
47416
47417 2007-10-20 Robert Millan <rmh@aybabtu.com>
47418
47419 * genmk.rb (Image): Copy `extra_flags' from here ...
47420 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47421
47422 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47423 to `argc' and `args' arguments.
47424
47425 2007-10-17 Robert Millan <rmh@aybabtu.com>
47426
47427 * kern/i386/loader.S: New file.
47428
47429 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47430 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47431 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47432 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47433 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47434 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47435 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47436 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47437 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47438 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47439 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47440 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47441 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47442 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47443
47444 * kern/i386/realmode.S: New file.
47445
47446 * kern/i386/pc/startup.S (protstack): Moved from here ...
47447 * kern/i386/realmode.S (protstack)... to here.
47448 * kern/i386/pc/startup.S (gdt): Moved from here ...
47449 * kern/i386/realmode.S (gdt)... to here.
47450 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47451 * kern/i386/realmode.S (prot_to_real)... to here.
47452
47453 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47454 `kern/i386/realmode.S'.
47455
47456 2007-10-17 Robert Millan <rmh@aybabtu.com>
47457
47458 * include/grub/i386/loader.h: New file.
47459
47460 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47461 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47462 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47463 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47464 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47465 * include/grub/i386/loader.h (grub_linux_prot_size)
47466 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47467 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47468 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47469 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47470
47471 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47472
47473 2007-10-15 Robert Millan <rmh@aybabtu.com>
47474
47475 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47476 filesystem when dev->disk is unset.
47477 Do probe for filesystem even when dev->disk->has_partitions is set.
47478 In case a filesystem is found, always report it.
47479 In case it isn't, if dev->disk->has_partitions is set, report that
47480 a partition table was found instead of reporting that no filesystem
47481 could be identified.
47482
47483 2007-10-12 Robert Millan <rmh@aybabtu.com>
47484
47485 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47486 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47487
47488 * include/grub/types.h (grub_host_to_target16): New macro.
47489 (grub_host_to_target32): Likewise.
47490 (grub_host_to_target64): Likewise.
47491 (grub_target_to_host16): Likewise.
47492 (grub_target_to_host32): Likewise.
47493 (grub_target_to_host64): Likewise.
47494
47495 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47496 Renamed from to ...
47497 (GRUB_MOD_ALIGN): ...this. Update all users.
47498
47499 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47500 grub_host_to_target32.
47501 Replace grub_be_to_cpu32 with grub_target_to_host32.
47502 (load_modules): Likewise.
47503 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47504 Replace grub_be_to_cpu32 with grub_target_to_host32.
47505 Replace grub_cpu_to_be16 with grub_host_to_target16.
47506 Replace grub_cpu_to_be32 grub_host_to_target32.
47507
47508 2007-10-12 Robert Millan <rmh@aybabtu.com>
47509
47510 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47511 * util/elf/grub-mkimage.c: ... here.
47512
47513 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47514 `util/powerpc/ieee1275/grub-mkimage.c'.
47515
47516 2007-10-07 Robert Millan <rmh@aybabtu.com>
47517
47518 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47519 and make it easier to figure out.
47520 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47521 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47522 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47523 leave us with less than HEAP_MIN_SIZE total heap.
47524 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
47525
47526 2007-10-03 Robert Millan <rmh@aybabtu.com>
47527
47528 * include/grub/i386/io.h: New file.
47529 * commands/i386/pc/play.c (inb): Removed.
47530 (outb): Removed.
47531 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47532 with grub_outb().
47533 * term/i386/pc/serial.c (inb): Removed.
47534 (outb): Removed.
47535 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47536 with grub_outb().
47537 * term/i386/pc/vga.c (inb): Removed.
47538 (outb): Removed.
47539 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47540 with grub_outb().
47541
47542 2007-10-02 Robert Millan <rmh@aybabtu.com>
47543
47544 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47546 Reported by Marcin Kurek.
47547
47548 2007-09-07 Robert Millan <rmh@aybabtu.com>
47549
47550 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47551 SmartFirmware version updates (as released by Sven Luther), and avoid
47552 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47553 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47554 known broken.
47555
47556 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47557
47558 From Hitoshi Ozeki:
47559 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47560 when merging two regions.
47561
47562 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47563
47564 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47565 * normal/completion.c (grub_normal_do_completion): Likewise.
47566 Reported by Hitoshi Ozeki.
47567
47568 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47569
47570 Do not use devices at boot in chainloading.
47571
47572 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47573 (boot_part_addr): Likewise.
47574 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47575 with BOOT_DRIVE and BOOT_PART_ADDR.
47576 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47577 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47578
47579 2007-08-29 Robert Millan <rmh@aybabtu.com>
47580
47581 Patch from Simon Peter <dn.tlp@gmx.net>:
47582 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47583 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47584 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47585 util/i386/pc/grub-setup.c_DEPENDENCIES.
47586 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47587 util/grub-probe.c_DEPENDENCIES.
47588 * conf/powerpc-ieee1275.rmk: Likewise.
47589
47590 2007-08-28 Robert Millan <rmh@aybabtu.com>
47591
47592 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47593 to tell grub-mkdevicemap how to name devices.
47594 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47595 feature).
47596
47597 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47598 util/i386/get_disk_name.c.
47599 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47600 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47601 util/ieee1275/get_disk_name.c.
47602
47603 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47604
47605 * DISTLIST: Add util/i386/get_disk_name.c and
47606 util/ieee1275/get_disk_name.c.
47607
47608 * util/grub-mkdevicemap.c: Replace device naming logic with
47609 grub_util_get_disk_name() calls.
47610
47611 2007-08-20 Robert Millan <rmh@aybabtu.com>
47612
47613 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47614 (so that it works for both plural and singular quantities).
47615
47616 2007-08-05 Robert Millan <rmh@aybabtu.com>
47617
47618 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47619 so that [xz] isn't taken into account when determining order.
47620
47621 2007-08-02 Marco Gerards <marco@gnu.org>
47622
47623 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47624 `include/multiboot2.h', `include/grub/elfload.h',
47625 `include/multiboot.h', `include/grub/multiboot.h',
47626 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47627 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47628 `kern/elf.c', `loader/multiboot_loader.c',
47629 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47630 `loader/i386/pc/multiboot2.c',
47631 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47632 `util/i386/pc/grub-mkrescue.in'. Remove
47633 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47634 `include/grub/i386/pc/util/biosdisk.h' and
47635 `include/grub/powerpc/ieee1275/multiboot.h'.
47636
47637 2007-08-02 Bean <bean123ch@gmail.com>
47638
47639 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47640 (ntfs_mod_SOURCES): New variable.
47641 (ntfs_mod_CFLAGS): Likewise.
47642 (ntfs_mod_LDFLAGS): Likewise.
47643
47644 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47645 (grub_probe_SOURCES): Likewise.
47646 (grub_emu_SOURCES): Likewise.
47647
47648 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47649 (grub_emu_SOURCES): Likewise.
47650
47651 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47652 (grub_emu_SOURCES): Likewise.
47653
47654 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47655
47656 * fs/ntfs.c: New file.
47657
47658 2007-08-02 Bean <bean123ch@gmail.com>
47659
47660 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47661
47662 * file.h (grub_file): Likewise.
47663
47664 * fshelp.h (grub_fshelp_read_file): Likewise.
47665
47666 * util/i386/pc/grub-setup.c (setup): Likewise.
47667 (save_first_sector): Likewise.
47668 (save_blocklists): Likewise.
47669
47670 * fs/affs.c (grub_affs_read_file): Likewise.
47671
47672 * fs/ext2.c (grub_ext2_read_file): Likewise.
47673
47674 * fs/fat.c (grub_fat_read_data): Likewise.
47675
47676 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47677
47678 * fs/hfs.c (grub_hfs_read_file): Likewise.
47679
47680 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47681
47682 * fs/jfs.c (grub_jfs_read_file): Likewise.
47683
47684 * fs/minix.c (grub_minix_read_file): Likewise.
47685
47686 * fs/sfs.c (grub_sfs_read_file): Likewise.
47687
47688 * fs/ufs.c (grub_ufs_read_file): Likewise.
47689
47690 * fs/xfs.c (grub_xfs_read_file): Likewise.
47691
47692 * command/blocklist.c (read_blocklist): Likewise.
47693 (print_blocklist): Likewise.
47694
47695 2007-08-02 Marco Gerards <marco@gnu.org>
47696
47697 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47698 `util/hostfs.c'.
47699
47700 * disk/host.c: New file.
47701
47702 * util/hostfs.c: Likewise.
47703
47704 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47705 return `GRUB_ERR_BAD_FS'.
47706 * fs/sfs.c (grub_sfs_mount): Likewise.
47707 * fs/xfs.c (grub_xfs_mount): Likewise.
47708
47709 * include/grub/disk.h (enum grub_disk_dev_id): Add
47710 `GRUB_DISK_DEVICE_HOST_ID'.
47711
47712 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47713
47714 2007-07-24 Jerone Young <jerone@gmail.com>
47715
47716 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
47717 modules for compilation.
47718 * conf/powerpc-ieee1275.rmk: Likewise.
47719
47720 * include/multiboot.h: Move multiboot definitions to one file. Rename
47721 many definitions to not get grub specific.
47722 * include/multiboot2.h: Create header with multiboot 2 definitions.
47723 * include/grub/multiboot.h: Header for grub specific function
47724 prototypes and definitions.
47725 * include/grub/multiboot2.h: Likewise.
47726 * include/grub/multiboot_loader.h: Likewise.
47727 * include/grub/i386/pc/multiboot.h: Removed.
47728 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47729
47730 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47731 and 2 to allow for one multiboot and module commands.
47732 * loader/multiboot2.c: Add multiboot2 functionality.
47733 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47734 and definition names.
47735 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47736 2 functions.
47737 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47738 ieee1275 specific multiboot2 code.
47739
47740 * kern/i386/pc/startup.S: Change headers and definition names for
47741 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47742
47743 2007-07-22 Robert Millan <rmh@aybabtu.com>
47744
47745 * geninitheader.sh: Process file specified in first parameter rather
47746 than hardcoding grub_modules_init.lst.
47747 * geninit.sh: Likewise. Also, construct header name dynamically rather
47748 than hardcoding grub_modules_init.h.
47749
47750 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47751 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47752 grub_probe_init.[ch] and grub_setup_init.[ch].
47753
47754 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47755 grub_modules_init.h with grub_emu_init.h.
47756 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47757 grub_probe_init.[ch] files.
47758 * conf/i386-efi.rmk: Likewise.
47759 * conf/i386-pc.rmk: Likewise.
47760 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47761 grub_setup_init.[ch] files.
47762
47763 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47764 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47765 to initialize modules rather than a list of hardcoded functions.
47766 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47767 grub_init_all() to initialize modules rather than a list of hardcoded
47768 functions.
47769
47770 2007-07-22 Robert Millan <rmh@aybabtu.com>
47771
47772 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47773 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47774
47775 2007-07-22 Robert Millan <rmh@aybabtu.com>
47776
47777 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47778 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47779 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47780 flag when running on SmartFirmware.
47781 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47782 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47783 was set.
47784
47785 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47786 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47787 rather than decreasing it.
47788
47789 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47790 there's not enough space to do it, fail in the same way as when it
47791 can't be done because there are no partitions.
47792
47793 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47794 when nvsetenv failed.
47795
47796 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47797
47798 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47799 because this rule is automatically generated.
47800 (grub-mkrescue): Removed for the same reason as above.
47801
47802 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47803
47804 Migrate to GNU General Public License Version 3.
47805
47806 * COPYING: Replaced with the plain text version of GPLv3.
47807
47808 * config.guess: Updated from gnulib.
47809 * config.sub: Likewise.
47810
47811 * geninit.sh: Output a GPLv3 copyright notice.
47812 * geninitheader.sh: Likewise.
47813 * genmodsrc.sh: Likewise.
47814 * gensymlist.sh.in: Likewise.
47815
47816 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47817 * boot/i386/pc/diskboot.S: Likewise.
47818 * boot/i386/pc/pxeboot.S: Likewise.
47819 * commands/blocklist.c: Likewise.
47820 * commands/boot.c: Likewise.
47821 * commands/cat.c: Likewise.
47822 * commands/cmp.c: Likewise.
47823 * commands/configfile.c: Likewise.
47824 * commands/echo.c: Likewise.
47825 * commands/help.c: Likewise.
47826 * commands/ls.c: Likewise.
47827 * commands/search.c: Likewise.
47828 * commands/terminal.c: Likewise.
47829 * commands/test.c: Likewise.
47830 * commands/videotest.c: Likewise.
47831 * commands/i386/cpuid.c: Likewise.
47832 * commands/i386/pc/halt.c: Likewise.
47833 * commands/i386/pc/play.c: Likewise.
47834 * commands/i386/pc/reboot.c: Likewise.
47835 * commands/i386/pc/vbeinfo.c: Likewise.
47836 * commands/i386/pc/vbetest.c: Likewise.
47837 * commands/ieee1275/halt.c: Likewise.
47838 * commands/ieee1275/reboot.c: Likewise.
47839 * commands/ieee1275/suspend.c: Likewise.
47840 * disk/loopback.c: Likewise.
47841 * disk/lvm.c: Likewise.
47842 * disk/raid.c: Likewise.
47843 * disk/efi/efidisk.c: Likewise.
47844 * disk/i386/pc/biosdisk.c: Likewise.
47845 * disk/ieee1275/ofdisk.c: Likewise.
47846 * font/manager.c: Likewise.
47847 * fs/affs.c: Likewise.
47848 * fs/ext2.c: Likewise.
47849 * fs/fat.c: Likewise.
47850 * fs/fshelp.c: Likewise.
47851 * fs/hfs.c: Likewise.
47852 * fs/hfsplus.c: Likewise.
47853 * fs/iso9660.c: Likewise.
47854 * fs/jfs.c: Likewise.
47855 * fs/minix.c: Likewise.
47856 * fs/sfs.c: Likewise.
47857 * fs/ufs.c: Likewise.
47858 * fs/xfs.c: Likewise.
47859 * hello/hello.c: Likewise.
47860 * include/grub/acorn_filecore.h: Likewise.
47861 * include/grub/arg.h: Likewise.
47862 * include/grub/bitmap.h: Likewise.
47863 * include/grub/boot.h: Likewise.
47864 * include/grub/cache.h: Likewise.
47865 * include/grub/device.h: Likewise.
47866 * include/grub/disk.h: Likewise.
47867 * include/grub/dl.h: Likewise.
47868 * include/grub/elfload.h: Likewise.
47869 * include/grub/env.h: Likewise.
47870 * include/grub/err.h: Likewise.
47871 * include/grub/file.h: Likewise.
47872 * include/grub/font.h: Likewise.
47873 * include/grub/fs.h: Likewise.
47874 * include/grub/fshelp.h: Likewise.
47875 * include/grub/gzio.h: Likewise.
47876 * include/grub/hfs.h: Likewise.
47877 * include/grub/kernel.h: Likewise.
47878 * include/grub/loader.h: Likewise.
47879 * include/grub/lvm.h: Likewise.
47880 * include/grub/misc.h: Likewise.
47881 * include/grub/mm.h: Likewise.
47882 * include/grub/net.h: Likewise.
47883 * include/grub/normal.h: Likewise.
47884 * include/grub/parser.h: Likewise.
47885 * include/grub/partition.h: Likewise.
47886 * include/grub/pc_partition.h: Likewise.
47887 * include/grub/raid.h: Likewise.
47888 * include/grub/rescue.h: Likewise.
47889 * include/grub/script.h: Likewise.
47890 * include/grub/setjmp.h: Likewise.
47891 * include/grub/symbol.h: Likewise.
47892 * include/grub/term.h: Likewise.
47893 * include/grub/terminfo.h: Likewise.
47894 * include/grub/tparm.h: Likewise.
47895 * include/grub/types.h: Likewise.
47896 * include/grub/video.h: Likewise.
47897 * include/grub/efi/api.h: Likewise.
47898 * include/grub/efi/chainloader.h: Likewise.
47899 * include/grub/efi/console.h: Likewise.
47900 * include/grub/efi/console_control.h: Likewise.
47901 * include/grub/efi/disk.h: Likewise.
47902 * include/grub/efi/efi.h: Likewise.
47903 * include/grub/efi/pe32.h: Likewise.
47904 * include/grub/efi/time.h: Likewise.
47905 * include/grub/i386/linux.h: Likewise.
47906 * include/grub/i386/setjmp.h: Likewise.
47907 * include/grub/i386/types.h: Likewise.
47908 * include/grub/i386/efi/kernel.h: Likewise.
47909 * include/grub/i386/efi/loader.h: Likewise.
47910 * include/grub/i386/efi/time.h: Likewise.
47911 * include/grub/i386/pc/biosdisk.h: Likewise.
47912 * include/grub/i386/pc/boot.h: Likewise.
47913 * include/grub/i386/pc/chainloader.h: Likewise.
47914 * include/grub/i386/pc/console.h: Likewise.
47915 * include/grub/i386/pc/init.h: Likewise.
47916 * include/grub/i386/pc/kernel.h: Likewise.
47917 * include/grub/i386/pc/loader.h: Likewise.
47918 * include/grub/i386/pc/memory.h: Likewise.
47919 * include/grub/i386/pc/multiboot.h: Likewise.
47920 * include/grub/i386/pc/serial.h: Likewise.
47921 * include/grub/i386/pc/time.h: Likewise.
47922 * include/grub/i386/pc/vbe.h: Likewise.
47923 * include/grub/i386/pc/vbeblit.h: Likewise.
47924 * include/grub/i386/pc/vbefill.h: Likewise.
47925 * include/grub/i386/pc/vbeutil.h: Likewise.
47926 * include/grub/i386/pc/vga.h: Likewise.
47927 * include/grub/ieee1275/ieee1275.h: Likewise.
47928 * include/grub/ieee1275/ofdisk.h: Likewise.
47929 * include/grub/powerpc/libgcc.h: Likewise.
47930 * include/grub/powerpc/setjmp.h: Likewise.
47931 * include/grub/powerpc/types.h: Likewise.
47932 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47933 * include/grub/powerpc/ieee1275/console.h: Likewise.
47934 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47935 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47936 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47937 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47938 * include/grub/powerpc/ieee1275/time.h: Likewise.
47939 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47940 * include/grub/sparc64/libgcc.h: Likewise.
47941 * include/grub/sparc64/setjmp.h: Likewise.
47942 * include/grub/sparc64/types.h: Likewise.
47943 * include/grub/sparc64/ieee1275/console.h: Likewise.
47944 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47945 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47946 * include/grub/sparc64/ieee1275/time.h: Likewise.
47947 * include/grub/util/biosdisk.h: Likewise.
47948 * include/grub/util/getroot.h: Likewise.
47949 * include/grub/util/lvm.h: Likewise.
47950 * include/grub/util/misc.h: Likewise.
47951 * include/grub/util/raid.h: Likewise.
47952 * include/grub/util/resolve.h: Likewise.
47953 * io/gzio.c: Likewise.
47954 * kern/device.c: Likewise.
47955 * kern/disk.c: Likewise.
47956 * kern/dl.c: Likewise.
47957 * kern/elf.c: Likewise.
47958 * kern/env.c: Likewise.
47959 * kern/err.c: Likewise.
47960 * kern/file.c: Likewise.
47961 * kern/fs.c: Likewise.
47962 * kern/loader.c: Likewise.
47963 * kern/main.c: Likewise.
47964 * kern/misc.c: Likewise.
47965 * kern/mm.c: Likewise.
47966 * kern/parser.c: Likewise.
47967 * kern/partition.c: Likewise.
47968 * kern/rescue.c: Likewise.
47969 * kern/term.c: Likewise.
47970 * kern/efi/efi.c: Likewise.
47971 * kern/efi/init.c: Likewise.
47972 * kern/efi/mm.c: Likewise.
47973 * kern/i386/dl.c: Likewise.
47974 * kern/i386/efi/init.c: Likewise.
47975 * kern/i386/efi/startup.S: Likewise.
47976 * kern/i386/pc/init.c: Likewise.
47977 * kern/i386/pc/lzo1x.S: Likewise.
47978 * kern/i386/pc/startup.S: Likewise.
47979 * kern/ieee1275/ieee1275.c: Likewise.
47980 * kern/powerpc/cache.S: Likewise.
47981 * kern/powerpc/dl.c: Likewise.
47982 * kern/powerpc/ieee1275/cmain.c: Likewise.
47983 * kern/powerpc/ieee1275/crt0.S: Likewise.
47984 * kern/powerpc/ieee1275/init.c: Likewise.
47985 * kern/powerpc/ieee1275/openfw.c: Likewise.
47986 * kern/sparc64/cache.S: Likewise.
47987 * kern/sparc64/dl.c: Likewise.
47988 * kern/sparc64/ieee1275/init.c: Likewise.
47989 * kern/sparc64/ieee1275/openfw.c: Likewise.
47990 * loader/efi/chainloader.c: Likewise.
47991 * loader/efi/chainloader_normal.c: Likewise.
47992 * loader/i386/efi/linux.c: Likewise.
47993 * loader/i386/efi/linux_normal.c: Likewise.
47994 * loader/i386/pc/chainloader.c: Likewise.
47995 * loader/i386/pc/chainloader_normal.c: Likewise.
47996 * loader/i386/pc/linux.c: Likewise.
47997 * loader/i386/pc/linux_normal.c: Likewise.
47998 * loader/i386/pc/multiboot.c: Likewise.
47999 * loader/i386/pc/multiboot_normal.c: Likewise.
48000 * loader/powerpc/ieee1275/linux.c: Likewise.
48001 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48002 * normal/arg.c: Likewise.
48003 * normal/cmdline.c: Likewise.
48004 * normal/command.c: Likewise.
48005 * normal/completion.c: Likewise.
48006 * normal/execute.c: Likewise.
48007 * normal/function.c: Likewise.
48008 * normal/lexer.c: Likewise.
48009 * normal/main.c: Likewise.
48010 * normal/menu.c: Likewise.
48011 * normal/menu_entry.c: Likewise.
48012 * normal/misc.c: Likewise.
48013 * normal/parser.y: Likewise.
48014 * normal/script.c: Likewise.
48015 * normal/i386/setjmp.S: Likewise.
48016 * normal/powerpc/setjmp.S: Likewise.
48017 * normal/sparc64/setjmp.S: Likewise.
48018 * partmap/acorn.c: Likewise.
48019 * partmap/amiga.c: Likewise.
48020 * partmap/apple.c: Likewise.
48021 * partmap/gpt.c: Likewise.
48022 * partmap/pc.c: Likewise.
48023 * partmap/sun.c: Likewise.
48024 * term/gfxterm.c: Likewise.
48025 * term/terminfo.c: Likewise.
48026 * term/efi/console.c: Likewise.
48027 * term/i386/pc/console.c: Likewise.
48028 * term/i386/pc/serial.c: Likewise.
48029 * term/i386/pc/vesafb.c: Likewise.
48030 * term/i386/pc/vga.c: Likewise.
48031 * term/ieee1275/ofconsole.c: Likewise.
48032 * util/biosdisk.c: Likewise.
48033 * util/console.c: Likewise.
48034 * util/genmoddep.c: Likewise.
48035 * util/getroot.c: Likewise.
48036 * util/grub-emu.c: Likewise.
48037 * util/grub-mkdevicemap.c: Likewise.
48038 * util/grub-probe.c: Likewise.
48039 * util/lvm.c: Likewise.
48040 * util/misc.c: Likewise.
48041 * util/raid.c: Likewise.
48042 * util/resolve.c: Likewise.
48043 * util/update-grub.in: Likewise.
48044 * util/update-grub_lib.in: Likewise.
48045 * util/grub.d/00_header.in: Likewise.
48046 * util/grub.d/10_hurd.in: Likewise.
48047 * util/grub.d/10_linux.in: Likewise.
48048 * util/i386/efi/grub-install.in: Likewise.
48049 * util/i386/efi/grub-mkimage.c: Likewise.
48050 * util/i386/pc/grub-install.in: Likewise.
48051 * util/i386/pc/grub-mkimage.c: Likewise.
48052 * util/i386/pc/grub-mkrescue.in: Likewise.
48053 * util/i386/pc/grub-setup.c: Likewise.
48054 * util/i386/pc/misc.c: Likewise.
48055 * util/powerpc/ieee1275/grub-install.in: Likewise.
48056 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
48057 * util/powerpc/ieee1275/misc.c: Likewise.
48058 * video/bitmap.c: Likewise.
48059 * video/video.c: Likewise.
48060 * video/i386/pc/vbe.c: Likewise.
48061 * video/i386/pc/vbeblit.c: Likewise.
48062 * video/i386/pc/vbefill.c: Likewise.
48063 * video/i386/pc/vbeutil.c: Likewise.
48064 * video/readers/tga.c: Likewise.
48065
48066 2007-07-02 Robert Millan <rmh@aybabtu.com>
48067
48068 * conf/i386-efi.rmk: Replace obsolete reference to
48069 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
48070 with util/getroot.c.
48071 * conf/powerpc-ieee1275.rmk: Likewise.
48072 * conf/sparc64-ieee1275.rmk: Likewise.
48073
48074 * util/grub-emu.c (main): Fix unchecked pointer handling.
48075
48076 2007-07-02 Robert Millan <rmh@aybabtu.com>
48077
48078 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
48079 invocation to fail, in order to support partition-less media.
48080
48081 * util/i386/pc/grub-install.in: Likewise.
48082
48083 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
48084 which fs or partmap modules are needed (akin to its sister scripts).
48085
48086 Also use grub-probe to get rid of unportable /proc/mounts check.
48087
48088 Print the same informational message that the other scripts do, before
48089 exiting.
48090
48091 2007-06-23 Robert Millan <rmh@aybabtu.com>
48092
48093 * util/update-grub_lib.in (font_path): New function. Determine whether
48094 a font file can be found and, if so, echo the GRUB path to it.
48095
48096 * util/update-grub.in: Handle multiple terminals depending on user
48097 input, platform availability and font file presence. Propagate
48098 variables of our findings to /etc/grub.d/ children.
48099
48100 * util/grub.d/00_header.in: Handle multiple terminals, based on
48101 environment setup by update-grub.
48102
48103 2007-06-23 Robert Millan <rmh@aybabtu.com>
48104
48105 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
48106
48107 2007-06-21 Robert Millan <rmh@aybabtu.com>
48108
48109 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48110 indicate end of data section in kernel image.
48111 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48112 GRUB_KERNEL_MACHINE_DATA_END.
48113
48114 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48115 space for it.
48116 * kern/i386/efi/startup.S: Likewise.
48117
48118 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48119 during image generation. Implement --prefix option to override this
48120 patch.
48121 * util/i386/efi/grub-mkimage.c: Likewise.
48122
48123 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48124 code to make path relative to its root into a separate function.
48125
48126 * util/i386/pc/grub-install.in: Use newly provided
48127 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48128 pass the result to grub-install --prefix.
48129
48130 2007-06-13 Robert Millan <rmh@aybabtu.com>
48131
48132 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48133 DEFAULT_DEVICE_MAP.
48134 * util/grub-emu.c: Use above definitions from misc.h instead of
48135 defining them.
48136 * util/grub-mkdevicemap.c: Likewise.
48137 * util/i386/pc/grub-setup.c: Likewise.
48138 * util/grub-probe.c: Likewise.
48139 (probe): Abort with grub_util_error() when either
48140 grub_guess_root_device or grub_util_get_grub_dev fails.
48141
48142 2007-06-12 Robert Millan <rmh@aybabtu.com>
48143
48144 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48145 "pager" assignment.
48146 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48147 "pcdata".
48148 * util/grub-probe.c (probe): Likewise for "drive_name".
48149
48150 2007-06-11 Robert Millan <rmh@aybabtu.com>
48151
48152 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48153 not just the cdrom one.
48154
48155 2007-06-11 Robert Millan <rmh@aybabtu.com>
48156
48157 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48158 Add --pkglibdir=DIR option to override pkglibdir.
48159 Mention --image-type=TYPE in help output.
48160 Fix --grub-mkimage (it was a no-op).
48161 Abort gracefully when no parameter is given.
48162
48163 2007-06-11 Robert Millan <rmh@aybabtu.com>
48164
48165 * util/i386/pc/grub-mkrescue.in: New file.
48166 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48167 * Makefile.in: Handle bin_SCRIPTS.
48168
48169 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48170
48171 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48172 list of video modes.
48173
48174 2007-06-06 Robert Millan <rmh@aybabtu.com>
48175
48176 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48177 file doesn't exist, or if it is in a filesystem grub can't read.
48178
48179 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48180 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48181 header comment to fit in 80 columns when the variables are resolved.
48182
48183 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48184 could be identified by update-grub. Remove redundant check for
48185 unifont.pff existence (since convert_system_path_to_grub_path now
48186 handles that).
48187
48188 2007-06-04 Robert Millan <rmh@aybabtu.com>
48189
48190 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48191
48192 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48193
48194 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48195
48196 2007-06-04 Robert Millan <rmh@aybabtu.com>
48197
48198 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48199
48200 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48201 grub_apple_partition_map_fini.
48202
48203 * util/biosdisk.c
48204 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48205 to access >2 TiB disks).
48206
48207 Print disk->total_sectors with %llu instead of %lu, since this
48208 variable is always 64-bit (prevents wrong disk size from being displayed
48209 on either >2 TiB disk or big-endian CPU).
48210
48211 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48212 into a generic case that supports all (sane) partition maps.
48213
48214 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48215 breaks big-endian.
48216
48217 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48218 and grub_apple_partition_map_fini() after that.
48219
48220 2007-06-01 Robert Millan <rmh@aybabtu.com>
48221
48222 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48223
48224 * util/grub.d/00_header.in: Only enable gfxterm when
48225 convert_system_path_to_grub_path() succeeds.
48226
48227 2007-05-20 Robert Millan <rmh@aybabtu.com>
48228
48229 * util/update-grub_lib.in: New file.
48230 * DISTLIST: Add update-grub_lib.in.
48231 * conf/common.rmk: Generate update-grub_lib and install it in
48232 $(lib_DATA).
48233 * Makefile.in: Add install routine for $(lib_DATA).
48234
48235 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48236 function provided by update-grub_lib to support arbitrary paths of
48237 unifont.pff.
48238 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48239 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48240
48241 2007-05-19 Robert Millan <rmh@aybabtu.com>
48242
48243 * commands/i386/cpuid.c: New module.
48244 * DISTLIST: Add it.
48245 * conf/i386-efi.rmk: Enable cpuid.mod.
48246 * conf/i386-pc.rmk: Likewise.
48247
48248 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48249
48250 * kern/disk.c (grub_disk_read): Check return value of
48251 grub_realloc().
48252
48253 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48254
48255 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48256 arrays.
48257 * disk/raid.c (grub_raid_open): Likewise.
48258
48259 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48260
48261 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48262 stack instead of on the heap.
48263
48264 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48265 before doing a read on it.
48266
48267 * configure.ac: Only use -fno-stack-protector for the target
48268 environment.
48269
48270 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48271
48272 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48273 __attribute_ ((unused)) to mode_type argument.
48274
48275 * util/getroot.c (grub_guess_root_device): Fix #endif.
48276
48277 * kern/misc.c (memcmp): Fix prototype.
48278
48279 * include/grub/partition.h [GRUB_UTIL]
48280 (grub_gpt_partition_map_init): Add prototype.
48281 (grub_gpt_partition_map_fini): Likewise.
48282
48283 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48284 at the right place.
48285
48286 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48287 (grub_fat_read_data): Likewise.
48288 (grub_fat_find_dir): Likewise.
48289
48290 * font/manager.c (find_glyph): Make table a const.
48291 (grub_font_get_glyph): Remove bitmap from if statement.
48292
48293 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48294
48295 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48296 code, first search for device in /dev/mapper, then in /dev.
48297 (grub_util_get_grub_dev): New function.
48298 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48299 prototype.
48300 * util/grub-probe.c (probe): Remove check for RAID, call
48301 grub_util_get_grub_dev() instead of
48302 grub_util_biosdisk_get_grub_dev().
48303 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48304 grub_util_biosdisk_get_grub_dev().
48305 * util/i386/pc/grub-setup.c (main): Likewise.
48306
48307 2007-05-16 Robert Millan <rmh@aybabtu.com>
48308
48309 * DISTLIST: Update for the latest changes.
48310 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48311 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48312 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48313 grub/util/biosdisk.h.
48314 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48315 grub/util/biosdisk.h.
48316
48317 2007-05-16 Robert Millan <rmh@aybabtu.com>
48318
48319 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48320
48321 2007-05-16 Robert Millan <rmh@aybabtu.com>
48322
48323 * util/i386/efi/grub-install.in: New.
48324 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48325 newly added grub-install.
48326 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48327 include.
48328 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48329 grub/util/biosdisk.h.
48330 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48331 grub/util/biosdisk.h.
48332
48333 2007-05-16 Robert Millan <rmh@aybabtu.com>
48334
48335 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48336 * include/grub/util/biosdisk.h: ... here.
48337 * util/i386/pc/biosdisk.c: Moved to ...
48338 * util/biosdisk.c: ... here.
48339 * util/i386/pc/getroot.c: Moved to ...
48340 * util/getroot.c: ... here.
48341 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48342 * util/grub-mkdevicemap.c: ... here.
48343 * util/i386/pc/grub-probe.c: Moved to ...
48344 * util/grub-probe.c: ... here.
48345
48346 2007-05-15 Robert Millan <rmh@aybabtu.com>
48347
48348 * util/update-grub.in: Remove duplicated line in grub.cfg header
48349 message.
48350
48351 2007-05-13 Robert Millan <rmh@aybabtu.com>
48352
48353 * util/update-grub.in: Fix a few assumptions about the devices holding
48354 /, /boot and /boot/grub being the same.
48355 * util/grub.d/00_header.in: Likewise.
48356 * util/grub.d/10_hurd.in: Likewise.
48357 * util/grub.d/10_linux.in: Likewise.
48358
48359 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48360 patterns. Use that to define the `.old' suffix as older than `'.
48361
48362 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48363
48364 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48365 the grub.cfg header message.
48366
48367 2007-05-11 Robert Millan <rmh@aybabtu.com>
48368
48369 * util/update-grub.in: Create device.map if it doesn't already exist,
48370 before attempting to run grub-probe.
48371 Check for grub-probe and grub-mkdevicemap with the same code
48372 grub-install is using.
48373 Remove test mode.
48374
48375 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48376
48377 * Makefile.in: Add the datarootdir autoconf variable.
48378
48379 2007-05-09 Robert Millan <rmh@aybabtu.com>
48380
48381 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
48382 fail gracefully if dev->disk->partition == NULL.
48383
48384 2007-05-07 Robert Millan <rmh@aybabtu.com>
48385
48386 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48387 determine partition map module.
48388 * util/i386/pc/grub-install.in: Use this feature to decide which
48389 partition module to load, instead of hardcoding pc and gpt.
48390
48391 2007-05-07 Robert Millan <rmh@aybabtu.com>
48392
48393 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48394 source directory differs from build directory.
48395
48396 2007-05-05 Robert Millan <rmh@aybabtu.com>
48397
48398 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48399 initialisation.
48400
48401 2007-05-05 Robert Millan <rmh@aybabtu.com>
48402
48403 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48404
48405 2007-05-05 Robert Millan <rmh@aybabtu.com>
48406
48407 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48408 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48409
48410 2007-05-05 Robert Millan <rmh@aybabtu.com>
48411
48412 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48413 (grub_probe_SOURCES): Likewise.
48414 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48415 GPT and initialize dos_part and bsd_part accordingly.
48416 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48417 install_bsd_part.
48418 (main): Activate gpt module for use during partition identification,
48419 and deactivate it afterwards.
48420 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48421 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48422 partition identification, and deactivate it afterwards.
48423
48424 2007-05-05 Robert Millan <rmh@aybabtu.com>
48425
48426 * term/i386/pc/console.c (grub_console_fini): Call
48427 grub_term_set_current() before grub_term_unregister().
48428
48429 2007-05-04 Robert Millan <rmh@aybabtu.com>
48430
48431 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48432 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48433 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48434 and update-grub_DATA.
48435 * conf/common.rmk: Build and install update-grub components.
48436 * conf/common.mk: Regenerate.
48437 * util/update-grub.in: New. Core of update-grub.
48438 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48439 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48440 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48441 * util/grub.d/README: New. Document grub.d directory layout.
48442
48443 2007-05-01 Robert Millan <rmh@aybabtu.com>
48444
48445 * util/grub-emu.c: Move initialization functions
48446 grub_util_biosdisk_init() and grub_init_all() before
48447 grub_util_biosdisk_get_grub_dev(), which relies on them.
48448
48449 2007-04-19 Robert Millan <rmh@aybabtu.com>
48450
48451 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48452 it is used later.
48453
48454 2007-04-18 Jerone Young <jerone@gmail.com>
48455
48456 * kernel/elf.c: Add missing parenthesis for conditional statement
48457 stanza.
48458
48459 2007-04-10 Jerone Young <jerone@gmail.com>
48460
48461 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48462 continue on and look for device node with real device name.
48463
48464 2007-04-10 Jerone Young <jerone@gmail.com>
48465
48466 * configure.ac: Add argument for autoconf to use transformation
48467 ability.
48468 * Makefile.in: Add autoconf package transformation code.
48469 * util/i386/pc/grub-install.in: Likewise.
48470 * util/powerpc/ieee1275/grub-install.in: Likewise.
48471
48472 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48473
48474 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48475 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48476 (EXT2_REVISION): Likewise.
48477 (EXT2_INODE_SIZE): Likewise.
48478 (struct grub_ext2_block_group): Added a missing member
48479 "used_dirs".
48480 (grub_ext2_read_inode): Divide by the inode size in a superblock
48481 instead of 128 to obtain INODES_PER_BLOCK.
48482 Use the macro EXT2_INODE_SIZE instead of directly using
48483 SBLOCK->INODE_SIZE.
48484
48485 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48486
48487 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48488 superblock instead of the structure size to compute an
48489 offset. This fixes the problem that GRUB could not read a
48490 filesystem when inode size is different from 128-byte.
48491
48492 2007-03-05 Marco Gerards <marco@gnu.org>
48493
48494 * normal/main.c (read_config_file): When "menu" is not set, create
48495 an initial context.
48496
48497 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48498
48499 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48500 (HEAP_LIMIT): New macro.
48501 (grub_claim_heap): Claim memory up to `heaplimit'.
48502
48503 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48504
48505 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48506 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48507 (_start): Likewise.
48508 (grub_arch_modules_addr): Return address after `_end'.
48509 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48510 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48511 (add_segments): Calculate `_end' from phdr size and location.
48512 (ALIGN_UP): Moved to ...
48513 * include/grub/misc.h: here.
48514 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48515 New macro.
48516 (GRUB_IEEE1275_MODULE_BASE): Removed.
48517
48518 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48519
48520 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48521 loop boundary.
48522
48523 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48524
48525 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48526 All users updated.
48527 (grub_elf64_load_hook_t): Likewise.
48528 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48529 debug output.
48530
48531 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48532
48533 * kern/mm.c: Update copyright.
48534 (grub_mm_debug): Correct syntax error.
48535 (grub_mm_dump_free): New function.
48536 (grub_debug_free): Call `grub_free'.
48537 * include/grub/mm.h: Update copyright.
48538 (grub_mm_dump_free): Add declaration.
48539
48540 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48541
48542 * include/grub/ieee1275/ieee1275.h: Update copyright.
48543 * kern/powerpc/ieee1275/init.c: Likewise.
48544 * kern/powerpc/ieee1275/openfw.c: Likewise.
48545
48546 * loader/powerpc/ieee1275/linux.c: Likewise.
48547 * include/grub/elfload.h: Likewise.
48548 * kern/elf.c: Likewise.
48549 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48550 callers.
48551 (grub_elf64_load): Likewise.
48552 (grub_elf32_load_segment): Move to a nested function.
48553 (grub_elf64_load_segment): Likewise.
48554
48555 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48556
48557 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48558 prototype.
48559 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48560 (grub_heap_len): Likewise.
48561 (HEAP_SIZE): New macro.
48562 (grub_claim_heap): New function.
48563 (grub_machine_init): Don't claim heap directly. Call
48564 `grub_claim_heap'.
48565 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48566 (grub_available_iterate): New function.
48567
48568 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48569
48570 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48571 * configure.ac: Use it for testing the HOST and TARGET compilers.
48572
48573 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48574
48575 * Makefile.in (enable_grub_emu): New variable.
48576 * configure.ac (--enable-grub-emu): New option.
48577 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48578 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48579 * conf/i386-pc.rmk: Likewise.
48580 * conf/powerpc-ieee1275.rmk: Likewise.
48581 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48582
48583 2006-12-12 Marco Gerards <marco@gnu.org>
48584
48585 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48586
48587 * kern/env.c (grub_env_unset): Don't free the member `value' when
48588 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48589 pointer.
48590
48591 * normal/main.c (current_menu): Removed.
48592 (free_menu): Unset the `menu' environment variable.
48593 (grub_normal_menu_addentry): Make use of the environment variable
48594 `menu', instead of using the global `current_menu'. Allocate
48595 memory for the sourcecode of this entry.
48596 (read_config_file): New argument `nested', changed all callers.
48597 Only in the case of a new context, initialize a new menu. Set the
48598 `menu' environment variable.
48599 (grub_normal_execute): Don't set and unset the environment
48600 variable `menu' here anymore. Only free the menu when leaving the
48601 context.
48602
48603 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48604 leak.
48605
48606 2006-12-11 Marco Gerards <marco@gnu.org>
48607
48608 * normal/menu_entry.c (run): Fix off by one bug so the last line
48609 is executed. Move the loader check to outside the loop.
48610
48611 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48612
48613 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48614
48615 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48616
48617 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48618 the number of sectors. Reported by Andrey Shuvikov
48619 <mr_hyro@yahoo.com>.
48620
48621 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48622
48623 * kern/disk.c (grub_disk_read): When there is a read error, always
48624 try to read only the necessary data.
48625
48626 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48627 disk/raid.c.
48628 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48629 prototype.
48630 [GRUB_UTIL] (grub_raid_fini): Likewise.
48631 [GRUB_UTIL] (grub_lvm_init): Likewise.
48632 [GRUB_UTIL] (grub_lvm_fini): Likewise.
48633 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48634 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48635 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48636 and grub_raid_fini().
48637
48638 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48639
48640 * include/grub/types.h (__unused): Rename to UNUSED.
48641 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48642 (grub_elf64_size): Likewise.
48643
48644 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48645
48646 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48647 grub_error_push and grub_error_pop in the error-handling path.
48648 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48649 length.
48650
48651 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48652
48653 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48654 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48656 (kernel_elf_SOURCES): Likewise.
48657 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48658 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48659 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48660 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48661 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48662 (elf_mod_SOURCES): New variable.
48663 (elf_mod_CFLAGS): Likewise.
48664 (elf_mod_LDFLAGS): Likewise.
48665 * include/grub/types.h (__unused): New macro.
48666 * include/grub/elfload.h: New file.
48667 * kern/elf.c: Likewise.
48668 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48669 (ELF32_LOADMASK): New macro.
48670 (ELF64_LOADMASK): Likewise.
48671 (vmlinux): Removed.
48672 (grub_linux_load32): New function.
48673 (grub_linux_load64): Likewise.
48674 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48675 Use grub_elf_t instead of grub_file_t.
48676
48677 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48678
48679 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48680 `catch_result' to struct set_color_args.
48681
48682 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48683
48684 * normal/menu.c: Include grub/script.h.
48685 * normal/menu_entry.c: Likewise.
48686 * include/grub/normal.h: Do not include grub/script.h.
48687
48688 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48689
48690 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48691
48692 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48693
48694 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48695 disk.
48696 (grub_disk_close): Print debug messages when closing a disk.
48697 (grub_disk_read): Print debug messages when disk read fails.
48698 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48699 filesystem type.
48700 * kern/partition.c: Include misc.h.
48701 (grub_partition_iterate): Print debug messages when detecting
48702 partition type.
48703
48704 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48705
48706 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48707 is negative.
48708 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48709
48710 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48711
48712 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48713 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48714
48715 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48716
48717 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48718 instead of sizeof(lv). Patch by Michael Guntsche.
48719
48720 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48721
48722 * disk/lvm.c: Rename VGS to VG_LIST.
48723 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48724 (grub_lvm_open): Likewise.
48725 Thanks to Michael Guntsche for finding this bug.
48726
48727 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48728
48729 * configure.ac (AC_INIT): Bumped to 1.95.
48730
48731 2006-10-14 Robert Millan <rmh@aybabtu.com>
48732
48733 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48734 with "/dev/.static/dev/md".
48735
48736 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48737
48738 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48739 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48740 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48741 DRIVE_NAME are always freed.
48742
48743 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48744 DOS_PART, as a DOS partition is counted from one instead of zero
48745 now. Reported by Robert Millan.
48746
48747 2006-10-14 Robert Millan <rmh@aybabtu.com>
48748
48749 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48750 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48751 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48752 string returned by grub_guess_root_device.
48753 * util/i386/pc/grub-setup.c: Likewise.
48754 * util/i386/pc/grub-probefs.c: Likewise.
48755
48756 * util/i386/pc/grub-probefs.c: Rename to ...
48757 * util/i386/pc/grub-probe.c: ... this.
48758 * DISTLIST: Remove grub-probefs, add grub-probe.
48759 * conf/i386-efi.rmk: Likewise.
48760 * conf/i386-pc.rmk: Likewise.
48761 * util/i386/pc/grub-install.in: Likewise.
48762
48763 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48764 choose which information we want to print.
48765
48766 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48767
48768 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48769 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48770 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48771 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48772 video/readers/tga.c and video/i386/pc/vbeutil.c.
48773
48774 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48775
48776 Added support for RAID and LVM.
48777
48778 * disk/lvm.c: New file.
48779 * disk/raid.c: Likewise.
48780 * include/grub/lvm.h: Likewise.
48781 * include/grub/raid.h: Likewise.
48782 * include/grub/util/lvm.h: Likewise.
48783 * include/grub/util/raid.h: Likewise.
48784 * util/lvm.c: Likewise.
48785 * util/raid.c: Likewise.
48786
48787 * include/grub/disk.h (grub_disk_dev_id): Add
48788 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48789 (grub_disk_get_size): New prototype.
48790 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48791 returns a partition.
48792 (grub_disk_get_size): New function.
48793
48794 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48795 verbatim if grub_install_dos_part is -2.
48796
48797 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48798 and LVM devices.
48799
48800 * util/i386/pc/grub-setup.c (setup): New argument
48801 MUST_EMBED. Force embedding of GRUB when the argument is
48802 true. Close FILE before returning.
48803 (main): Add support for RAID and LVM.
48804
48805 * conf/common.rmk: Add RAID and LVM modules.
48806 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48807 util/lvm.c.
48808 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48809
48810 * kern/misc.c (grub_strstr): New function.
48811 * include/grub/misc.h (grub_strstr): New prototype.
48812
48813 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48814
48815 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48816
48817 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48818
48819 * kern/misc.c (grub_strtoull): Guess the base only if not
48820 specified.
48821
48822 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48823
48824 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48825 PowerMac support.
48826
48827 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48828
48829 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48830
48831 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48832 Remove `flags' argument. All callers changed.
48833 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48834 (IEEE1275_IHANDLE_INVALID): New variable.
48835 (IEEE1275_CELL_INVALID): New variable.
48836 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48837 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48838 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48839 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48840 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48841 codes from Open Firmware. All callers updated.
48842 (grub_ieee1275_next_property): Directly return Open Firmware return
48843 code.
48844 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48845 Standardize error checking from `grub_ieee1275_get_property'.
48846 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48847 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48848
48849 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48850
48851 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48852 `instance_to_package_args' to `instance_to_path_args'.
48853
48854 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48855 `grub_ieee1275_chosen'.
48856
48857 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48858 `grub_ieee1275_interpret'.
48859
48860 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48861
48862 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48863
48864 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48865
48866 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48867 (__cmpdi): Likewise.
48868
48869 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48870 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48871 `grub_ssize_t'.
48872
48873 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
48874
48875 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48876 to type `grub_ssize_t'.
48877 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48878
48879 2006-09-22 Marco Gerards <marco@gnu.org>
48880
48881 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48882 newlines.
48883
48884 2006-09-22 Marco Gerards <marco@gnu.org>
48885
48886 * commands/echo.c: New file.
48887
48888 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48889
48890 * conf/common.rmk (echo_mod_SOURCES): New variable.
48891 (echo_mod_CFLAGS): Likewise.
48892 (echo_mod_LDFLAGS): Likewise.
48893
48894 2006-09-22 Marco Gerards <marco@gnu.org>
48895
48896 * normal/main.c (get_line): Malloc memory instead of using
48897 preallocated memory. Removed the arguments `cmdline' and
48898 `max_len'. Updated all callers.
48899
48900 2006-09-22 Marco Gerards <marco@gnu.org>
48901
48902 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48903 (normal_mod_DEPENDENCIES): Likewise.
48904
48905 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48906 (normal_mod_DEPENDENCIES): Likewise.
48907
48908 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48909
48910 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
48911
48912 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48913 programs.
48914 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48915 (normal_mod_DEPENDENCIES): Likewise.
48916 * conf/i386-pc.mk: Regenerate.
48917 * conf/i386-efi.mk: Likewise
48918 * conf/common.mk: Likewise.
48919 * conf/powerpc-ieee1275.mk: Likewise.
48920 * conf/sparc64-ieee1275.mk: Likewise.
48921
48922 2006-09-22 Robert Millan <rmh@aybabtu.com>
48923
48924 Sync with i386 version.
48925 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48926 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48927
48928 2006-09-21 Robert Millan <rmh@aybabtu.com>
48929
48930 Import from GRUB Legacy (lib/device.c):
48931 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48932 (init_device_map) [__linux__]: Add support for I2O devices.
48933
48934 2006-09-14 Marco Gerards <marco@gnu.org>
48935
48936 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48937 `-melf_i386'.
48938
48939 2006-09-14 Robert Millan <rmh@aybabtu.com>
48940
48941 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48942 /boot/grub/*.lst.
48943
48944 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
48945
48946 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48947 before adding it to device.map.
48948
48949 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
48950
48951 * genmk.rb: Let GCC generate dependencies the first time it
48952 compiles a file; using the -MD option.
48953 * conf/common.mk: Regenerate.
48954 * conf/i386-pc.mk: Likewise.
48955 * conf/i386-efi.mk: Likewise.
48956 * conf/powerpc-ieee1275.mk: Likewise.
48957 * conf/sparc64-ieee1275.mk: Likewise.
48958
48959 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48960
48961 Move the prototypes of grub_setjmp and grub_longjmp to
48962 cpu/setjmp.h, so that each architecture may specify different
48963 attributes.
48964
48965 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48966 (grub_longjmp): Likewise.
48967 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48968 (grub_longjmp): Likewise.
48969 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48970 (grub_longjmp): Likewise.
48971
48972 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48973 [!GRUB_UTIL] (grub_longjmp): Removed.
48974
48975 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48976
48977 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48978 "color!" method does not return any value.
48979
48980 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48981
48982 * include/grub/bitmap.h: New file.
48983
48984 * include/grub/i386/pc/vbeutil.h: Likewise.
48985
48986 * video/bitmap.c: Likewise.
48987
48988 * video/readers/tga.c: Likewise.
48989
48990 * video/i386/pc/vbeutil.c: Likewise.
48991
48992 * commands/videotest.c: Code cleanup and updated to reflect to new
48993 video API.
48994
48995 * term/gfxterm.c: Likewise.
48996
48997 * video/video.c: Likewise.
48998
48999 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
49000 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
49001 (bitmap_mod_SOURCES): New entry.
49002 (bitmap_mod_CFLAGS): Likewise.
49003 (bitmap_mod_LDFLAGS): Likewise.
49004 (tga_mod_SOURCES): Likewise.
49005 (tga_mod_CFLAGS): Likewise.
49006 (tga_mod_LDFLAGS): Likewise.
49007
49008 * include/grub/video.h (grub_video_blit_operators): New enum type.
49009 (grub_video_render_target): Changed as forward declaration and moved
49010 actual definition to be video driver specific.
49011 (grub_video_adapter.blit_bitmap): Added blitting operator.
49012 (grub_video_adapter.blit_render_target): Likewise.
49013 (grub_video_blit_bitmap): Likewise.
49014 (grub_video_blit_render_target): Likewise.
49015
49016 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
49017 driver specific render target definition.
49018 (grub_video_vbe_map_rgba): Added driver internal helper.
49019 (grub_video_vbe_unmap_color): Updated to use
49020 grub_video_i386_vbeblit_info.
49021 (grub_video_vbe_get_video_ptr): Likewise.
49022
49023 * include/grub/i386/pc/vbeblit.h
49024 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
49025 grub_video_i386_vbeblit_info.
49026 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
49027 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
49028 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
49029 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
49030 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
49031 (grub_video_i386_vbeblit_index_index): Likewise.
49032 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
49033 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
49034 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
49035 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
49036 operator.
49037 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
49038 operator.
49039
49040 * video/i386/pc/vbeblit.c: Updated to reflect changes on
49041 include/grub/i386/pc/vbeblit.h.
49042
49043 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
49044 Updated to use grub_video_i386_vbeblit_info.
49045 (grub_video_i386_vbefill_R8G8B8): Likewise.
49046 (grub_video_i386_vbefill_index): Likewise.
49047 (grub_video_i386_vbefill): Added generic filler.
49048
49049 * video/i386/pc/vbefill.c: Updated to reflect changes on
49050 include/grub/i386/pc/vbefill.h.
49051
49052 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
49053 grub_video_i386_vbeblit_info.
49054 (grub_video_vbe_unmap_color): Likewise.
49055 (grub_video_vbe_blit_glyph): Likewise.
49056 (grub_video_vbe_scroll): Likewise.
49057 (grub_video_vbe_draw_pixel): Removed function.
49058 (grub_video_vbe_get_pixel): Likewise.
49059 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
49060 updated code to use it.
49061 (common_blitter): Added common blitter for render target and bitmap.
49062 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
49063 (grub_video_vbe_blit_render_target): Likewise.
49064
49065 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
49066
49067 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
49068 is in text mode if there is no console control protocol instance
49069 available.
49070
49071 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49072
49073 * include/grub/video.h: Code cleanup.
49074
49075 * include/grub/i386/pc/vbe.h: Likewise.
49076
49077 * video/i386/pc/vbe.c: Likewise.
49078
49079 * video/i386/pc/vbeblit.c: Likewise.
49080
49081 * video/i386/pc/vbefill.c: Likewise.
49082
49083 * video/video.c: Likewise. Also added more comments.
49084
49085 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49086
49087 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
49088 (struct grub_biosdisk_dap): Likewise.
49089
49090 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
49091 linkage settings for all functions.
49092
49093 2006-07-12 Marco Gerards <marco@gnu.org>
49094
49095 * configure.ac (--enable-mm-debug): Fix typo.
49096
49097 * genkernsyms.sh.in: Use proper quoting for `CC'.
49098
49099 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
49100
49101 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
49102 (normal_mod_ASFLAGS): Remove "-m32".
49103
49104 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49105
49106 * util/misc.c: Include config.h.
49107 [!HAVE_MEMALIGN]: Do not include malloc.h.
49108 (grub_memalign): Use posix_memalign, if present. Then, use
49109 memalign, if present. Otherwise, emit an error.
49110
49111 * util/grub-emu.c: Do not include malloc.h.
49112
49113 * include/grub/util/misc.h: Include unistd.h. This is required for
49114 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49115 D. Eades III <hde@foobar-qux.org>.
49116
49117 * configure.ac (AC_GNU_SOURCE): Added.
49118 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49119 type.
49120
49121 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49122
49123 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49124 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49125
49126 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49127
49128 * include/grub/types.h (grub_host_addr_t): Rename to
49129 grub_target_addr_t.
49130 (grub_host_off_t): Rename to grub_target_off_t.
49131 (grub_host_size_t): Rename to grub_target_size_t.
49132 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49133 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49134
49135 * include/grub/kernel.h (struct grub_module_header): Change type
49136 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49137 (grub_module_info): Likewise.
49138
49139 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49140
49141 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49142 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49143 Velazquez <jesus.velazquez@gmail.com>.
49144
49145 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49146
49147 Count partitions from 1 instead of 0 in the string representation
49148 of partitions. Still use 0-based internally.
49149
49150 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49151 (sun_partition_map_iterate): Use grub_partition_t instead of
49152 struct grub_partition *. Cast DESC->START_CYLINDER to
49153 grub_uint64_t after converting the endian.
49154 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49155 (sun_partition_map_get_name): Add 1 to P->INDEX.
49156
49157 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49158 PCDATA->DOS_PART.
49159 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49160
49161 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49162 zero instead of one.
49163 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49164 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49165
49166 * partmap/apple.c (apple_partition_map_iterate): Change the type
49167 of POS to unsigned.
49168 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49169 (apple_partition_map_get_name): Add 1 into P->INDEX.
49170
49171 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49172 of POS to unsigned.
49173 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49174 calculate the offset of a partition.
49175 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49176 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49177
49178 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49179 SECTOR to grub_disk_addr_t.
49180 (acorn_partition_map_iterate): Likewise.
49181 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49182 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49183 top.
49184 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49185
49186 * kern/i386/pc/init.c (make_install_device): Add 1 into
49187 GRUB_INSTALL_DOS_PART.
49188
49189 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49190 conditional.
49191
49192 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49193
49194 Clean up the code to support 64-bit addressing in disks and
49195 files. This change is not enough for filesystems yet.
49196
49197 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49198 type of "start" to grub_uint64_t.
49199 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49200 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49201 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49202 convert addresses.
49203
49204 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49205 to grub_disk_addr_t.
49206
49207 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49208 string.
49209
49210 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49211
49212 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49213 to char *.
49214
49215 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49216
49217 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49218
49219 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49220
49221 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49222 to grub_off_t, to detect an error from grub_file_seek.
49223 (grub_multiboot_load_elf32): Likewise.
49224
49225 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49226 maximum unsigned long value when an overflow is detected.
49227 (grub_strtoull): New function.
49228 (grub_divmod64): Likewise.
49229 (grub_lltoa): use grub_divmod64.
49230
49231 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49232 grub_disk_addr_t.
49233 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49234 the pointer to next character. Use grub_strtoull instead of
49235 grub_strtoul.
49236 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49237 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49238 respectively.
49239
49240 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
49241 return value is signed.
49242 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49243 test if OFFSET is less than zero, as OFFSET is unsigned now.
49244
49245 * kern/disk.c (struct grub_disk_cache): Change the type of
49246 "sector" to grub_disk_addr_t.
49247 (grub_disk_cache_get_index): Change the type of SECTOR to
49248 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49249 unsigned after shifting.
49250 (grub_disk_cache_invalidate): Change the type of SECTOR to
49251 grub_disk_addr_t.
49252 (grub_disk_cache_unlock): Likewise.
49253 (grub_disk_cache_store): Likewise.
49254 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49255 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49256 grub_disk_addr_t and grub_uint64_t, respectively.
49257 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49258 body, as the value of OFFSET is tweaked by
49259 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49260 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49261 respectively.
49262 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49263 body, as the value of OFFSET is tweaked by
49264 grub_disk_check_range. Change the types of LEN and N to
49265 grub_size_t.
49266
49267 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49268 and "saved_offset" to grub_off_t.
49269 (test_header): Cast BUF to char *.
49270 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49271 to char *.
49272 (grub_gzio_read): Change the types of OFFSET and SIZE to
49273 grub_off_t and grub_size_t, respectively.
49274
49275 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49276 Removed.
49277 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49278 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49279 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49280 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49281 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49282
49283 * include/grub/types.h (grub_off_t): Unconditionally set to
49284 grub_uint64_t.
49285 (grub_disk_addr_t): Changed to grub_uint64_t.
49286
49287 * include/grub/partition.h (struct grub_partition): Change the
49288 types of "start", "len" and "offset" to grub_disk_addr_t,
49289 grub_uint64_t and grub_disk_addr_t, respectively.
49290 (grub_partition_get_start): Return grub_disk_addr_t.
49291 (grub_partition_get_len): Return grub_uint64_t.
49292
49293 * include/grub/misc.h (grub_strtoull): New prototype.
49294 (grub_divmod64): Likewise.
49295
49296 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49297 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49298 grub_off_t, respectively.
49299 All callers and references changed.
49300
49301 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49302 grub_size_t in "read".
49303 All callers and references changed.
49304
49305 * include/grub/file.h (struct grub_file): Change the types of
49306 "offset" and "size" to grub_off_t and grub_off_t,
49307 respectively. Change the type of SECTOR to grub_disk_addr_t in
49308 "read_hook".
49309 (grub_file_read): Change the type of LEN to grub_size_t.
49310 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49311 grub_off_t.
49312 (grub_file_size): Return grub_off_t.
49313 (grub_file_tell): Likewise.
49314 All callers and references changed.
49315
49316 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49317 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49318 "write".
49319 (struct grub_disk): Change the type of "total_sectors" to
49320 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
49321 "read_hook".
49322 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49323 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49324 (grub_disk_write): Likewise.
49325 All callers and references changed.
49326
49327 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49328 char * for grub_strncmp to silence gcc.
49329 (grub_iso9660_mount): Likewise.
49330 (grub_iso9660_mount): Likewise.
49331 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49332 return statement.
49333 (grub_iso9660_iterate_dir): Likewise.
49334 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49335
49336 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49337 LEN to grub_disk_addr_t and grub_size_t, respectively.
49338
49339 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49340
49341 * fs/jfs.c (grub_jfs_read_file): Likewise.
49342
49343 * fs/minix.c (grub_jfs_read_file): Likewise.
49344
49345 * fs/sfs.c (grub_jfs_read_file): Likewise.
49346
49347 * fs/ufs.c (grub_jfs_read_file): Likewise.
49348
49349 * fs/xfs.c (grub_jfs_read_file): Likewise.
49350
49351 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49352 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49353 respectively.
49354
49355 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49356 BLKNR to -1 instead of returning GRUB_ERRNO.
49357 (grub_ext2_read_file): Change the types of SECTOR and
49358 LEN to grub_disk_addr_t and grub_size_t, respectively.
49359
49360 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49361 LEN to grub_disk_addr_t and grub_size_t, respectively.
49362
49363 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49364 grub_file_read.
49365
49366 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49367 string. Do not cast SECTOR explicitly.
49368
49369 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49370 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49371 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49372 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49373 over 2TB and LBA mode is not supported, raise an error.
49374 (get_safe_sectors): New function.
49375 (grub_biosdisk_read): Use get_safe_sectors.
49376 (grub_biosdisk_write): Likewise.
49377
49378 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49379 (grub_efidisk_write): Likewise.
49380
49381 * disk/loopback.c (delete_loopback): Cosmetic changes.
49382 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49383 correctly.
49384 (grub_loopback_open): Likewise.
49385 (grub_loopback_read): Likewise. Also, change the type of POS to
49386 grub_off_t, and fix the usage of grub_memset.
49387
49388 * commands/i386/pc/play.c: Include grub/machine/time.h.
49389
49390 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49391 print FILE->SIZE.
49392
49393 * commands/configfile.c: Include grub/env.h.
49394
49395 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49396 GRUB_ERRNO directly instead. Change the type of POS to
49397 grub_off_t. Follow the coding standard.
49398
49399 * commands/blocklist.c: Include grub/partition.h.
49400 (grub_cmd_blocklist): Return an error if the underlying device is
49401 not a disk. Take the starting sector of a partition into account,
49402 if a partition is used.
49403
49404 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49405 a length field.
49406 (lba_mode): Support 64-bit addresses.
49407 (chs_mode): Likewise.
49408 (copy_buffer): Adapted to the new offsets of a length field and a
49409 segment field.
49410 (blocklist_default_start): Allocate 64-bit space.
49411
49412 * boot/i386/pc/boot.S (force_lba): Removed.
49413 (boot_drive): Moved to under KERNEL_SECTOR.
49414 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
49415 space.
49416 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49417 is useless.
49418 (lba_mode): Refactored to support a 64-bit address. More size
49419 optimization.
49420 (setup_sectors): Likewise.
49421
49422 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49423
49424 * DISTLIST: Added include/grub/i386/linux.h. Removed
49425 include/grub/i386/pc/linux.h
49426
49427 * configure.ac (AC_INIT): Bumped to 1.94.
49428
49429 * config.guess: Updated from gnulib.
49430 * config.sub: Likewise.
49431 * install-sh: Likewise.
49432 * mkinstalldirs: Likewise.
49433
49434 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49435
49436 * conf/common.rmk (grub_modules_init.lst): Depended on
49437 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49438 MODSRCFILES.
49439
49440 * genmk.rb (PModule::rule): Reverted the previous change.
49441
49442 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49443
49444 * conf/common.rmk (grub_modules_init.lst): Depends on
49445 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49446 that the target does not exist before producing.
49447 (grub_modules_init.h): Remove the target before generating.
49448 (grub_emu_init.c): Likewise.
49449
49450 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49451
49452 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49453
49454 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49455 for the target-specific tests. Make sure that we also have the
49456 up-to-date target variables for those tests.
49457
49458 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49459
49460 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49461 (PModule::rule): Likewise.
49462
49463 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49464
49465 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49466 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49467 target-specific flags should be prefixed.
49468 (PModule::rule): Likewise.
49469
49470 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49471
49472 * configure.ac (CMP): Check if cmp is available explicitly.
49473
49474 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49475
49476 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49477 (target_cpu): New variable.
49478 (pkglibdir): Use target_cpu instead of host_cpu.
49479
49480 * util/i386/pc/grub-install.in (host_cpu): Removed.
49481 (target_cpu): New variable.
49482 (pkglibdir): Use target_cpu instead of host_cpu.
49483
49484 * util/genmoddep.c: Removed.
49485
49486 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49487 instead of GRUB_HOST_SIZEOF_VOID_P.
49488 * kern/dl.c: Likewise.
49489
49490 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49491 ...
49492 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49493 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49494 (GRUB_TARGET_SIZEOF_LONG): ... this.
49495 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49496 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49497 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49498 to ...
49499 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49500 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49501 (GRUB_TARGET_SIZEOF_LONG): ... this.
49502 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49503 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49504 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49505 to ...
49506 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49507 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49508 (GRUB_TARGET_SIZEOF_LONG): ... this.
49509 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49510 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49511
49512 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49513 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49514 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49515 instead of GRUB_HOST_SIZEOF_LONG.
49516 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49517 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49518 GRUB_CPU_WORDS_BIGENDIAN.
49519 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49520 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49521 grub_host_ssize_t.
49522
49523 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49524 (genmoddep_SOURCES): Likewise.
49525 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49526 (genmoddep_SOURCES): Likewise.
49527 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49528 (genmoddep_SOURCES): Likewise.
49529 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49530 Likewise.
49531 (genmoddep_SOURCES): Likewise.
49532
49533 * genmoddep.awk: New file.
49534
49535 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49536 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49537 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49538 (PModule::rule): Likewise.
49539 (Program::rule): Likewise.
49540 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49541 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49542 respectively.
49543
49544 * configure.ac: Rewritten intensively to use host and target
49545 instead of build and host, respectively.
49546
49547 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49548 (host_cpu): Removed.
49549 (target_cpu): New variable.
49550 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49551 (BUILD_CC): Removed.
49552 (BUILD_CFLAGS): Likewise.
49553 (BUILD_CPPFLAGS): Likewise.
49554 (TARGET_CC): New variable.
49555 (TARGET_CFLAGS): Likewise.
49556 (TARGET_CPPFLAGS): Likewise.
49557 (TARGET_LDFLAGS): Likewise.
49558 (AWK): Likewise.
49559 (include): Use target_cpu instead of host_cpu.
49560 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
49561
49562 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49563
49564 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49565
49566 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49567 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49568 field 'false' to 'exec_on_false'.
49569 (grub_script_create_cmdif): Renamed argument names to reflect above
49570 changes.
49571
49572 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49573
49574 * normal/script.c (grub_script_create_cmdif): Likewise.
49575
49576 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49577
49578 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49579 top.
49580 (grub_hfsplus_btree_recptr): Likewise.
49581 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49582 FILEBLOCK both to pass a block number and store next block
49583 number.
49584 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49585 overflow file correctly. Specify errors appropriately, because
49586 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49587 grub_hfsplus_btree_recptr to get the pointer to a found key.
49588 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49589 is found.
49590
49591 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49592 linux.mod.
49593 (_linux_mod_SOURCES): New variable.
49594 (_linux_mod_CFLAGS): Likewise.
49595 (_linux_mod_LDFLAGS): Likewise.
49596 (linux_mod_SOURCES): Likewise.
49597 (linux_mod_CFLAGS): Likewise.
49598 (linux_mod_LDFLAGS): Likewise.
49599
49600 * DISTLIST: Added loader/i386/efi/linux.c,
49601 loader/i386/efi/linux_normal.c and
49602 include/grub/i386/efi/loader.h.
49603
49604 * loader/i386/efi/linux.c: New file.
49605 * loader/i386/efi/linux_normal.c: Likewise.
49606 * include/grub/i386/efi/loader.h: Likewise.
49607
49608 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49609
49610 * commands/blocklist.c: New file.
49611
49612 * DISTLIST: Added commands/blocklist.c.
49613
49614 * term/efi/console.c (grub_console_highlight_color): Use a lighter
49615 color for the background, and a darker color for the foreground.
49616 (grub_console_checkkey): Return READ_KEY.
49617 (grub_console_cls): Set the background to
49618 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49619
49620 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49621
49622 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49623 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49624
49625 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49626 prototype.
49627
49628 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49629 BG. The spec is wrong again.
49630
49631 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49632 prototype.
49633 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49634
49635 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49636 commands/blocklist.c.
49637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49638
49639 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49640 (blocklist_mod_SOURCES): New variable.
49641 (blocklist_mod_CFLAGS): Likewise.
49642 (blocklist_mod_LDFLAGS): Likewise.
49643
49644 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49645
49646 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49647 duplication.
49648 (lba_mode): Use %eax more intensively to reduce the code size.
49649
49650 2006-05-20 Marco Gerards <marco@gnu.org>
49651
49652 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49653
49654 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49655 for `menuentry'.
49656 (script): Accept leading newlines.
49657 (newlines): New rule to describe 0 or more newlines.
49658 (commands): Accept `command' with trailing newline. Fixed the
49659 order in which arguments were passed to `grub_script_add_cmd'.
49660 Accept commands separated by newlines.
49661 (function): Changed to accept newlines.
49662 (menuentry) Rewritten.
49663
49664 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49665 front of the list, instead of to the end.
49666
49667 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49668
49669 * util/i386/pc/grub-install.in (bindir): New variable.
49670 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49671 Shaver <lbgwjl@gmail.com>.
49672
49673 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49674
49675 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49676 grub/machine/linux.h
49677 * loader/i386/pc/linux.c: Likewise.
49678
49679 * include/grub/i386/pc/linux.h: Moved to ...
49680 * include/grub/i386/linux.h: ... here.
49681
49682 * include/grub/i386/linux.h (struct linux_kernel_params): New
49683 struct.
49684
49685 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49686
49687 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49688 checking.
49689 (grub_video_vbe_blit_glyph): Likewise.
49690 (grub_video_vbe_blit_bitmap): Likewise.
49691 (grub_video_vbe_blit_render_target): Likewise.
49692
49693 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49694
49695 * configure.ac (--with-platform): Properly quote the square
49696 brackets.
49697
49698 2006-05-08 Marco Gerards <marco@gnu.org>
49699
49700 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49701 this...
49702 (kernel_elf_HEADERS): ...to this. Updated all users.
49703 (grubof_symlist.c): Renamed from this...
49704 (kernel_elf_symlist.c): ...to this. Updated all users.
49705 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49706 (grubof_SOURCES): Renamed from this...
49707 (kernel_elf_SOURCES): ...to this.
49708 (grubof_HEADERS): Renamed from this...
49709 (kernel_elf_HEADERS): ...to this.
49710 (grubof_CFLAGS): Renamed from this...
49711 (kernel_elf_CFLAGS): ...to this.
49712 (grubof_ASFLAGS): Renamed from this...
49713 (kernel_elf_ASFLAGS): ...to this.
49714 (grubof_LDFLAGS): Renamed from this...
49715 (kernel_elf_LDFLAGS): ...to this.
49716
49717 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49718 this...
49719 (kernel_elf_HEADERS): ...to this. Updated all users.
49720 (grubof_symlist.c): Renamed from this...
49721 (kernel_elf_symlist.c): ...to this. Updated all users.
49722 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49723 (grubof_SOURCES): Renamed from this...
49724 (kernel_elf_SOURCES): ...to this.
49725 (grubof_HEADERS): Renamed from this...
49726 (kernel_elf_HEADERS): ...to this.
49727 (grubof_CFLAGS): Renamed from this...
49728 (kernel_elf_CFLAGS): ...to this.
49729 (grubof_ASFLAGS): Renamed from this...
49730 (kernel_elf_ASFLAGS): ...to this.
49731 (grubof_LDFLAGS): Renamed from this...
49732 (kernel_elf_LDFLAGS): ...to this.
49733
49734 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49735 `kernel.elf' instead of `grubof'.
49736
49737 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49738
49739 Add --with-platform to configure. Use pkglibdir instead of
49740 pkgdatadir. This is reported by Roger Leigh.
49741
49742 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49743 (host_vendor): Likewise.
49744 (host_os): Likewise.
49745 (pkgdatadir): Likewise.
49746 (platform): New variable.
49747 (pkglibdir): Likewise.
49748 Use PKGLIBDIR instead of PKGDATADIR.
49749
49750 * util/i386/pc/grub-install.in (datadir): Removed.
49751 (host_vendor): Likewise.
49752 (host_os): Likewise.
49753 (pkgdatadir): Likewise.
49754 (platform): New variable.
49755 (pkglibdir): Likewise.
49756 Use PKGLIBDIR instead of PKGDATADIR.
49757
49758 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49759 instead of GRUB_DATADIR.
49760 (main): Likewise.
49761 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49762 (main): Likewise.
49763 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49764 (main): Likewise.
49765
49766 * configure.ac (--with-platform): New option.
49767 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49768
49769 * Makefile.in: Include a makefile based on PLATFORM instead of
49770 HOST_VENDOR.
49771 (pkgdatadir): Not appended by the machine type.
49772 (pkglibdir): Appended by the machine type.
49773 (host_vendor): Removed.
49774 (platform): New variable.
49775 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49776 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49777 (uninstall): Likewise.
49778
49779 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49780
49781 Use the environment context in the menu. Remove the commands
49782 "default" and "timeout", and use variables instead.
49783
49784 * normal/menu.c: Include grub/env.h.
49785 (print_entry): Cast TITLE to silence gcc.
49786 (get_timeout): New function.
49787 (set_timeout): Likewise.
49788 (get_entry_number): Likewise.
49789 (run_menu): Use a default entry, a fallback entry and a timeout
49790 in the environment variables "default", "fallback" and
49791 "timeout". Also, tweak the default entry if it is not within the
49792 current menu entries.
49793 (grub_menu_run): Use a fallback entry in the environment variable
49794 "fallback".
49795
49796 * normal/main.c (read_config_file): Do not initialize
49797 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49798 NEWMENU->TIMEOUT.
49799 (grub_normal_execute): Use a data slot to store the menu.
49800
49801 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49802 fallback_entry and timeout.
49803 (struct grub_menu_list): Removed.
49804 (grub_menu_list_t): Likewise.
49805 (struct grub_context): Likewise.
49806 (grub_context_t): Likewise.
49807 (grub_context_get): Likewise.
49808 (grub_context_get_current_menu): Likewise.
49809 (grub_context_push_menu): Likewise.
49810 (grub_context_pop_menu): Likewise.
49811 (grub_default_init): Likewise.
49812 (grub_default_fini): Likewise.
49813 (grub_timeout_init): Likewise.
49814 (grub_timeout_fini): Likewise.
49815
49816 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49817 and timeout.mod.
49818 (normal_mod_SOURCES): Removed normal/context.c.
49819
49820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49821 commands/default.c, commands/timeout.c and normal/context.c.
49822 (normal_mod_SOURCES): Removed normal/context.c.
49823
49824 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49825 commands/timeout.c and normal/context.c.
49826 (normal_mod_SOURCES): Removed normal/context.c.
49827
49828 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49829 commands/default.c, commands/timeout.c and normal/context.c.
49830 (normal_mod_SOURCES): Removed normal/context.c.
49831
49832 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49833 timeout.mod.
49834 (default_mod_SOURCES): Removed.
49835 (default_mod_CFLAGS): Likewise.
49836 (default_mod_LDFLAGS): Likewise.
49837 (timeout_mod_SOURCES): Removed.
49838 (timeout_mod_CFLAGS): Likewise.
49839 (timeout_mod_LDFLAGS): Likewise.
49840
49841 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49842 normal/context.c.
49843
49844 * commands/default.c: Removed.
49845 * commands/timeout.c: Likewise.
49846 * normal/context.c: Likewise.
49847
49848 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49849
49850 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49851
49852 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49853
49854 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49855 "next" to "prev" for readability.
49856 (struct grub_env_sorted_var): New struct.
49857 (grub_env_context): Renamed to ...
49858 (initial_context): ... this.
49859 (grub_env_var_context): Renamed to ...
49860 (current_context): ... this.
49861 (grub_env_find): Look only at CURRENT_CONTEXT.
49862 (grub_env_context_open): Rewritten to copy exported variables from
49863 previous context.
49864 (grub_env_context_close): Rewritten according to the new
49865 scheme. Also, add an assertion to prevent the initial context from
49866 removed.
49867 (grub_env_insert): Removed the code for the sorted list.
49868 (grub_env_remove): Likewise.
49869 (grub_env_export): Simply mark the variable with
49870 GRUB_ENV_VAR_GLOBAL.
49871 (grub_env_set): A cosmetic change for naming consistency.
49872 (grub_env_get): Likewise.
49873 (grub_env_unset): Likewise.
49874 (grub_env_iterate): Rewritten to sort variables within this
49875 function.
49876 (grub_register_variable_hook): Fixed for naming consistency. Call
49877 grub_env_find again, only if NAME is not found at the first time.
49878 (mangle_data_slot_name): New function.
49879 (grub_env_set_data_slot): Likewise.
49880 (grub_env_get_data_slot): Likewise.
49881 (grub_env_unset_data_slot): Likewise.
49882
49883 * include/grub/env.h (grub_env_var_type): New enum.
49884 (GRUB_ENV_VAR_LOCAL): New constant.
49885 (GRUB_ENV_VAR_GLOBAL): Likewise.
49886 (GRUB_ENV_VAR_DATA): Likewise.
49887 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49888 "type".
49889 (grub_env_set): Replace VAR with NAME for consistency.
49890 (grub_register_variable_hook): Likewise.
49891 (grub_env_export): Specify the name of the argument.
49892 (grub_env_set_data_slot): New prototype.
49893 (grub_env_get_data_slot): Likewise.
49894 (grub_env_unset_data_slot): Likewise.
49895
49896 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49897
49898 Extend the loader so that GRUB can accept a loader which comes
49899 back to GRUB when a loaded image exits. Also, this change adds
49900 support for a chainloader on EFI.
49901
49902 * term/efi/console.c: Include grub/misc.h.
49903 (grub_console_checkkey): Display a scan code on the top for
49904 debugging. This will be removed once the EFI port gets stable.
49905 Correct the scan code mapping.
49906
49907 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49908 allocate memory from larger regions, in order to reduce the number
49909 of allocated regions. Otherwise, the MacOSX loader panics.
49910 (filter_memory_map): Avoid less than 1MB for compatibility with
49911 other loaders.
49912 (add_memory_regions): Allocate from the tail of a region, if
49913 possible, to avoid allocating a region near to 1MB, for the MacOSX
49914 loader.
49915
49916 * kern/efi/init.c (grub_efi_set_prefix): Specify
49917 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49918
49919 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49920 argument IMAGE_HANDLE and specify it to get a loaded image.
49921 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49922 grub_efi_get_loaded_image.
49923 (grub_efi_get_filename): Divide the length by the size of
49924 grub_efi_char16_t.
49925 (grub_efi_get_device_path): New function.
49926 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49927 the length by the size of grub_efi_char16_t for a file path device
49928 path node.
49929
49930 * kern/loader.c (grub_loader_noreturn): New variable.
49931 (grub_loader_set): Accept a new argument NORETURN. Set
49932 GRUB_LOADER_NORETURN to NORETURN.
49933 All callers changed.
49934 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49935 grub_machine_fini.
49936
49937 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49938 prototype.
49939 (grub_efi_get_loaded_image): Take an argument to specify an image
49940 handle.
49941
49942 * include/grub/loader.h (grub_loader_set): Added one more argument
49943 NORETURN.
49944
49945 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49946 instead of grub_efi_open_protocol.
49947 (grub_efidisk_get_device_name): Likewise.
49948 (grub_efidisk_close): Print a newline.
49949 (grub_efidisk_get_device_handle): Fixed to use
49950 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49951 GRUB_EFI_DEVICE_PATH_TYPE.
49952
49953 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49954 * kern/efi/efi.c (device_path_guid): ... here.
49955
49956 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49957 chain.mod.
49958 (kernel_mod_HEADERS): Added efi/disk.h.
49959 (_chain_mod_SOURCES): New variable.
49960 (_chain_mod_CFLAGS): Likewise.
49961 (_chain_mod_LDFLAGS): Likewise.
49962 (chain_mod_SOURCES): Likewise.
49963 (chain_mod_CFLAGS): Likewise.
49964 (chain_mod_LDFLAGS): Likewise.
49965
49966 * DISTLIST: Added include/grub/efi/chainloader.h,
49967 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49968
49969 * include/grub/efi/chainloader.h: New file.
49970 * loader/efi/chainloader.c: Likewise.
49971 * loader/efi/chainloader_normal.c: Likewise.
49972
49973 2006-04-30 Marco Gerards <marco@gnu.org>
49974
49975 * commands/configfile.c (grub_cmd_source): New function.
49976 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49977 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49978
49979 2006-04-30 Marco Gerards <marco@gnu.org>
49980
49981 * normal/execute.c (grub_script_execute_cmd): Change the return
49982 type to `grub_err_t'. Correctly return the error.
49983 (grub_script_execute_cmdline): In case a command line is not a
49984 command or a function, try to interpret it as an assignment.
49985
49986 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49987
49988 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49989 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49990 skip a node whose name is obviously invalid as UTF-16,
49991 i.e. contains a NUL character. Stop the iteration when the last
49992 directory entry is found. Instead of using the return value of
49993 grub_hfsplus_btree_iterate_node, store the value in RET and use
49994 it, because the iterator can be stopped by the last directory
49995 entry.
49996
49997 2006-04-30 Marco Gerards <marco@gnu.org>
49998
49999 * include/grub/env.h (grub_env_export): New prototype. Reported
50000 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
50001
50002 2006-04-30 Marco Gerards <marco@gnu.org>
50003
50004 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
50005 size of the extents in a catalog file record.
50006
50007 2006-04-29 Marco Gerards <marco@gnu.org>
50008
50009 * commands/configfile.c (grub_cmd_configfile): Execute the
50010 configfile within its own context.
50011
50012 * include/grub/env.h (grub_env_context_open): New prototype.
50013 (grub_env_context_close): Likewise.
50014
50015 * kern/env.c (grub_env): Removed.
50016 (grub_env_sorted): Likewise.
50017 (grub_env_context): New variable.
50018 (grub_env_var_context): Likewise.
50019 (grub_env_find): Search both the active context and the global
50020 context.
50021 (grub_env_context_open): New function.
50022 (grub_env_context_close): Likewise.
50023 (grub_env_insert): Likewise.
50024 (grub_env_remove): Likewise.
50025 (grub_env_export): Likewise.
50026 (grub_env_set): Changed to use helper functions to avoid code
50027 duplication.
50028 (grub_env_iterate): Rewritten so both the current context and the
50029 global context are being used.
50030
50031 * normal/command.c (export_command): New function.
50032 (grub_command_init): Register the `export' function.
50033
50034 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
50035
50036 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
50037 explicitly to suppress gcc's warnings.
50038 * fs/fat.c (grub_fat_find_dir): Likewise.
50039 (grub_fat_label): Likewise.
50040 * fs/xfs.c (grub_xfs_read_inode): Likewise.
50041 (grub_xfs_mount): Likewise.
50042 (grub_xfs_label): Likewise.
50043 * fs/affs.c (grub_affs_mount): Likewise.
50044 (grub_affs_label): Likewise.
50045 (grub_affs_iterate_dir): Likewise.
50046 * fs/sfs.c (grub_sfs_mount): Likewise.
50047 (grub_sfs_iterate_dir): Likewise.
50048 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
50049 * fs/hfs.c (grub_hfs_mount): Likewise.
50050 (grub_hfs_cmp_catkeys): Likewise.
50051 (grub_hfs_find_dir): Likewise.
50052 (grub_hfs_dir): Likewise.
50053 (grub_hfs_label): Likewise.
50054 * fs/jfs.c (grub_jfs_mount): Likewise.
50055 (grub_jfs_opendir): Likewise.
50056 (grub_jfs_getent): Likewise.
50057 (grub_jfs_lookup_symlink): Likewise.
50058 (grub_jfs_label): Likewise.
50059 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
50060 (grub_hfsplus_iterate_dir): Likewise.
50061 (grub_hfsplus_btree_iterate_node): Made static.
50062
50063 * util/grub-emu.c (prefix): New variable.
50064 (grub_machine_set_prefix): New function.
50065 (main): Do not set the environment variable "prefix" here. Only
50066 set PREFIX, which is used later by grub_machine_set_prefix.
50067
50068 * include/grub/video.h: Do not include grub/symbol.h.
50069 (grub_video_register): Not exported. This symbol is not defined in
50070 the kernel.
50071 (grub_video_unregister): Likewise.
50072 (grub_video_iterate): Likewise.
50073 (grub_video_setup): Likewise.
50074 (grub_video_restore): Likewise.
50075 (grub_video_get_info): Likewise.
50076 (grub_video_get_blit_format): Likewise.
50077 (grub_video_set_palette): Likewise.
50078 (grub_video_get_palette): Likewise.
50079 (grub_video_set_viewport): Likewise.
50080 (grub_video_get_viewport): Likewise.
50081 (grub_video_map_color): Likewise.
50082 (grub_video_map_rgb): Likewise.
50083 (grub_video_map_rgba): Likewise.
50084 (grub_video_fill_rect): Likewise.
50085 (grub_video_blit_glyph): Likewise.
50086 (grub_video_blit_bitmap): Likewise.
50087 (grub_video_blit_render_target): Likewise.
50088 (grub_video_scroll): Likewise.
50089 (grub_video_swap_buffers): Likewise.
50090 (grub_video_create_render_target): Likewise.
50091 (grub_video_delete_render_target): Likewise.
50092 (grub_video_set_active_render_target): Likewise.
50093
50094 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
50095 Undefined.
50096 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
50097
50098 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
50099 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50100 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50101 instead of $(srcdir)/genkernsyms.sh.
50102
50103 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
50104 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50105 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50106 instead of $(srcdir)/genkernsyms.sh.
50107
50108 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50109 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50110 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50111 instead of $(srcdir)/genkernsyms.sh.
50112
50113 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50114 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50115 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50116 instead of $(srcdir)/genkernsyms.sh.
50117
50118 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50119 genkernsyms.sh.
50120
50121 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50122 genkernsyms.sh.
50123 (gensymlist.sh): New target.
50124 (genkernsyms.sh): Likewise.
50125
50126 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50127 genkernsyms.sh.in and gensymlist.sh.in.
50128
50129 * genkernsyms.sh: Removed.
50130 * gensymlist.sh: Likewise.
50131
50132 * genkernsyms.sh.in: New file.
50133 * gensymlist.sh.in: Likewise.
50134
50135 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50136
50137 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50138 clobber "prefix", since we may have already set it manually.
50139
50140 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50141
50142 * kern/misc.c (abort): New alias for grub_abort.
50143
50144 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50145
50146 A new machine-specific function "grub_machine_set_prefix" is
50147 defined. This is called after loading modules, so that a prefix
50148 initialization can use modules. Also, this change adds an
50149 intensive debugging feature for the memory manager via the
50150 configure option "--enable-mm-debug".
50151
50152 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50153 PART.LEN.
50154
50155 * kern/sparc64/ieee1275/init.c (abort): Removed.
50156 (grub_stop): Likewise.
50157 (grub_exit): New function.
50158 (grub_set_prefix): Renamed to ...
50159 (grub_machine_set_prefix): ... this.
50160 (grub_machine_init): Do not call grub_set_prefix.
50161
50162 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50163 (grub_machine_set_prefix): ... this.
50164 (grub_machine_init): Do not call grub_set_prefix.
50165
50166 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50167 (grub_machine_init): Do not set the prefix here.
50168
50169 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50170
50171 * kern/efi/init.c: Include grub/mm.h.
50172 (grub_efi_set_prefix): New function.
50173
50174 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50175 (grub_efi_get_filename): New function.
50176 (grub_print_device_path): Renamed to ...
50177 (grub_efi_print_device_path): ... this.
50178
50179 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50180 [MM_DEBUG] (grub_realloc): Likewise.
50181 [MM_DEBUG] (grub_free): Likewise.
50182 [MM_DEBUG] (grub_memalign): Likewise.
50183 [MM_DEBUG] (grub_mm_debug): New variable.
50184 [MM_DEBUG] (grub_debug_malloc): New function.
50185 [MM_DEBUG] (grub_debug_free): New function.
50186 [MM_DEBUG] (grub_debug_realloc): New function.
50187 [MM_DEBUG] (grub_debug_memalign): New function.
50188
50189 * kern/misc.c (grub_abort): Print a newline to distinguish
50190 the message.
50191
50192 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50193 grub_set_root_dev after loading modules. This is necessary when
50194 setting a prefix depends on modules.
50195
50196 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50197 (grub_efi_print_device_path): ... this.
50198 (grub_efi_get_filename): New prototype.
50199 (grub_efi_set_prefix): Likewise.
50200
50201 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50202 and grub/disk.h.
50203 (grub_efidisk_get_device_handle): New prototype.
50204 (grub_efidisk_get_device_name): Likewise.
50205
50206 * include/grub/mm.h: Include config.h.
50207 (MM_DEBUG): Removed.
50208 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50209 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50210 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50211 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50212 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50213 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50214 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50215 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50216 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50217
50218 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50219
50220 * disk/efi/efidisk.c: Include grub/partition.h.
50221 (iterate_child_devices): New function.
50222 (add_device): First, compare only last device path nodes, so that
50223 devices are sorted by the types.
50224 (grub_efidisk_get_device_handle): New function.
50225 (grub_efidisk_get_device_name): Likewise.
50226
50227 * configure.ac (--enable-mm-debug): New option to enable the
50228 memory manager debugging feature. This makes the binary much
50229 bigger, so is disabled by default.
50230
50231 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50232
50233 Use grub_abort instead of grub_stop, and grub_exit must be
50234 define in each architecture now. Also, this change adds support
50235 for EFI disks.
50236
50237 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50238 (grub_getkey): New function.
50239 (grub_term_get_current): Likewise.
50240
50241 * util/i386/pc/grub-setup.c: Include grub/term.h.
50242 (grub_getkey): New function.
50243 (grub_term_get_current): Likewise.
50244
50245 * util/misc.c (grub_stop): Renamed to ...
50246 (grub_exit): ... this.
50247
50248 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50249 (grub_exit): ... this.
50250 (grub_machine_init): Use grub_abort instead of abort.
50251 (grub_stop): Removed.
50252
50253 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50254 abort.
50255
50256 * kern/i386/pc/startup.S (grub_exit): New function.
50257 (cold_reboot): New label.
50258
50259 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50260 (grub_efi_init): Call grub_efidisk_init.
50261 (grub_efi_fini): Call grub_efidisk_fini.
50262
50263 * kern/efi/efi.c: Include grub/mm.h.
50264 (grub_efi_console_control_guid): Renamed to ...
50265 (console_control_guid): ... this.
50266 (grub_efi_loaded_image_guid): Renamed to ...
50267 (loaded_image_guid): ... this.
50268 (grub_efi_locate_handle): New function.
50269 (grub_efi_open_protocol): Likewise.
50270 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50271 GRUB_EFI_CONSOLE_CONTROL_GUID.
50272 (grub_efi_exit): Removed.
50273 (grub_stop): Likewise.
50274 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50275 (grub_exit): New function.
50276 (grub_print_device_path): Likewise.
50277
50278 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50279 (grub_enter_rescue_mode): Register "exit".
50280
50281 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50282 (grub_abort): New function.
50283
50284 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50285
50286 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50287
50288 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50289
50290 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50291 (grub_print_device_path): New prototype.
50292 (grub_efi_locate_handle): Likewise.
50293 (grub_efi_open_protocol): Likewise.
50294
50295 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50296 * disk/efi/efidisk.c: Likewise.
50297
50298 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50299
50300 * include/grub/efi/console_control.h
50301 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50302
50303 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50304 last 8 bytes as an array.
50305 (GRUB_EFI_DISK_IO_GUID): New macro.
50306 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50307 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50308 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50309 grub_uint8_t.
50310 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50311 (struct grub_efi_device_path): Rename the member "sub_type" to
50312 "subtype".
50313 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50314 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50315 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50316 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50317 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50318 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50319 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50320 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50321 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50322 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50323 (struct grub_efi_pci_device_path): New structure.
50324 (grub_efi_pci_device_path_t): New type.
50325 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50326 (struct grub_efi_pccard_device_path): New structure.
50327 (grub_efi_pccard_device_path_t): New type.
50328 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50329 (struct grub_efi_memory_mapped_device_path): New structure.
50330 (grub_efi_memory_mapped_device_path_t): New type.
50331 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50332 (struct grub_efi_vendor_device_path): New structure.
50333 (grub_efi_vendor_device_path_t): New type.
50334 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50335 (struct grub_efi_controller_device_path): New structure.
50336 (grub_efi_controller_device_path_t): New type.
50337 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50338 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50339 (struct grub_efi_acpi_device_path): New structure.
50340 (grub_efi_acpi_device_path_t): New type.
50341 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50342 (struct grub_efi_expanded_acpi_device_path): New structure.
50343 (grub_efi_expanded_acpi_device_path_t): New type.
50344 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50345 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50346 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50347 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50348 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50349 (struct grub_efi_atapi_device_path): New structure.
50350 (grub_efi_atapi_device_path_t): New type.
50351 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50352 (struct grub_efi_fibre_channel_device_path): New structure.
50353 (grub_efi_fibre_channel_device_path_t): New type.
50354 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50355 (struct grub_efi_1394_device_path): New structure.
50356 (grub_efi_1394_device_path_t): New type.
50357 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50358 (struct grub_efi_usb_device_path): New structure.
50359 (grub_efi_usb_device_path_t): New type.
50360 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50361 (struct grub_efi_usb_class_device_path): New structure.
50362 (grub_efi_usb_class_device_path_t): New type.
50363 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50364 (struct grub_efi_i2o_device_path): New structure.
50365 (grub_efi_i2o_device_path_t): New type.
50366 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50367 (struct grub_efi_mac_address_device_path): New structure.
50368 (grub_efi_mac_address_device_path_t): New type.
50369 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50370 (struct grub_efi_ipv4_device_path): New structure.
50371 (grub_efi_ipv4_device_path_t): New type.
50372 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50373 (struct grub_efi_ipv6_device_path): New structure.
50374 (grub_efi_ipv6_device_path_t): New type.
50375 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50376 (struct grub_efi_infiniband_device_path): New structure.
50377 (grub_efi_infiniband_device_path_t): New type.
50378 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50379 (struct grub_efi_uart_device_path): New structure.
50380 (grub_efi_uart_device_path_t): New type.
50381 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50382 (struct grub_efi_vendor_messaging_device_path): New structure.
50383 (grub_efi_vendor_messaging_device_path_t): New type.
50384 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50385 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50386 (struct grub_efi_hard_drive_device_path): New structure.
50387 (grub_efi_hard_drive_device_path_t): New type.
50388 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50389 (struct grub_efi_cdrom_device_path): New structure.
50390 (grub_efi_cdrom_device_path_t): New type.
50391 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50392 (struct grub_efi_vendor_media_device_path): New structure.
50393 (grub_efi_vendor_media_device_path_t): New type.
50394 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50395 (struct grub_efi_file_path_device_path): New structure.
50396 (grub_efi_file_path_device_path_t): New type.
50397 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50398 (struct grub_efi_protocol_device_path): New structure.
50399 (grub_efi_protocol_device_path_t): New type.
50400 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50401 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50402 (struct grub_efi_bios_device_path): New structure.
50403 (grub_efi_bios_device_path_t): New type.
50404 (struct grub_efi_disk_io): New structure.
50405 (grub_efi_disk_io_t): New type.
50406 (struct grub_efi_block_io_media): New structure.
50407 (grub_efi_block_io_media_t): New type.
50408 (struct grub_efi_block_io): New structure.
50409 (grub_efi_block_io_t): New type.
50410
50411 * include/grub/misc.h (grub_stop): Removed.
50412 (grub_exit): New prototype.
50413 (grub_abort): Likewise.
50414
50415 * include/grub/disk.h (enum grub_disk_dev_id): Added
50416 GRUB_DISK_DEVICE_EFIDISK_ID.
50417
50418 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50419 disk/efi/efidisk.c.
50420 (kernel_syms.lst): Remove the target if an error occurs.
50421
50422 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50423
50424 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50425 as it was simply too buggy.
50426
50427 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50428
50429 * kern/misc.c (grub_lltoa): New function.
50430 (grub_vsprintf): Added support for the long long suffix,
50431 i.e. "ll".
50432
50433 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50434
50435 * Makefile.in (LDFLAGS): Add variable.
50436 (LD): Remove variable.
50437 * configure.ac: Add -m32 to LDFLAGS.
50438 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50439 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50440 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50441 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50442 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50443 variables.
50444 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50445 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50446 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50447
50448 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50449
50450 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50451 length for unknown glyph.
50452
50453 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50454
50455 Add support for pre-loaded modules into the EFI port.
50456
50457 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50458 completely. Accept one more argument DIR. The caller has changed.
50459
50460 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50461
50462 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50463 (grub_efi_loaded_image_guid): New variable.
50464 (grub_efi_get_loaded_image): New function.
50465 (grub_arch_modules_addr): Likewise.
50466
50467 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50468 prototype.
50469
50470 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50471 (struct grub_efi_loaded_image): New structure.
50472 (grub_efi_loaded_image_t): New type.
50473
50474 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50475
50476 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50477 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50478 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50479
50480 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50481
50482 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50483
50484 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50485
50486 * DISTLIST: Added include/grub/efi/console.h,
50487 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50488 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50489
50490 * include/grub/efi/console.h: New file.
50491 * include/grub/efi/time.h: Likewise.
50492 * include/grub/i386/efi/kernel.h: Likewise.
50493 * kern/efi/init.c: Likewise.
50494 * kern/efi/mm.c: Likewise.
50495 * term/efi/console.c: Likewise.
50496
50497 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50498 (grub_stop): Removed.
50499 (grub_get_rtc): Likewise.
50500 (grub_machine_init): Simply call grub_efi_init.
50501 (grub_machine_fini): Call grub_efi_fini.
50502
50503 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50504 (grub_efi_output_string): Removed.
50505 (grub_efi_stall): New function.
50506 (grub_stop): Likewise.
50507 (grub_get_rtc): Likewise.
50508
50509 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50510 (grub_efi_stall): New prototype.
50511 (grub_efi_allocate_pages): Likewise.
50512 (grub_efi_free_pages): Likewise.
50513 (grub_efi_get_memory_map): Likewise.
50514 (grub_efi_mm_init): Likewise.
50515 (grub_efi_mm_fini): Likewise.
50516 (grub_efi_init): Likewise.
50517 (grub_efi_fini): Likewise.
50518
50519 * include/grub/i386/efi/time.h: Do not include
50520 grub/symbol.h. Include grub/efi/time.h.
50521 (GRUB_TICKS_PER_SECOND): Removed.
50522 (grub_get_rtc): Likewise.
50523
50524 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50525 Added padding. The EFI spec is buggy.
50526 (GRUB_EFI_BLACK): New macro.
50527 (GRUB_EFI_BLUE): Likewise.
50528 (GRUB_EFI_GREEN): Likewise.
50529 (GRUB_EFI_CYAN): Likewise.
50530 (GRUB_EFI_RED): Likewise.
50531 (GRUB_EFI_MAGENTA): Likewise.
50532 (GRUB_EFI_BROWN): Likewise.
50533 (GRUB_EFI_LIGHTGRAY): Likewise.
50534 (GRUB_EFI_BRIGHT): Likewise.
50535 (GRUB_EFI_DARKGRAY): Likewise.
50536 (GRUB_EFI_LIGHTBLUE): Likewise.
50537 (GRUB_EFI_LIGHTGREEN): Likewise.
50538 (GRUB_EFI_LIGHTCYAN): Likewise.
50539 (GRUB_EFI_LIGHTRED): Likewise.
50540 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50541 (GRUB_EFI_YELLOW): Likewise.
50542 (GRUB_EFI_WHITE): Likewise.
50543 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50544 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50545 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50546 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50547 (GRUB_EFI_BACKGROUND_RED): Likewise.
50548 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50549 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50550 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50551 (GRUB_EFI_TEXT_ATTR): Likewise.
50552
50553 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50554 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50555 (kernel_mod_HEADERS): Added efi/time.h.
50556
50557 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50558
50559 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50560 include/grub/efi/api.h, include/grub/efi/console_control.h,
50561 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50562 include/grub/i386/efi/time.h, kern/efi/efi.c,
50563 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50564 and util/i386/efi/grub-mkimage.c.
50565
50566 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50567
50568 * genmk.rb (PModule#rule): Do not export symbols if
50569 #{prefix}_EXPORTS is set to "no".
50570
50571 * conf/i386-efi.mk: New file.
50572 * conf/i386-efi.rmk: Likewise.
50573 * include/grub/efi/api.h: Likewise.
50574 * include/grub/efi/console_control.h: Likewise.
50575 * include/grub/efi/efi.h: Likewise.
50576 * include/grub/efi/pe32.h: Likewise.
50577 * include/grub/i386/efi/time.h: Likewise.
50578 * kern/efi/efi.c: Likewise.
50579 * kern/i386/efi/init.c: Likewise.
50580 * kern/i386/efi/startup.S: Likewise.
50581 * util/i386/efi/grub-mkimage.c: Likewise.
50582
50583 2006-04-17 Marco Gerards <marco@gnu.org>
50584
50585 * include/grub/script.h: Include <grub/parser.h> and
50586 "grub_script.tab.h".
50587 (struct grub_lexer_param): New struct.
50588 (struct grub_parser_param): Likewise.
50589 (grub_script_create_arglist): Pass the state in an argument.
50590 (grub_script_add_arglist): Likewise.
50591 (grub_script_create_cmdline): Likewise.
50592 (grub_script_create_cmdblock): Likewise.
50593 (grub_script_create_cmdif): Likewise.
50594 (grub_script_create_cmdmenu): Likewise.
50595 (grub_script_add_cmd): Likewise.
50596 (grub_script_arg_add): Likewise.
50597 (grub_script_lexer_ref): Likewise.
50598 (grub_script_lexer_deref): Likewise.
50599 (grub_script_lexer_record_start): Likewise.
50600 (grub_script_lexer_record_stop): Likewise.
50601 (grub_script_mem_record): Likewise.
50602 (grub_script_mem_record_stop): Likewise.
50603 (grub_script_malloc): Likewise.
50604 (grub_script_yylex): Likewise.
50605 (grub_script_yyparse): Likewise.
50606 (grub_script_yyerror): Likewise.
50607 (grub_script_yylex): Likewise.
50608 (grub_script_lexer_init): Return the state.
50609
50610 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50611 (grub_script_lexer_done): Likewise.
50612 (grub_script_lexer_getline): Likewise.
50613 (grub_script_lexer_refs): Likewise.
50614 (script): Likewise.
50615 (newscript): Likewise.
50616 (record): Likewise.
50617 (recording): Likewise.
50618 (recordpos): Likewise.
50619 (recordlen): Likewise.
50620 (grub_script_lexer_init): Return the state instead of setting
50621 global variables.
50622 (grub_script_lexer_ref): Use the newly added argument for state
50623 instead of globals.
50624 (grub_script_lexer_deref): Likewise.
50625 (grub_script_lexer_record_start): Likewise.
50626 (grub_script_lexer_record_stop): Likewise.
50627 (recordchar): Likewise.
50628 (nextchar): Likewise.
50629 (grub_script_yylex2): Likewise.
50630 (grub_script_yylex): Likewise.
50631 (grub_script_yyerror): Likewise.
50632
50633 * normal/parser.y (func_mem): Removed variable.
50634 (menu_entry): Likewise.
50635 (err): Likewise.
50636 (%lex-param): New parser option.
50637 (%parse-param): Likewise.
50638 (script): Always return the AST.
50639 (argument): Pass the state around.
50640 (arguments): Likewise.
50641 (grubcmd): Likewise.
50642 (commands): Likewise.
50643 (function): Likewise.
50644 (menuentry): Likewise.
50645 (if_statement): Likewise.
50646 (if): Likewise.
50647
50648 * normal/script.c (grub_script_memused): Removed variable.
50649 (grub_script_parsed): Likewise.
50650 (grub_script_malloc): Added a state argument. Use that instead of
50651 global variables.
50652 (grub_script_mem_record): Likewise.
50653 (grub_script_mem_record_stop): Likewise.
50654 (grub_script_arg_add): Likewise.
50655 (grub_script_add_arglist): Likewise.
50656 (grub_script_create_cmdline): Likewise.
50657 (grub_script_create_cmdif): Likewise.
50658 (grub_script_create_cmdmenu): Likewise.
50659 (grub_script_add_cmd): Likewise.
50660 (grub_script_parse): Setup the state before calling the parser.
50661
50662 2006-04-16 Marco Gerards <marco@gnu.org>
50663
50664 * normal/command.c (grub_command_init): Remove the title command.
50665
50666 * normal/lexer.c (grub_script_yylex): Renamed from this...
50667 (grub_script_yylex2): ... to this.
50668 (grub_script_yylex): New function. Temporary
50669 introduced to filter some tokens.
50670 (grub_script_yyerror): Print a newline.
50671
50672 * normal/main.c (read_config_file): Output information about the
50673 lines that contain errors. Wait for a key after all lines have
50674 been processed. Don't return an empty menu.
50675
50676 * normal/parser.y (func_mem): Don't initialize.
50677 (menu_entry): Likewise.
50678 (err): New variable.
50679 (script): Don't return anything when an error was encountered.
50680 (ws, returns): Removed rules.
50681 (argument): Disabled concatenated variable support.
50682 (arguments): Remove explicit separators.
50683 (grubcmd): Likewise.
50684 (function): Likewise.
50685 (menuentry): Likewise.
50686 (if): Likewise.
50687 (commands): Likewise. Add error handling.
50688
50689 * normal/script.c (grub_script_create_cmdline): If
50690 `grub_script_parsed' is 0, assume the parser encountered an error.
50691
50692 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50693
50694 * configure.ac: Add support for EFI. Fix the typo
50695 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50696
50697 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50698
50699 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50700 foreign multibyte characters should be shown correctly.
50701
50702 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50703
50704 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50705 calculation.
50706 (read_config_file): Made it to close file before returning.
50707
50708 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50709
50710 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50711 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50712 video/i386/pc/vbefill.c.
50713
50714 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50715 video/i386/pc/vbefill.c.
50716
50717 * include/grub/video.h (grub_video_blit_format): New enum.
50718 (grub_video_mode_info): Added new member blit_format.
50719 (grub_video_get_blit_format): New function prototype.
50720
50721 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50722 function prototype.
50723 (grub_video_vbe_map_rgb): Likewise.
50724 (grub_video_vbe_unmap_color): Likewise.
50725
50726 * include/grub/i386/pc/vbeblit.h: New file.
50727
50728 * include/grub/i386/pc/vbefill.h: New file.
50729
50730 * video/video.c (grub_video_get_blit_format): New function.
50731 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50732 (grub_video_vbe_map_rgb): Likewise.
50733 (grub_video_vbe_unmap_color): Likewise.
50734
50735 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50736 optimized fills.
50737 (grub_video_vbe_blit_render_target): Changed to use more optimized
50738 blits.
50739 (grub_video_vbe_setup): Added detection for optimized settings.
50740 (grub_video_vbe_create_render_target): Likewise.
50741
50742 * video/i386/pc/vbeblit.c: New file.
50743
50744 * video/i386/pc/vbefill.c: New file.
50745
50746 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50747
50748 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50749 here...
50750
50751 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50752 parsing to support both hex and dec ranges. If filename was missing
50753 show usage information.
50754
50755 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50756
50757 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50758 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50759
50760 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50761 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50762 (video_mod_SOURCES): Added.
50763 (video_mod_CFLAGS): Likewise.
50764 (video_mod_LDFLAGS): Likewise.
50765 (gfxterm_mod_SOURCES): Likewise.
50766 (gfxterm_mod_CFLAGS): Likewise.
50767 (gfxterm_mod_LDFLAGS): Likewise.
50768 (videotest_mod_SOURCES): Likewise.
50769 (videotest_mod_CFLAGS): Likewise.
50770 (videotest_mod_LDFLAGS): Likewise.
50771 (vesafb_mod_SOURCES): Removed.
50772 (vesafb_mod_CFLAGS): Likewise.
50773 (vesafb_mod_LDFLAGS): Likewise.
50774 (vga_mod_SOURCES): Likewise.
50775 (vga_mod_CFLAGS): Likewise.
50776 (vga_mod_LDFLAGS): Likewise.
50777
50778 * commands/videotest.c: New file.
50779
50780 * font/manager.c (fill_with_default_glyph): Modified to use
50781 grub_font_glyph.
50782 (grub_font_get_glyph): Likewise.
50783 (fontmanager): Renamed from this...
50784 (font_manager): ... to this.
50785
50786 * include/grub/font.h (grub_font_glyph): Added new structure.
50787 (grub_font_get_glyph): Modified to use grub_font_glyph.
50788
50789 * include/grub/misc.h (grub_abs): Added as inline function.
50790
50791 * include/grub/video.h: New file.
50792
50793 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50794 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50795 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50796 (grub_vbe_get_controller_info): Renamed from this...
50797 (grub_vbe_bios_get_controller_info): ... to this.
50798 (grub_vbe_get_mode_info): Renamed from this...
50799 (grub_vbe_bios_get_mode_info): ... to this.
50800 (grub_vbe_set_mode): Renamed from this...
50801 (grub_vbe_bios_set_mode): ... to this.
50802 (grub_vbe_get_mode): Renamed from this...
50803 (grub_vbe_bios_get_mode): ... to this.
50804 (grub_vbe_set_memory_window): Renamed from this...
50805 (grub_vbe_bios_set_memory_window): ... to this.
50806 (grub_vbe_get_memory_window): Renamed from this...
50807 (grub_vbe_bios_get_memory_window): ... to this.
50808 (grub_vbe_set_scanline_length): Renamed from this...
50809 (grub_vbe_set_scanline_length): ... to this.
50810 (grub_vbe_get_scanline_length): Renamed from this...
50811 (grub_vbe_bios_get_scanline_length): ... to this.
50812 (grub_vbe_set_display_start): Renamed from this...
50813 (grub_vbe_bios_set_display_start): ... to this.
50814 (grub_vbe_get_display_start): Renamed from this...
50815 (grub_vbe_bios_get_display_start): ... to this.
50816 (grub_vbe_set_palette_data): Renamed from this...
50817 (grub_vbe_bios_set_palette_data): ... to this.
50818 (grub_vbe_set_pixel_rgb): Removed.
50819 (grub_vbe_set_pixel_index): Likewise.
50820
50821 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50822 from this...
50823 (grub_vbe_bios_get_controller_info): ... to this.
50824 (grub_vbe_get_mode_info): Renamed from this...
50825 (grub_vbe_bios_get_mode_info): ... to this.
50826 (grub_vbe_set_mode): Renamed from this...
50827 (grub_vbe_bios_set_mode): ... to this.
50828 (grub_vbe_get_mode): Renamed from this...
50829 (grub_vbe_bios_get_mode): ... to this.
50830 (grub_vbe_set_memory_window): Renamed from this...
50831 (grub_vbe_bios_set_memory_window): ... to this.
50832 (grub_vbe_get_memory_window): Renamed from this...
50833 (grub_vbe_bios_get_memory_window): ... to this.
50834 (grub_vbe_set_scanline_length): Renamed from this...
50835 (grub_vbe_set_scanline_length): ... to this.
50836 (grub_vbe_get_scanline_length): Renamed from this...
50837 (grub_vbe_bios_get_scanline_length): ... to this.
50838 (grub_vbe_set_display_start): Renamed from this...
50839 (grub_vbe_bios_set_display_start): ... to this.
50840 (grub_vbe_get_display_start): Renamed from this...
50841 (grub_vbe_bios_get_display_start): ... to this.
50842 (grub_vbe_set_palette_data): Renamed from this...
50843 (grub_vbe_bios_set_palette_data): ... to this.
50844 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50845 getting corrupted after calling it. Added more pushes and pops.
50846 (grub_vbe_bios_set_mode): Likewise.
50847 (grub_vbe_bios_get_mode): Likewise.
50848 (grub_vbe_bios_get_memory_window): Likewise.
50849 (grub_vbe_bios_set_scanline_length): Likewise.
50850 (grub_vbe_bios_get_scanline_length): Likewise.
50851 (grub_vbe_bios_get_display_start): Likewise.
50852 (grub_vbe_bios_set_palette_data): Likewise.
50853
50854 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50855 (cl_insert): Likewise.
50856 (cl_delete): Likewise.
50857
50858 * term/gfxterm.c: New file.
50859
50860 * term/i386/pc/vesafb.c: Removed file.
50861
50862 * video/video.c: New file.
50863
50864 * video/i386/pc/vbe.c (real2pm): Added new function.
50865 (grub_video_vbe_draw_pixel): Likewise.
50866 (grub_video_vbe_get_video_ptr): Likewise.
50867 (grub_video_vbe_get_pixel): Likewise
50868 (grub_video_vbe_init): Likewise.
50869 (grub_video_vbe_fini): Likewise.
50870 (grub_video_vbe_setup): Likewise.
50871 (grub_video_vbe_get_info): Likewise.
50872 (grub_video_vbe_set_palette): Likewise.
50873 (grub_video_vbe_get_palette): Likewise.
50874 (grub_video_vbe_set_viewport): Likewise.
50875 (grub_video_vbe_get_viewport): Likewise.
50876 (grub_video_vbe_map_color): Likewise.
50877 (grub_video_vbe_map_rgb): Likewise.
50878 (grub_video_vbe_map_rgba): Likewise.
50879 (grub_video_vbe_unmap_color): Likewise.
50880 (grub_video_vbe_fill_rect): Likewise.
50881 (grub_video_vbe_blit_glyph): Likewise.
50882 (grub_video_vbe_blit_bitmap): Likewise.
50883 (grub_video_vbe_blit_render_target): Likewise.
50884 (grub_video_vbe_scroll): Likewise.
50885 (grub_video_vbe_swap_buffers): Likewise.
50886 (grub_video_vbe_create_render_target): Likewise.
50887 (grub_video_vbe_delete_render_target): Likewise.
50888 (grub_video_vbe_set_active_render_target): Likewise.
50889 (grub_vbe_set_pixel_rgb): Remove function.
50890 (grub_vbe_set_pixel_index): Likewise.
50891 (index_color_mode): Remove static variable.
50892 (active_mode): Likewise.
50893 (framebuffer): Likewise.
50894 (bytes_per_scan_line): Likewise.
50895 (grub_video_vbe_adapter): Added new static variable.
50896 (framebuffer): Likewise.
50897 (render_target): Likewise.
50898 (initial_mode): Likewise.
50899 (mode_in_use): Likewise.
50900 (mode_list): Likewise.
50901
50902 2006-03-10 Marco Gerards <marco@gnu.org>
50903
50904 * configure.ac (AC_INIT): Bumped to 1.93.
50905
50906 * DISTLIST: Added `include/grub/hfs.h'.
50907
50908 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50909
50910 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50911 18H, which might help the BIOS falling back to next boot media.
50912
50913 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50914
50915 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50916 Poe Chen <poe.poechen@gmail.com>.
50917
50918 2006-01-17 Marco Gerards <marco@gnu.org>
50919
50920 * include/grub/normal.h: Include <grub/script.h>.
50921 (grub_command_list): Removed struct.
50922 (grub_command_list_t): Removed type.
50923 (grub_menu_entry): Remove members `num' and `command_list'. Add
50924 members `commands' and `sourcecode'.
50925 * include/grub/script.h: Add inclusion guards.
50926 (grub_script_cmd_menuentry): New struct.
50927 (grub_script_execute_menuentry): New prototype.
50928 (grub_script_lexer_record_start): Likewise.
50929 (grub_script_lexer_record_stop): Likewise.
50930 * normal/execute.c (grub_script_execute_menuentry): New function.
50931 * normal/lexer.c (record, recording, recordpos, recordlen): New
50932 variables.
50933 (grub_script_lexer_record_start): New function.
50934 (grub_script_lexer_record_stop): Likewise.
50935 (recordchar): Likewise.
50936 (nextchar): Likewise.
50937 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50938 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50939 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50940 (current_menu): New variable.
50941 (free_menu): Mainly rewritten.
50942 (grub_normal_menu_addentry): New function.
50943 (read_config_file): Rewritten.
50944 * normal/menu.c (run_menu_entry): Mainly rewritten.
50945 * normal/menu_entry.c (make_screen): Rewritten the code to insert
50946 the menu entry.
50947 (run): Mainly rewritten.
50948 * normal/parser.y (menu_entry): New variable.
50949 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50950 (menuentry): New rule.
50951 (command): Add `menuentry'.
50952 (if_statement): Allow additional returns before `fi'.
50953 * normal/script.c (grub_script_create_cmdmenu): New function.
50954
50955 2006-01-03 Marco Gerards <marco@gnu.org>
50956
50957 * INSTALL: GNU Bison is required.
50958 * configure.ac: Rewritten the test to detect Bison.
50959 * Makefile.in (YACC): New variable. Reported by Xun Sun
50960 <xun.sun.cn@gmail.com>.
50961
50962 2006-01-03 Marco Gerards <marco@gnu.org>
50963
50964 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50965 the HFS+ filesystem to filesystem blocks.
50966 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50967 GCC warning is silenced.
50968
50969 2006-01-03 Marco Gerards <marco@gnu.org>
50970
50971 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50972 read from disk from big endian to host byte order.
50973
50974 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50975
50976 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50977 documentation.
50978 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50979 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50980 embedded HFS+ filesystem.
50981 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50982 (grub_hfs_sblock): Move from here...
50983 * include/grub/hfs.h: To here... New file.
50984 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50985 documentation.
50986 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50987 New macros.
50988 (grub_hfsplus_volheader): Change type of member `magic' to
50989 `grub_uint16_t'.
50990 (grub_hfsplus_data): Add new member `embedded_offset'.
50991 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50992 returned block.
50993 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50994 Calculate the offset.
50995
50996 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50997
50998 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50999 Removed.
51000 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
51001
51002 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51003
51004 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
51005 ENV->NAME is NULL after allocating ENV->VALUE.
51006
51007 2005-12-25 Marco Gerards <marco@gnu.org>
51008
51009 * kern/env.c (grub_env_set): Rewritten the error handling code.
51010
51011 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51012
51013 * geninit.sh: Made more robust, and more portable.
51014
51015 2005-12-25 Marco Gerards <marco@gnu.org>
51016
51017 Add support for Apple HFS+ filesystems.
51018
51019 * fs/hfsplus.c: New file.
51020
51021 * DISTLIST: Added `fs/hfsplus.c'.
51022
51023 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
51024 (hfsplus_mod_SOURCES): New variable.
51025 (hfsplus_mod_CFLAGS): Likewise.
51026 (hfsplus_mod_LDFLAGS): Likewise.
51027 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
51028 (grub_setup_SOURCES): Likewise.
51029 (grub_mkdevicemap_SOURCES): Likewise.
51030 (grub_emu_SOURCES): Likewise.
51031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51032
51033 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
51034
51035 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
51036
51037 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
51038
51039 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
51040 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
51041 include/grub/parser.h, include/grub/script.h, kern/parser.c,
51042 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
51043 normal/lexer.c, normal/parser.y, normal/script.c, and
51044 partmap/gpt.c.
51045 Removed kern/sparc64/cache.c.
51046
51047 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
51048 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
51049 grub_emu_init.c.
51050
51051 * configure.ac (AC_INIT): Bumped to 1.92.
51052
51053 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
51054
51055 * kern/err.c (grub_error_push): Added new function to support error
51056 stacks.
51057 (grub_error_pop): Likewise.
51058 (grub_error_stack_items): New local variable to support error stacks.
51059 (grub_error_stack_pos): Likewise.
51060 (grub_error_stack_assert): Likewise.
51061 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
51062 stack depth.
51063 (grub_print_error): Added support to print errors from error stack.
51064
51065 * include/grub/err.h (grub_error_push): Added function prototype.
51066 (grub_error_pop): Likewise.
51067
51068 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
51069
51070 * configure.ac: Accept `powerpc64' as host_cpu.
51071 (amd64): Rename to `biarch32'.
51072
51073 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
51074 non-cacheline-aligned addresses.
51075
51076 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
51077 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
51078 if `size' is non-zero.
51079
51080 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
51081
51082 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
51083 and `cd' to make sure the filename is not prefixed with a
51084 directory name.
51085 (pkgdata_MODULES): Add `gpt.mod'.
51086 (gpt_mod_SOURCES): New variable.
51087 (gpt_mod_CFLAGS): Likewise.
51088 (gpt_mod_LDFLAGS): Likewise.
51089
51090 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
51091
51092 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
51093 New macro.
51094
51095 * partmap/gpt.c: New file.
51096
51097 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
51098 GPT partition map is detected.
51099
51100 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
51101
51102 * commands/i386/pc/play.c: New file.
51103 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
51104 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51105 macros.
51106
51107 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
51108
51109 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51110 ((unused))' to silence gcc warning.
51111
51112 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51113
51114 * configure.ac: Correct `AC_PROG_YACC' test.
51115
51116 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51117
51118 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51119 check before installing files.
51120
51121 2005-11-22 Mike Small <smallm@panix.com>
51122
51123 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51124 number regex so multidigit numbers are recognized correctly.
51125
51126 2005-11-22 Mike Small <smallm@panix.com>
51127
51128 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51129 debugging message before attempting to claim memory.
51130 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51131 multiple addresses in case of failure.
51132
51133 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51134
51135 * term/tparm.c (get_space): Remove empty `if' statement.
51136
51137 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51138
51139 * kern/parser.c (check_varstate): Rename `state' to 's'.
51140
51141 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51142
51143 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51144 variable definitions to the beginning of each function. Sort stack
51145 variables by size.
51146 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51147 `buf' argument to `char *'.
51148
51149 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51150
51151 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51152 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51153 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51154 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51155 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51156 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51157 configfile.mod, search.mod, gzio.mod and test.mod.
51158 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51159 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51160 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51161 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51162 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51163 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51164 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51165 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51166 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51167 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51168 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51169 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51170 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51171 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51172 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51173 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51174 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51175 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51176 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51177 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51178 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51179 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51180 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51181
51182 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51183 `grep --include'.
51184 (pkgdata_MODULES): Add test.mod.
51185
51186 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51187
51188 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51189 appending to variables with "+=".
51190 (PModule): Use full pathname to generate *.lst filenames.
51191
51192 * Makefile.in: Fixed list rules moved from genmk.rb.
51193 (.DELETE_ON_ERROR): New special target.
51194 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51195
51196 * conf/i386-pc.rmk: Include conf/common.mk.
51197 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51198 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51199 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51200 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51201 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51202 configfile.mod, search.mod, gzio.mod and test.mod.
51203 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51204 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51205 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51206 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51207 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51208 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51209 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51210 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51211 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51212 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51213 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51214 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51215 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51216 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51217 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51218 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51219 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51220 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51221 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51222 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51223 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51224 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51225 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51226 here...
51227 * conf/common.rmk: ... to here. New file.
51228
51229 * conf/common.mk: New file.
51230
51231 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51232
51233 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51234 (grub_script.tab.c): ... here.
51235
51236 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51237 (grub_script.tab.c): ... here.
51238
51239 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51240 (grub_script.tab.c): ... here.
51241
51242 * normal/command.c (grub_command_find): Fixed a memory leak of
51243 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51244
51245 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51246
51247 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51248 "@" which marks the start of a comment on ARM.
51249 (VARIABLE): Likewise.
51250
51251 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51252
51253 Add support for Linux/ADFS partition tables.
51254
51255 * partmap/acorn.c: New file.
51256
51257 * include/grub/acorn_filecore.h: Likewise.
51258
51259 * DISTLIST: Added `partmap/acorn.c' and
51260 `include/grub/acorn_filecore.h'.
51261
51262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51263 `partmap/acorn.c'.
51264 (pkgdata_MODULES): Add `acorn.mod'.
51265 (acorn_mod_SOURCES): New variable.
51266 (acorn_mod_CFLAGS): Likewise.
51267
51268 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51269 `partmap/acorn.c'.
51270 (pkgdata_MODULES): Add `acorn.mod'.
51271 (acorn_mod_SOURCES): New variable.
51272 (acorn_mod_CFLAGS): Likewise.
51273
51274 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51275 (pkgdata_MODULES): Add `acorn.mod'.
51276 (acorn_mod_SOURCES): New variable.
51277 (acorn_mod_CFLAGS): Likewise.
51278 (acorn_mod_LDFLAGS): Likewise.
51279
51280 * include/types.h (grub_disk_addr_t): New typedef.
51281
51282 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
51283
51284 * geninit.sh: New file.
51285
51286 * geninitheader.sh: Likewise.
51287
51288 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51289 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51290 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51291 * commands/configfile.c (grub_configfile_init)
51292 (grub_configfile_fini): Likewise.
51293 * commands/default.c (grub_default_init, grub_default_fini):
51294 Likewise.
51295 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51296 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51297 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51298 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51299 Likewise.
51300 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51301 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51302 Likewise.
51303 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
51304 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
51305 Likewise.
51306 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51307 Likewise.
51308 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
51309 Likewise.
51310 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51311 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51312 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51313 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51314 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51315 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51316 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51317 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51318 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51319 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51320 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51321 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51322 * partmap/amiga.c (grub_amiga_partition_map_init)
51323 (grub_amiga_partition_map_fini): Likewise.
51324 * partmap/apple.c (grub_apple_partition_map_init)
51325 (grub_apple_partition_map_fini): Likewise.
51326 * partmap/pc.c (grub_pc_partition_map_init)
51327 (grub_pc_partition_map_fini): Likewise.
51328 * partmap/sun.c (grub_sun_partition_map_init,
51329 grub_sun_partition_map_fini): Likewise.
51330 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51331 Likewise.
51332
51333 * util/grub-emu.c: Include <grub_modules_init.h>.
51334 (main): Don't initialize and de-initialize any modules directly,
51335 use `grub_init_all' and `grub_fini_all' instead.
51336
51337 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51338 `grub_vesafb_mod_init'.
51339 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51340 all users.
51341 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51342 `grub_vga_mod_init'. Updated all users.
51343 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
51344
51345 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51346 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51347 rules.
51348
51349 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51350 Generate a function to initialize the module in utilities.
51351 Updated all callers.
51352 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51353 initialize the module in utilities. Updated all callers.
51354
51355 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51356
51357 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51358 escape sequence and a literal ^L to clear the screen.
51359
51360 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51361 when returning from Open Firmware.
51362
51363 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51364
51365 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51366 (grub_ofconsole_height): Likewise.
51367 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51368 manually insert a '\n'.
51369 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51370 `grub_ofconsole_height'. Return early if these are already set.
51371
51372 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51373
51374 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51375 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51376 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51377 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51378 and `normal/script.c'.
51379 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51380 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51381 (test_mod_SOURCES): New variable.
51382 (test_mod_CFLAGS): Likewise.
51383 (test_mod_LDFLAGS): Likewise.
51384 (pkgdata_MODULES): Add `test.mod'.
51385 (grub_script.tab.c): New rule.
51386 (grub_script.tab.h): Likewise.
51387
51388 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
51389
51390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51391 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51392 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51393 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51394 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51395 (test_mod_SOURCES): New variable.
51396 (test_mod_CFLAGS): Likewise.
51397 (pkgdata_MODULES): Add `test.mod'.
51398 (grub_script.tab.c): New rule.
51399 (grub_script.tab.h): Likewise.
51400
51401 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
51402
51403 Add initial scripting support.
51404
51405 * commands/test.c: New file.
51406 * include/grub/script.h: Likewise.
51407 * normal/execute.c: Likewise.
51408 * normal/function.c: Likewise.
51409 * normal/lexer.c: Likewise.
51410 * normal/parser.y: Likewise.
51411 * normal/script.c: Likewise.
51412
51413 * configure.ac: Add `AC_PROG_YACC' test.
51414
51415 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51416 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51417 `normal/function.c' and `normal/script.c'.
51418 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51419 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51420 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51421 variables.
51422 (pkgdata_MODULES): Add `test.mod'.
51423 (grub_script.tab.c): New rule.
51424 (grub_script.tab.h): Likewise.
51425
51426 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51427
51428 * include/grub/normal.h (grub_test_init): New prototype.
51429 (grub_test_fini): Likewise.
51430
51431 * normal/command.c: Include <grub/script.h>.
51432 (grub_command_execute): Rewritten.
51433
51434 * util/grub-emu.c (main): Call `grub_test_init' and
51435 `grub_test_fini'.
51436
51437 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51438
51439 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51440 to 0.
51441 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51442 there are no pending characters.
51443
51444 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51445
51446 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51447 `grub_strndup' to drop device arguments. Replace unnecessary
51448 `grub_strndup' with `grub_strdup'.
51449
51450 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51451
51452 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51453 `debug' environment variable has been set.
51454
51455 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
51456
51457 * Makefile.in (install-local): Use $(DATA).
51458 (uninstall): Likewise.
51459 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51460 (sbin_UTILITIES): ... to here.
51461 (sbin_SCRIPTS): New variable.
51462 (grub_install_SOURCES): New variable.
51463 * util/powerpc/ieee1275/grub-install.in: New file.
51464 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51465 variable.
51466 (add_segments): Call `grub_util_get_path'.
51467
51468 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51469
51470 From Timothy Baldwin:
51471 * commands/ls.c (grub_ls_list_files): Close FILE with
51472 grub_file_close.
51473 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51474
51475 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
51476
51477 * include/grub/parser.h: New file.
51478
51479 * kern/parser.c: Likewise.
51480
51481 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51482 (grub_setup_SOURCES): Likewise.
51483 (grub_probefs_SOURCES): Likewise.
51484 (grub_emu_SOURCES): Likewise.
51485 (kernel_img_HEADERS): Add `parser.h'.
51486
51487 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51488 (grub_emu_SOURCES): Add `kern/parser.c'.
51489 (grubof_SOURCES): Likewise.
51490
51491 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51492 (grubof_SOURCES): Add `kern/parser.c'.
51493
51494 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51495
51496 * kern/misc.c (grub_split_cmdline): Removed function.
51497
51498 * kern/rescue.c: Include <grub/parser.h>.
51499 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51500 of `grub_split_cmdline'.
51501
51502 * normal/command.c: Include <grub/parser.h>.
51503 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51504 of `grub_split_cmdline'.
51505
51506 * normal/completion.c: Include <grub/parser.h>.
51507 (cmdline_state): New variable.
51508 (iterate_dir): End the filename with a quote depending on the
51509 command line state.
51510 (get_state): new function.
51511 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51512 split the arguments and determine the current argument. When the
51513 argument string is not quoted, escape all spaces.
51514
51515 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51516
51517 * normal/sparc64/setjmp.S: New file.
51518
51519 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51520
51521 * include/grub/sparc64/libgcc.h: New file.
51522 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51523 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51524 normal/sparc64/setjmp.c.
51525
51526 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51527
51528 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51529 * kern/sparc64/cache.S: New file.
51530 * kern/sparc64/cache.c: Removed.
51531 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51532 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51533 -mtune=ultrasparc.
51534 (COMMON_LDFLAGS): Add -melf64_sparc.
51535 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51536 (grubof_SOURCES): Use cache.S instead of cache.c.
51537 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51538 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51539 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51540 commented though.
51541 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51542 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51543 (linux_mod_CFLAGS): Commented out.
51544 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51545 out because module isn't built.
51546 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51547 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51548 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51549 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51550 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51551 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51552 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51553 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51554 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51555 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51556 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51557 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51558 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51559 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51560
51561 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51562
51563 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51564 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51565 longer, because HFS should not be used on PC.
51566
51567 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51568
51569 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51570 consistently within the loop.
51571
51572 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
51573
51574 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51575 directory can not be read.
51576
51577 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51578
51579 * configure.ac (AC_INIT): Increase the version number to 1.91.
51580
51581 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51582 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51583 term/i386/pc/serial.c.
51584
51585 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51586
51587 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51588 file size must be permitted.
51589
51590 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51591 between %ah and %al.
51592
51593 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51594
51595 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51596 grub_uint64_t.
51597 Call the hook with a NUL-terminated filename.
51598 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51599 grub_cpu_to_be32.
51600
51601 * kern/term.c (cursor_state): New variable.
51602 (grub_term_set_current): Reset the cursor state on a new
51603 terminal.
51604 (grub_setcursor): Rewritten to use CURSOR_STATE.
51605 (grub_getcursor): New function.
51606
51607 * include/grub/term.h (grub_getcursor): New prototype.
51608
51609 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51610 integers on ARM. Reported by Timothy Baldwin
51611 <T.E.Baldwin99@members.leeds.ac.uk>.
51612
51613 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
51614
51615 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51616 allocated.
51617 (grub_sfs_dir): Likewise.
51618
51619 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
51620
51621 Add support for the SFS filesystem.
51622
51623 * fs/sfs.c: New file.
51624
51625 * DISTLIST: Added `fs/sfs.c'.
51626
51627 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51628 (grub_probefs_SOURCES): Likewise.
51629 (grub_emu_SOURCES): Likewise.
51630 (pkgdata_MODULES): Add `sfs.mod'.
51631 (sfs_mod_SOURCES): New variable.
51632 (sfs_mod_CFLAGS): Likewise.
51633 (sfs_mod_LDFLAGS): Likewise.
51634
51635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51636 (pkgdata_MODULES): Add `sfs.mod'.
51637 (sfs_mod_SOURCES): New variable.
51638 (sfs_mod_CFLAGS): Likewise.
51639
51640 * util/grub-emu.c (main): Call `grub_sfs_init' and
51641 `grub_sfs_fini'.
51642
51643 * include/grub/fs.h (grub_sfs_init): New prototype.
51644 (grub_sfs_fini): Likewise.
51645
51646 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
51647
51648 Add support for the AFFS filesystem.
51649
51650 * fs/affs.c: New file.
51651
51652 * DISTLIST: Added `fs/affs.c'.
51653
51654 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51655 (grub_probefs_SOURCES): Likewise.
51656 (grub_emu_SOURCES): Likewise.
51657 (pkgdata_MODULES): Add `affs.mod'.
51658 (affs_mod_SOURCES): New variable.
51659 (affs_mod_CFLAGS): Likewise.
51660 (affs_mod_LDFLAGS): Likewise.
51661
51662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51663 (pkgdata_MODULES): Add `affs.mod'.
51664 (affs_mod_SOURCES): New variable.
51665 (affs_mod_CFLAGS): Likewise.
51666
51667 * util/grub-emu.c (main): Call `grub_affs_init' and
51668 `grub_affs_fini'.
51669
51670 * include/grub/fs.h (grub_affs_init): New prototype.
51671 (grub_affs_fini): Likewise.
51672
51673 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51674
51675 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51676
51677 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51678
51679 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51680 `-m32' to CFLAGS.
51681
51682 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51683 linking.
51684
51685 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51686 (COMMON_LDFLAGS): New variable.
51687 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51688 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51689 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51690 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51691 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51692 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51693 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51694 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51695 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51696 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51697 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51698 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51699 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51700 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51701 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51702 variables.
51703 (normal_mod_ASFLAGS): Add `-m32'.
51704
51705 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51706 (grub_host_size_t, grub_host_ssize_t): New types.
51707 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
51708 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
51709 `GRUB_HOST_SIZEOF_VOID_P'.
51710
51711 * include/grub/kernel.h (struct grub_module_header): Type of
51712 member offset changed to `grub_host_off_t'. Type of member size
51713 changed to `grub_host_size_t'.
51714 (struct grub_module_info): Type of member offset changed to
51715 `grub_host_off_t'. Type of member size changed to
51716 `grub_host_size_t'.
51717
51718 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51719
51720 Make GRUB's kernel compliant to Multiboot Specification.
51721
51722 * kern/i386/pc/startup.S (multiboot_header): New label.
51723 (multiboot_entry): Likewise.
51724 (multiboot_trampoline): Likewise.
51725
51726 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51727 Increased to 0x4A0.
51728
51729 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51730 put parentheses after a question mark.
51731 [!GRUB_UTIL] (my_mod): New variable.
51732
51733 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51734
51735 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
51736
51737 Adds support for the XFS filesystem. Btrees are not supported
51738 yet.
51739
51740 * fs/xfs.c: New file.
51741
51742 * DISTLIST: Added `fs/xfs.c'.
51743
51744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51745 (grub_probefs_SOURCES): Likewise.
51746 (grub_emu_SOURCES): Likewise.
51747 (pkgdata_MODULES): Add `xfs.mod'.
51748 (xfs_mod_SOURCES): New variable.
51749 (xfs_mod_CFLAGS): Likewise.
51750
51751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51752 (pkgdata_MODULES): Add `xfs.mod'.
51753 (xfs_mod_SOURCES): New variable.
51754 (xfs_mod_CFLAGS): Likewise.
51755
51756 * util/grub-emu.c (main): Call `grub_xfs_init' and
51757 `grub_xfs_fini'.
51758
51759 * include/grub/fs.h (grub_xfs_init): New prototype.
51760 (grub_xfs_fini): Likewise.
51761
51762
51763 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51764
51765 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51766 color modes, allow greater than 16 colors to be configured as
51767 a default palette.
51768
51769 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51770
51771 * normal/completion.c (complete_arguments): Add the qualifier
51772 const into OPTIONS.
51773
51774 From Omniflux <omniflux+lists@omniflux.com>:
51775 * include/grub/terminfo.h: New file.
51776 * include/grub/tparm.h: Likewise.
51777 * include/grub/i386/pc/serial.h: Likewise.
51778 * term/terminfo.c: Likewise.
51779 * term/tparm.c: Likewise.
51780 * term/i386/pc/serial.c: Likewise.
51781 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51782 serial.mod.
51783 (terminfo_mod_SOURCES): New variable.
51784 (terminfo_mod_CFLAGS): Likewise.
51785 (serial_mod_SOURCES): Likewise.
51786 (serial_mod_CFLAGS): Likewise.
51787
51788 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51789
51790 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51791 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51792 and kern/powerpc/ieee1275/cmain.c, respectively.
51793
51794 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51795 * kern/powerpc/ieee1275/crt0.S: ... here.
51796
51797 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51798 * kern/powerpc/ieee1275/cmain.c: ... here.
51799
51800 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51801 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51802 instead of boot/powerpc/ieee1275/crt0.S and
51803 boot/powerpc/ieee1275/cmain.c, respectively.
51804
51805 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51806 sectors. It was not used anyway.
51807
51808 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51809
51810 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51811 `unused parameter' warning.
51812
51813 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51814
51815 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51816 function.
51817 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51818 getcharwidth.
51819
51820 2005-08-28 Marco Gerards <metgerards@student.han.nl>
51821
51822 * include/grub/normal.h (enum grub_completion_type): Added
51823 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51824
51825 * normal/cmdline.c (print_completion): Handle
51826 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51827 * normal/menu_entry.c (store_completion): Likewise.
51828
51829 * normal/completion.c (complete_arguments): New function.
51830 (grub_normal_do_completion): Call `complete_arguments' when the
51831 current words start with a dash.
51832
51833 2005-08-27 Marco Gerards <metgerards@student.han.nl>
51834
51835 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51836 `gzio.mod' instead of `io.mod').
51837
51838 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51839
51840 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51841 (DISTDIRS): Added io and video.
51842 Rewrite the search routine to make an output consistently.
51843
51844 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51845 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51846 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51847 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51848 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51849 util/powerpc/ieee1275/misc.c.
51850
51851 * include/grub/gzio.h: New file.
51852 * io/gzio.c: Likewise.
51853
51854 * kern/file.c (grub_file_close): Call grub_device_close only if
51855 FILE->DEVICE is not NULL.
51856
51857 * include/grub/mm.h [!NULL] (NULL): New macro.
51858
51859 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51860
51861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51862 (pkgdata_MODULES): Added gzio.mod.
51863 (gzio_mod_SOURCES): New variable.
51864 (gzio_mod_CFLAGS): Likewise.
51865
51866 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51867 (pkgdata_MODULES): Added gzio.mod.
51868 (gzio_mod_SOURCES): New variable.
51869 (gzio_mod_CFLAGS): Likewise.
51870
51871 * commands/cat.c: Include grub/gzio.h.
51872 (grub_cmd_cat): Use grub_gzfile_open instead of
51873 grub_file_open.
51874
51875 * commands/cmp.c: Include grub/gzio.h.
51876 (grub_cmd_cmp): Use grub_gzfile_open instead of
51877 grub_file_open.
51878
51879 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51880 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51881 grub_file_open.
51882 (grub_rescue_cmd_module): Likewise.
51883
51884 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51885
51886 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51887 kern/sparc64/ieee1275/init.c because it contains _start.
51888 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51889
51890 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51891
51892 * configure.ac: Add support for sparc64 host with ieee1275
51893 firmware.
51894 * configure: Generated from configure.ac.
51895 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51896 instead of int.
51897 (grub_ofdisk_read): Likewise.
51898 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51899 pointers as (void *) to remove a warning.
51900 (grub_ofdisk_close): Likewise.
51901 (grub_ofdisk_read): Likewise.
51902 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51903 returns, so make it return void to remove a warning.
51904 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51905 Corresponding prototype change.
51906 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51907 values, and cast the pointers as (void *) to remove a warning.
51908 (grub_mm_dump): Likewise.
51909 * conf/sparc64-ieee1275.mk: New file.
51910 * conf/sparc64-ieee1275.rmk: Likewise.
51911 * include/grub/sparc64/setjmp.h: Likewise.
51912 * include/grub/sparc64/types.h: Likewise.
51913 * include/grub/sparc64/ieee1275/console.h: Likewise.
51914 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51915 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51916 * include/grub/sparc64/ieee1275/time.h: Likewise.
51917 * kern/sparc64/cache.c: Likewise.
51918 * kern/sparc64/dl.c: Likewise.
51919 * kern/sparc64/ieee1275/init.c: Likewise.
51920 * kern/sparc64/ieee1275/openfw.c: Likewise.
51921
51922 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51923
51924 * util/console.c (grub_ncurses_putchar): If C is greater than
51925 0x7f, set C to a question mark.
51926 (grub_ncurses_getcharwidth): New function.
51927 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51928 getcharwidth.
51929
51930 * normal/menu.c (print_entry): Made aware of Unicode. First,
51931 convert TITLE to UCS-4, and predict the cursor position by
51932 grub_getcharwidth.
51933
51934 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51935 const to SRC.
51936 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51937
51938 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51939
51940 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51941 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51942 grub_strcat.
51943
51944 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51945 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51946 grub_strcpy and grub_strlen. Take it into account that a space
51947 character is inserted as a delimiter.
51948
51949 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51950
51951 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
51952 invalid magic in the error.
51953
51954 * commands/search.c: New file.
51955
51956 * util/grub-emu.c (main): Call grub_search_init and
51957 grub_search_fini.
51958
51959 * kern/rescue.c (grub_rescue_print_disks): Removed.
51960 (grub_rescue_print_devices): New function.
51961 (grub_rescue_cmd_ls): Use grub_device_iterate with
51962 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51963 grub_rescue_print_disks.
51964
51965 * kern/partition.c (grub_partition_iterate): Return the result of
51966 PARTMAP->ITERATE instead of GRUB_ERRNO.
51967
51968 * kern/device.c: Include grub/partition.h.
51969 (grub_device_iterate): New function.
51970
51971 * include/grub/partition.h (grub_partition_iterate): Return int
51972 instead of grub_err_t.
51973
51974 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51975 prototype.
51976 [GRUB_UTIL] (grub_search_fini): Likewise.
51977
51978 * include/grub/device.h (grub_device_iterate): New prototype.
51979
51980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51981 commands/search.c.
51982 (pkgdata_MODULES): Added search.mod.
51983 (search_mod_SOURCES): New variable.
51984 (search_mod_CFLAGS): Likewise.
51985
51986 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51987 (pkgdata_MODULES): Added search.mod.
51988 (search_mod_SOURCES): New variable.
51989 (search_mod_CFLAGS): Likewise.
51990
51991 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51992 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51993 All callers changed.
51994
51995 * DISTLIST: Added commands/search.c.
51996
51997 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51998
51999 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
52000 conversion.
52001 (grub_getcharwidth): New function.
52002
52003 * kern/misc.c (grub_utf8_to_ucs4): New function.
52004
52005 * include/grub/term.h (struct grub_term): Added a new member
52006 "getcharwidth".
52007 (grub_getcharwidth): New prototype.
52008
52009 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
52010
52011 * term/i386/pc/console.c (map_char): New function. Segregated from
52012 grub_console_putchar.
52013 (grub_console_putchar): Use map_char.
52014 (grub_console_getcharwidth): New function.
52015 (grub_console_term): Specified grub_console_getcharwidth as
52016 getcharwidth.
52017
52018 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
52019 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
52020
52021 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
52022 GRUB_ERRNO.
52023 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
52024 on grub_strtoul completely.
52025 (write_char): Declare local variables in the beginning of the
52026 function.
52027 (grub_vesafb_getcharwidth): New function.
52028 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
52029 getcharwidth.
52030
52031 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
52032
52033 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
52034 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
52035 commands/i386/pc/vbetest.c.
52036
52037 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
52038 call grub_vbe_get_controller_info again, because the returned
52039 information is volatile.
52040 (grub_vbe_set_video_mode): Mostly rewritten.
52041 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
52042 grub_vbe_status_t correctly.
52043 (grub_vbe_get_video_mode_info): Likewise.
52044 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
52045 several if statements.
52046
52047 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
52048 * commands/i386/pc/vbeinfo.c: ... this.
52049
52050 * commands/i386/pc/vbe_test.c: Renamed to ...
52051 * commands/i386/pc/vbetest.c: ... this.
52052
52053 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
52054 ...
52055 (grub_cmd_vbeinfo): ... this. Save video modes before
52056 iterating. Skip a video mode, if it is not available, not enough
52057 information is given or it is monochrome. Show the memory
52058 model. Leave the interpretation of MODEVAR to grub_strtoul
52059 completely.
52060 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
52061 (GRUB_MOD_FINI): Likewise.
52062
52063 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
52064 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
52065 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
52066 duplicated grub_env_get. Leave the interpretation of MODEVAR to
52067 grub_strtoul completely.
52068 (real2pm): Removed.
52069 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
52070 (GRUB_MOD_FINI): Likewise.
52071
52072 * normal/misc.c: Include grub/mm.h.
52073
52074 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
52075 vbe_list_modes with vbetest.mod and vbeinfo.mod.
52076 (vbe_list_modes_mod_SOURCES): Removed.
52077 (vbe_list_modes_mod_CFLAGS): Likewise.
52078 (vbe_test_mod_SOURCES): Likewise.
52079 (vbe_test_mod_CFLAGS): Likewise.
52080 (vbeinfo_mod_SOURCES): New variable.
52081 (vbeinfo_mod_CFLAGS): Likewise.
52082 (vbetest_mod_SOURCES): Likewise.
52083 (vbetest_mod_CFLAGS): Likewise.
52084
52085 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
52086
52087 * normal/misc.c: New file.
52088
52089 * DISTLIST: Added normal/misc.c.
52090
52091 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
52092 DISK to HOOK. Call HOOK with DISK.
52093 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52094 * partmap/pc.c (pc_partition_map_iterate): Likewise.
52095 * partmap/sun.c (sun_partition_map_iterate): Likewise.
52096
52097 * normal/menu_entry.c (struct screen): Added a new member
52098 "completion_shown".
52099 (completion_buffer): New global variable.
52100 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
52101 (store_completion): New function.
52102 (complete): Likewise.
52103 (clear_completions): Likewise.
52104 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52105 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52106 a tab, call complete.
52107
52108 * normal/completion.c (disk_dev): Removed.
52109 (print_simple_completion): Likewise.
52110 (print_partition_completion): Likewise.
52111 (print_func): New global variable.
52112 (add_completion): Do not take the arguments WHAT or PRINT any
52113 longer. Added a new argument TYPE. Instead of printing directly,
52114 call PRINT_FUNC if not NULL.
52115 All callers changed.
52116 (complete_device): Use a local variable DEV instead of
52117 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52118 (grub_normal_do_completion): Take a new argument HOOK. Do not
52119 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52120 empty string, return NULL instead.
52121 All callers changed.
52122
52123 * normal/cmdline.c (print_completion): New function.
52124
52125 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52126 to HOOK.
52127 All callers changed.
52128
52129 * kern/disk.c (grub_print_partinfo): Removed.
52130
52131 * include/grub/partition.h (struct grub_partition_map): Add a new
52132 argument DISK into HOOK of ITERATE.
52133 (grub_partition_iterate): Add a new argument DISK to HOOK.
52134
52135 * include/grub/normal.h (enum grub_completion_type): New enum.
52136 (grub_completion_type_t): New type.
52137 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52138 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52139 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52140 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52141 (grub_normal_do_completion): Added a new argument HOOK.
52142 (grub_normal_print_device_info): New prototype.
52143
52144 * include/grub/disk.h (grub_print_partinfo): Removed.
52145
52146 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52147 (normal_mod_SOURCES): Likewise.
52148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52149 (normal_mod_SOURCES): Likewise.
52150
52151 * commands/ls.c (grub_ls_list_disks): Use
52152 grub_normal_print_device_info instead of grub_print_partinfo. Free
52153 PNAME.
52154 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52155 duplicating the code.
52156
52157 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52158
52159 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
52160 follow GCS more precisely.
52161 * commands/i386/pc/vbe_test.c: Likewise.
52162 * include/grub/i386/pc/vbe.h: Likewise.
52163 * term/i386/pc/vesafb.c: Likewise.
52164 * video/i386/pc/vbe.c: Likewise.
52165
52166 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52167
52168 * DISTLIST: Added term/i386/pc/vesafb.c
52169 DISTLIST: Added video/i386/pc/vbe.c
52170 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52171 DISTLIST: Added commands/i386/pc/vbe_test.c.
52172 * commands/i386/pc/vbe_list_modes.c: New file.
52173 * commands/i386/pc/vbe_test.c: Likewise.
52174 * term/i386/pc/vesafb.c: Likewise.
52175 * video/i386/pc/vbe.c: Likewise.
52176 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52177 (grub_vbe_probe) Added prototype.
52178 (grub_vbe_set_video_mode) Likewise.
52179 (grub_vbe_get_video_mode) Likewise.
52180 (grub_vbe_get_video_mode_info) Likewise.
52181 (grub_vbe_set_pixel_rgb) Likewise.
52182 (grub_vbe_set_pixel_index) Likewise.
52183 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52184 (pkgdata_MODULES): Added vesafb.mod.
52185 (pkgdata_MODULES): Added vbe_list_modes.mod.
52186 (pkgdata_MODULES): Added vbe_test.mod.
52187 (vbe_mod_SOURCES): Added.
52188 (vbe_mod_CFLAGS): Likewise.
52189 (vesafb_mod_SOURCES): Likewise.
52190 (vesafb_mod_CFLAGS): Likewise.
52191 (vbe_list_modes_mod_SOURCES): Likewise.
52192 (vbe_list_modes_mod_CFLAGS): Likewise.
52193 (vbe_test_mod_SOURCES): Likewise.
52194 (vbe_test_mod_CFLAGS): Likewise.
52195
52196 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52197
52198 * normal/command.c (grub_command_execute): If INTERACTIVE is
52199 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52200 CMDLINE. Disable the pager if INTERACTIVE is true.
52201 All callers are changed.
52202
52203 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52204 before reading a config file.
52205 * normal/main.c (read_config_file): Even if a command is not
52206 found, register it if it is within an entry.
52207
52208 * util/grub-emu.c: Include sys/types.h and unistd.h.
52209 (options): Added --hold.
52210 (struct arguments): Added a new member "hold".
52211 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52212 missing.
52213 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52214 cleared by a debugger, if it is not zero.
52215
52216 * include/grub/normal.h (grub_command_execute): Add an argument
52217 INTERACTIVE.
52218
52219 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52220
52221 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52222
52223 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52224
52225 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52226 program with another one, because the old one didn't detect a bug
52227 in gcc-3.4. Always use regparm 2, because the new test is still
52228 not enough for gcc-4.0. Someone must investigate a simple test
52229 case which detects a bug in gcc-4.0.
52230
52231 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52232
52233 * DISTLIST: Added normal/completion.c.
52234
52235 * normal/completion.c: New file.
52236
52237 * term/i386/pc/console.c (grub_console_getwh): New function.
52238 (grub_console_term): Assign grub_console_getwh to getwh.
52239
52240 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52241 function is defined in normal/completion.c as
52242 grub_normal_do_completion.
52243 (grub_cmdline_get): Use grub_normal_do_completion instead of
52244 grub_tab_complete.
52245
52246 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52247 returns non-zero, otherwise return 0.
52248 (grub_partition_iterate): First, probe the partition map. Then,
52249 call ITERATE only for this partition map.
52250
52251 * kern/misc.c (grub_strncmp): Rewritten.
52252
52253 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52254 returns non-zero. Otherwise return 0.
52255
52256 * include/grub/partition.h (grub_partition_map_iterate): Return
52257 int instead of void.
52258
52259 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52260
52261 * include/grub/misc.h (grub_strncmp): Change the type of N to
52262 grub_size_t.
52263
52264 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52265 of void.
52266
52267 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
52268 unsigned explicitly before comparing it with I.
52269
52270 * kern/main.c (grub_env_write_root): Add the attribute unused into
52271 VAR.
52272
52273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52274 normal/completion.c.
52275 (normal_mod_SOURCES): Likewise.
52276 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52277 (normal_mod_SOURCES): Likewise.
52278
52279 * normal/command.c (grub_iterate_commands): If ITERATE returns
52280 non-zero, return one immediately.
52281
52282 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52283
52284 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52285 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52286 descriptions.
52287 (grub_vbe_get_controller_info): New function.
52288 (grub_vbe_get_mode_info): Likewise.
52289 (grub_vbe_set_mode): Likewise.
52290 (grub_vbe_get_mode): Likewise.
52291 (grub_vbe_set_memory_window): Likewise.
52292 (grub_vbe_get_memory_window): Likewise.
52293 (grub_vbe_set_scanline_length): Likewise.
52294 (grub_vbe_get_scanline_length): Likewise.
52295 (grub_vbe_set_display_start): Likewise.
52296 (grub_vbe_get_display_start): Likewise.
52297 (grub_vbe_set_palette_data): Likewise.
52298 * include/grub/i386/pc/vbe.h: New file.
52299
52300 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52301
52302 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52303 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52304 * DISTLIST: Likewise.
52305 * kern/ieee1275/of.c: Moved to ...
52306 * kern/ieee1275/ieee1275.c: ... here.
52307
52308 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52309
52310 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52311 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52312 Pass 0 as `end' parameter to grub_strtoul().
52313
52314 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52315
52316 * include/grub/powerpc/ieee1275/console.h: Do not include
52317 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52318 ifdef.
52319 (grub_console_cur_color): Remove i386-specific prototype.
52320 (grub_console_real_putchar): Likewise.
52321 (grub_console_checkkey): Likewise.
52322 (grub_console_getkey): Likewise.
52323 (grub_console_getxy): Likewise.
52324 (grub_console_gotoxy): Likewise.
52325 (grub_console_cls): Likewise.
52326 (grub_console_setcursor): Likewise.
52327 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52328 Include <grub/machine/console.h>.
52329 * term/ieee1275/ofconsole.c: Likewise.
52330
52331 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52332
52333 * Makefile.in (LIBLZO): New variable.
52334
52335 * configure.ac: Check for LZO version 2.
52336
52337 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52338 lzo/lzo1x.h instead of lzo1x.h.
52339
52340 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52341 of -llzo.
52342
52343 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52344 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52345
52346 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52347 copying the data from PARTITION to P.
52348
52349 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52350
52351 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52352 negative, unload the module.
52353
52354 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52355 map is "pc_partition_map" but not "pc".
52356 (usage): Fix the description. The options are --boot-image and
52357 --core-image but not --boot-file or --core-file.
52358 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52359 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52360 DEFAULT_DIRECTORY.
52361
52362 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52363 --core-file. Specify INSTALL_DEVICE as an argument.
52364
52365 * util/console.c: Include config.h.
52366 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52367 [HAVE_NCURSES_H]: Include ncurses.h.
52368 [HAVE_CURSES_H]: Include curses.h.
52369 [!A_NORMAL] (A_NORMAL): Defined as zero.
52370 [!A_STANDOUT] (A_STANDOUT): Likewise.
52371
52372 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52373 -lncurses.
52374 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52375
52376 * configure.ac: Check for curses libraries and headers.
52377
52378 * Makefile.in (LIBCURSES): New variable.
52379
52380 * genmk.rb (Script::rule): Set the executable bits.
52381
52382 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52383 name of the PC partition map is "pc_partition_map" but not "pc".
52384
52385 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52386
52387 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52388 (modules): Likewise.
52389 (usage): Added descriptions for --modules and --grub-probefs.
52390 Handle --modules and --grub-probefs. Save the arguments in MODULES
52391 and GRUB_PROBEFS, respectively.
52392 Auto-detect a filesystem module against GRUBDIR. If the result is
52393 empty and modules are not specified explicitly, abort the
52394 installation. Add the result to MODULES.
52395
52396 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52397 disk/powerpc/ieee1275/ofdisk.c,
52398 include/grub/powerpc/ieee1275/init.h and
52399 term/powerpc/ieee1275/ofconsole.c.
52400 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52401 term/ieee1275/ofconsole.c.
52402
52403 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52404
52405 * COPYING: Upgraded to the latest version. Only the address of the
52406 FSF office has changed.
52407
52408 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52409
52410 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52411 kern/ieee1275.c with kern/ieee1275/of.c.
52412
52413 * kern/ieee1275.c: Moved to ...
52414 * kern/ieee1275/of.c: ... here.
52415
52416 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52417
52418 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
52419 readability.
52420
52421 * config.guess: Updated to the latest version from gnulib.
52422 * config.sub: Likewise.
52423 * install.sh: Likewise.
52424 * mkinstalldirs: Likewise.
52425
52426 * include/grub/console.h: Removed. This file is arch-specific. Do
52427 not put this in include/grub.
52428
52429 * include/grub/i386/pc/console.h: Resurrected.
52430
52431 * util/console.c: Include grub/machine/console.h instead of
52432 grub/console.h.
52433 * util/grub-emu.c: Likewise.
52434
52435 2005-08-04 Marco Gerards <metgerards@student.han.nl>
52436
52437 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52438 hardcoded value.
52439
52440 From Vincent Pelletier <subdino2004@yahoo.fr>
52441 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52442 Redefined to use grub_getwh.
52443 (grub_term): New member named getwh.
52444 (grub_getwh): New prototype.
52445 * kern/term.c (grub_getwh): New function.
52446 * term/i386/pc/console.c (grub_console_getwh): New function.
52447 (grub_console_term): New member `getwh'.
52448 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52449 (grub_vga_term): New member `getwh'.
52450 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
52451 grub_ssize_t.
52452 (grub_ofconsole_getw): New function.
52453 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52454 (grub_ofconsole_term): New field named getwh and new initial
52455 value.
52456
52457 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52458
52459 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52460 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52461 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52462 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52463 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52464 of <grub/machine/ieee1275.h>.
52465 * commands/ieee1275/reboot.c: Likewise.
52466 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52467 * kern/ieee1275.c: ... to here. All users updated. Change all
52468 parameter structs to use new type `grub_ieee1275_cell_t'.
52469 * term/powerpc/ieee1275/ofconsole.c: Move ...
52470 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52471 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52472 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52473 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52474 to return int.
52475 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52476 Remove unused prototypes. All users updated.
52477 * include/grub/powerpc/ieee1275/console.h: Removed.
52478 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52479 `grub_ieee1275_cell_t'.
52480 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52481 Cast comparisons with -1 to the correct type.
52482 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52483 type to match `grub_ieee1275_entry_fn'.
52484
52485 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52486
52487 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52488
52489 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52490 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52491 partmap/sun.c.
52492 (grub_probefs_SOURCES): New variable.
52493
52494 * util/i386/pc/grub-probefs.c: New file.
52495
52496 * util/i386/pc/grub-setup.c (main): Call
52497 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52498 grub_hfs_init and grub_jfs_init to initialize the system. Call
52499 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52500 grub_pc_partition_map_fini to finish the system.
52501
52502 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52503
52504 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52505 function.
52506 (grub_multiboot_load_elf32): Likewise.
52507 (grub_multiboot_is_elf64): Likewise.
52508 (grub_multiboot_load_elf64): Likewise.
52509 (grub_multiboot_load_elf): Likewise.
52510 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52511 an ELF32 or ELF64 file.
52512 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52513
52514 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52515 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52516 NULL before calling FS->LABEL.
52517 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52518 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52519 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52520 before calling FS->LABEL.
52521
52522 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52523
52524 * util/i386/pc/grub-install.in (datadir): New variable.
52525 (libdir): Removed.
52526 (pkgdatadir): New variable.
52527 (pkglibdir): Removed.
52528
52529 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52530
52531 * DISTLIST: Added util/i386/pc/grub-install.in.
52532
52533 * util/i386/pc/grub-install.in: New file.
52534
52535 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52536 (grub_install_SOURCES): Likewise.
52537
52538 * genmk.rb: Added support for scripts.
52539 (Script): New class.
52540 (scripts): New variable.
52541
52542 * Makefile.in (install-local): Install sbin_SCRIPTS by
52543 INSTALL_SCRIPT.
52544 (uninstall): Remove sbin_SCRIPTS.
52545
52546 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52547 device, try to get a GRUB device by
52548 grub_util_biosdisk_get_grub_dev.
52549 Free DEST_DEV.
52550
52551 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52552 description for --device-map.
52553
52554 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52555
52556 Change the semantics of variable hooks. They now return strings
52557 instead of error values.
52558
52559 * util/i386/pc/grub-setup.c: Include grub/env.h.
52560 (setup): Use grub_device_set_root instead of grub_env_set.
52561
52562 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52563 grub_env_get instead of grub_device_set_root and
52564 grub_device_get_root, respectively.
52565
52566 * kern/main.c (grub_env_write_root): New function.
52567 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52568 grub_env_set instead of grub_device_set_root.
52569
52570 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52571 many variables.
52572 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52573 rather than calling ENV->WRITE_HOOK afterwards.
52574 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52575 passing a pointer of a pointer.
52576 (grub_register_variable_hook): Change the types of "read_hook" and
52577 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52578 respectively.
52579 Allocate the default empty string on the heap, because this string
52580 may be freed later.
52581
52582 * kern/device.c: Include grub/env.h.
52583 (grub_device_set_root): Removed.
52584 (grub_device_get_root): Likewise.
52585 (grub_device_open): Use grub_env_get instead of
52586 grub_device_get_root.
52587
52588 * include/grub/env.h (grub_env_read_hook_t): New type.
52589 (grub_env_write_hook_t): Likewise.
52590 (grub_env_var): Change the types of "read_hook" and "write_hook"
52591 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52592 (grub_register_variable_hook): Likewise.
52593
52594 * include/grub/device.h (grub_device_set_root): Removed.
52595 (grub_device_set_root): Likewise.
52596
52597 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52598 make sure that DIRNAME terminates with '/', so that
52599 grub_fat_find_dir will fail if PATH is not a directory.
52600
52601 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52602 from DIRNAME.
52603 Use the qualifier auto for print_files and print_files_long.
52604 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52605 as a regular file.
52606 Put a newline only if there is no error.
52607 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52608 used.
52609
52610 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52611
52612 * kern/partition.c (grub_partition_probe): Initialize PART to
52613 NULL. Otherwise, when no partition map is registered, this returns
52614 a garbage.
52615
52616 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52617
52618 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52619 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52620 valid.
52621
52622 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52623
52624 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52625 information on each device, if it does not have partitions. Print
52626 "Device" instead of "Disk", because this function is not specific
52627 to disk devices.
52628
52629 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52630 static to ensure that it is put on the memory rather than a
52631 register.
52632
52633 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52634
52635 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52636 (grub_cat_init): Likewise.
52637 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52638 (options): Likewise.
52639 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52640 (grub_configfile_init): Likewise.
52641 * font/manager.c (GRUB_MOD_INIT): Likewise.
52642 * commands/help.c (GRUB_MOD_INIT): Likewise.
52643 (grub_help_init): Likewise.
52644 * normal/command.c (grub_command_init): Likewise.
52645 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52646 * disk/loopback.c (grub_loop_init): Likewise.
52647 (GRUB_MOD_INIT): Likewise.
52648 * commands/ls.c (grub_ls_init): Likewise.
52649 (GRUB_MOD_INIT): Likewise.
52650 (options): Likewise.
52651 * commands/boot.c (grub_boot_init): Likewise.
52652 (GRUB_MOD_INIT): Likewise.
52653 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52654 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52655 (GRUB_MOD_INIT): Likewise.
52656 * commands/cmp.c (grub_cmp_init): Likewise.
52657 (GRUB_MOD_INIT): Likewise.
52658
52659 * normal/arg.c: Use <> instead of "" to include header files.
52660 (SHORT_ARG_HELP): New macro.
52661 (SHORT_ARG_USAGE): Likewise.
52662 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52663 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52664 descriptions.
52665 (find_short): Check if C is 'h' or 'u' explicitly.
52666 (grub_arg_show_help): Use space characters instead of tabs. Treat
52667 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52668 are shown with --help and --usage only if they are not used for
52669 the command itself.
52670 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52671 'h' and 'u'.
52672
52673 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52674 const into "longarg". Change the type of "shortarg" to int.
52675
52676 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52677
52678 * boot/i386/pc/boot.S (boot_drive_check): New label.
52679
52680 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52681 macro.
52682
52683 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52684 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52685
52686 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52687
52688 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52689 When turning off Gate A20, skip the check and return immediately,
52690 because this is not fatal usually.
52691
52692 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52693
52694 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52695 be 0x7C00 instead of 0x8000.
52696
52697 * boot/i386/pc/pxeboot.S: Rewritten.
52698
52699 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52700 EXT_C.
52701 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52702 result.
52703
52704 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52705
52706 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52707 robustness. This routine now supports a BIOS call and System
52708 Control Port A to modify the gate A20.
52709
52710 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52711 Increased to 0x440.
52712
52713 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52714
52715 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52716 device path and resulting ihandle.
52717 (grub_ofdisk_close): dprintf the ihandle being closed.
52718 (grub_ofdisk_read): dprintf function parameters.
52719 * kern/mm.c (grub_mm_init_region): Likewise.
52720 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52721 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52722 size, and boot arguments.
52723 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52724 before loading into memory.
52725 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52726 before loading into memory.
52727
52728 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52729
52730 * kern/mm.c: Added much documentation.
52731 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52732 8, set to 5 instead of 8.
52733
52734 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52735
52736 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52737
52738 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52739 (grub_mkdevicemap_SOURCES): New variable.
52740
52741 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52742 lib/device.c of GRUB Legacy.
52743
52744 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52745
52746 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52747 instead of PATH is NULL.
52748
52749 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52750
52751 * commands/cmp.c (BUFFER_SIZE): New macro.
52752 (grub_cmd_cmp): Close the right file at the right time. Compare
52753 only data just read. Don't report files of different size as
52754 identical. Dynamically allocate buffers. Move variable
52755 declarations at the beginning of function.
52756
52757 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
52758
52759 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52760 reverse.
52761
52762 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52763
52764 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52765 when backspace is pressed at beginning of line.
52766
52767 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
52768
52769 * DISTLIST: Added genfslist.sh.
52770
52771 * normal/main.c (fs_module_list): New variable.
52772 (autoload_fs_module): New function.
52773 (read_fs_list): Likewise.
52774 (grub_normal_execute): Call read_fs_list.
52775
52776 * kern/fs.c (grub_fs_autoload_hook): New variable.
52777 (grub_fs_probe): Added support for auto-loading.
52778
52779 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52780 (grub_fs_module_list_t): New type.
52781
52782 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52783 (grub_fs_autoload_hook): New prototype.
52784
52785 * genfslist.sh: New file.
52786
52787 * genmk.rb: Added a rule to generate a filesystem list.
52788
52789 2005-06-30 Marco Gerards <metgerards@student.han.nl>
52790
52791 * configure.ac: Fix the test for cross-compiling.
52792
52793 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52794 define GRUB_UTIL anymore.
52795
52796 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52797 so this function works on other systems than just big endian.
52798 (load_modules): Likewise.
52799 (add_segments): Likewise.
52800
52801 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52802
52803 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52804 contains `l' modifier, get a long from va_arg().
52805
52806 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52807
52808 * kern/mm.c (grub_free): If the next free block which is being
52809 merged is the first free block, set the first block to the block
52810 being freed.
52811 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52812
52813 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52814
52815 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52816 `grub_ieee1275_chosen'.
52817
52818 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52819
52820 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52821 (grub_ieee1275_chosen): New variable.
52822 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52823 `chosen'.
52824 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52825 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52826 Rename first argument to `phandle' for consistency.
52827 (grub_ieee1275_get_property_length): Likewise.
52828 (grub_ieee1275_next_property): Likewise. Change type of first argument
52829 to grub_ieee1275_phandle_t.
52830 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52831 Move export next to declaration.
52832 (grub_ieee1275_chosen): New variable.
52833 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52834 Correct cosmetic typo.
52835 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52836 `grub_ieee1275_chosen'.
52837 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52838 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52839 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52840 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52841 `grub_ieee1275_chosen'.
52842
52843 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52844
52845 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52846 /chosen/bootargs.
52847 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52848 /chosen/bootargs as "variable=value" pairs.
52849
52850 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52851
52852 * include/grub/misc.h (grub_dprintf): New macro.
52853 (grub_real_dprintf): New prototype.
52854 (grub_strword): Likewise.
52855 (grub_iswordseparator): Likewise.
52856 * kern/misc.c (grub_real_dprintf): New function.
52857 (grub_strword): Likewise.
52858 (grub_iswordseparator): Likewise.
52859
52860 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52861
52862 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52863 (roundup): Remove macro.
52864 (grub_ieee1275_flags): Make static.
52865 (grub_ieee1275_realmode): Remove.
52866 (grub_ieee1275_test_flag): New function.
52867 (grub_ieee1275_set_flag): Likewise.
52868 (find_options): Rename to `grub_ieee1275_find_options'; update
52869 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52870 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52871 (cmain): New prototype.
52872 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52873 `grub_ieee1275_flags' directly.
52874 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52875 machine/biosdisk.h.
52876 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52877 Don't include grub/machine/init.h.
52878 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52879 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52880 Remove prototype.
52881 (grub_ieee1275_realmode): Likewise.
52882 (grub_ieee1275_flag): New enum.
52883 (grub_ieee1275_test_flag): New prototype.
52884 (grub_ieee1275_set_flag): New prototype.
52885 * include/grub/powerpc/ieee1275/init.h: Remove file.
52886 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52887 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52888 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52889 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52890 comment.
52891 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52892 `grub_ieee1275_test_flag'.
52893 (grub_ieee1275_encode_devname): Likewise.
52894
52895 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52896
52897 * include/grub/powerpc/ieee1275/ieee1275.h
52898 (grub_ieee1275_encode_devname): New prototype.
52899 (grub_ieee1275_get_filename): Likewise.
52900 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52901 function.
52902 (grub_set_prefix): Likewise.
52903 (grub_machine_init): Call grub_set_prefix.
52904 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52905 (grub_parse_type): New enum.
52906 (grub_ieee1275_get_devargs): New function.
52907 (grub_ieee1275_get_devname): Likewise.
52908 (grub_ieee1275_parse_args): Likewise.
52909 (grub_ieee1275_get_filename): Likewise.
52910 (grub_ieee1275_encode_devname): Likewise.
52911
52912 2005-03-30 Marco Gerards <metgerards@student.han.nl>
52913
52914 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52915 `grub_loader_unset'.
52916
52917 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52918
52919 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52920 instead of grub_ieee1275_interpret.
52921 (grub_halt_init): New function.
52922 (grub_halt_fini): Likewise.
52923 (GRUB_MOD_INIT): Correct message grammar.
52924 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52925 instead of grub_ieee1275_interpret.
52926 (grub_reboot_init): New function.
52927 (grub_reboot_fini): Likewise.
52928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52929 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52930 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52931 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52932 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52933 function.
52934 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52935 Add prototype.
52936 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52937 prototype.
52938 (grub_halt): Likewise.
52939 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52940 (cmain): Remove __attribute__((unused)).
52941 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52942 (grub_heap_len): Likewise.
52943 (grub_machine_fini): New function.
52944 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52945 (grub_halt): Likewise.
52946 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52947 function.
52948 * util/powerpc/ieee1275/misc.c: New file.
52949
52950 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52951
52952 * DISTLIST: New file.
52953 * gendistlist.sh: Likewise.
52954
52955 * Makefile.in (COMMON_DISTFILES): Removed.
52956 (BOOT_DISTFILES): Likewise.
52957 (CONF_DISTFILES): Likewise.
52958 (DISK_DISTFILES): Likewise.
52959 (FS_DISTFILES): Likewise.
52960 (INCLUDE_DISTFILES): Likewise.
52961 (KERN_DISTFILES): Likewise.
52962 (LOADER_DISTFILES): Likewise.
52963 (TERM_DISTFILES): Likewise.
52964 (UTIL_DISTFILES): Likewise.
52965 (DISTFILES): Likewise.
52966 (uninstall): Uninstall files in $(pkgdata_DATA).
52967 (DISTLIST): New target.
52968 (distdir): Use the contents of the file DISTLIST to get a list of
52969 distributed files.
52970
52971 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52972
52973 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52974 descriptor. This is ported from GRUB Legacy.
52975
52976 * gencmdlist.sh: Added an extra semicolon to make it work with
52977 old sed versions. Reported by Robert Bihlmeyer
52978 <robbe@orcus.priv.at>.
52979
52980 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
52981
52982 Automatic loading of commands is supported.
52983
52984 * normal/main.c (read_command_list): New function.
52985 (grub_normal_execute): Call read_command_list.
52986
52987 * normal/command.c (grub_register_command): Return zero or CMD.
52988 Allocate CMD->NAME from the heap.
52989 Initialize CMD->MODULE_NAME to zero.
52990 Find the same name as well. If the same command is found and it is
52991 a dummy command, overwrite members. If it is not a dummy command,
52992 return zero.
52993 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52994 (grub_command_find): If a dummy command is found, load a module
52995 and retry to find a command only once.
52996
52997 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52998 make sure that each command is loaded.
52999
53000 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
53001 macro.
53002 (struct grub_command): Remove const from the member `name'.
53003 Add a new member `module_name'.
53004 (grub_register_command): Return grub_command_t.
53005
53006 * commands/help.c (grub_cmd_help): Call grub_command_find to make
53007 sure that each command is loaded.
53008
53009 * genmk.rb (PModule::rule): Specify a module name without the
53010 suffix ".mod" to gencmdlist.sh.
53011
53012 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53013
53014 * gencmdlist.sh: New file.
53015
53016 * genmk.rb (PModule::rule): Generate a rule for a command list.
53017 Clean command.lst.
53018 Generate command.lst from $(COMMANDFILES).
53019
53020 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
53021 (DATA): Added $(pkgdata_DATA).
53022 (install-local): Install files in $(pkgdata_DATA).
53023
53024 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
53025
53026 * term/i386/pc/vga.c (debug_command): Removed.
53027 (GRUB_MOD_INIT): Do not register the command "debug".
53028
53029 From Hollis Blanchard:
53030 * commands/configfile.c: New file.
53031 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53032 commands/configfile.c.
53033 (pkgdata_MODULES): Added configfile.mod.
53034 (configfile_mod_SOURCES): New variable.
53035 (configfile_mod_CFLAGS): Likewise.
53036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
53037 commands/configfile.c.
53038 (pkgdata_MODULES): Added configfile.mod.
53039 (configfile_mod_SOURCES): New variable.
53040 (configfile_mod_CFLAGS): Likewise.
53041 * util/grub-emu.c (main): Call grub_configfile_init and
53042 grub_configfile_fini.
53043 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
53044 prototype.
53045 [GRUB_UTIL] (grub_configfile_fini): Likewise.
53046
53047 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53048
53049 * normal/arg.c (grub_arg_show_help): Do not show the bug report
53050 address.
53051
53052 * commands/help.c (grub_cmd_help): Do not print newlines after
53053 the last command in print_command_help.
53054
53055 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
53056
53057 * commands/default.h: New file.
53058 * commands/timeout.h: Likewise.
53059 * normal/context.c: Likewise.
53060
53061 * util/misc.c: Do not include sys/times.h.
53062 Include sys/time.h and grub/machine/time.h.
53063 (grub_get_rtc): Rewritten with gettimeofday.
53064
53065 * util/grub-emu.c (main): Call grub_default_init and
53066 grub_timeout_init before grub_normal_init, and call
53067 grub_timeout_fini and grub_default_fini after grub_main.
53068
53069 * util/console.c (grub_ncurses_checkkey): Return the read
53070 character or -1.
53071
53072 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
53073 timeouts.
53074
53075 * normal/main.c (read_config_file): Push MENU. If this fails,
53076 print an error and wait for a user input.
53077 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
53078 If a menu is empty or an error occurs, pop MENU.
53079 (grub_normal_execute): Pop and free MENU after grub_menu_run
53080 returns.
53081
53082 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
53083
53084 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
53085 include time.h.
53086 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53087 without GRUB_UTIL.
53088 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
53089 time.h.
53090 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53091 without GRUB_UTIL.
53092
53093 * include/grub/normal.h (struct grub_menu_list): New struct.
53094 (grub_menu_list_t): New type.
53095 (struct grub_context): New struct.
53096 (grub_context_t): New type.
53097 (grub_register_command): Got rid of EXPORT_FUNC.
53098 (grub_unregister_command): Likewise.
53099 (grub_context_get): New prototype.
53100 (grub_context_get_current_menu): Likewise.
53101 (grub_context_push_menu): Likewise.
53102 (grub_context_pop_menu): Likewise.
53103 [GRUB_UTIL] (grub_default_init): Likewise.
53104 [GRUB_UTIL] (grub_default_fini): Likewise.
53105 [GRUB_UTIL] (grub_timeout_init): Likewise.
53106 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53107
53108 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53109 commands/timeout.c and normal/context.c.
53110 (pkgdata_MODULES): Added default.mod and timeout.mod.
53111 (normal_mod_SOURCES): Added normal/context.c.
53112 (default_mod_SOURCES): New variable.
53113 (default_mod_CFLAGS): Likewise.
53114 (timeout_mod_SOURCES): Likewise.
53115 (timeout_mod_CFLAGS): Likewise.
53116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53117 conf/i386-pc.rmk.
53118 (pkgdata_MODULES): Added default.mod and timeout.mod.
53119 (normal_mod_SOURCES): Added normal/context.c.
53120 (default_mod_SOURCES): New variable.
53121 (default_mod_CFLAGS): Likewise.
53122 (timeout_mod_SOURCES): Likewise.
53123 (timeout_mod_CFLAGS): Likewise.
53124
53125 * Makefile.in (all-local): Added $(MKFILES).
53126
53127 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53128
53129 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53130 (grub_emu_SOURCES): Likewise.
53131 (pkgdata_MODULES): Add `sun.mod'.
53132 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53134 `partmap/sun.c'.
53135 (pkgdata_MODULES): Add `sun.mod'.
53136 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53137 * include/grub/partition.h (grub_sun_partition_map_init): New
53138 prototype.
53139 (grub_sun_partition_map_fini): Likewise.
53140 * partmap/sun.c: New file.
53141 * util/grub-emu.c (main): Initialize and de-initialize the sun
53142 partitionmap support.
53143
53144 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53145
53146 This implements an Emacs-like menu entry editor.
53147
53148 * normal/menu_entry.c: New file.
53149
53150 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53151 characters to ASCII.
53152 (saved_char): New variable.
53153 (grub_ncurses_checkkey): Rewritten completely.
53154 (grub_ncurses_getkey): Likewise.
53155 (grub_ncurses_init): Call raw instead of cbreak.
53156
53157 * normal/menu.c (print_entry): Do not put a space.
53158 (init_page): Renamed to ...
53159 (grub_menu_init_page): ... this. All callers changed.
53160 (edit_menu_entry): Removed.
53161 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53162
53163 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53164
53165 * kern/misc.c (grub_vprintf): Call grub_refresh.
53166
53167 * normal/menu.c (DISP_LEFT): Renamed to ...
53168 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53169 * normal/menu.c (DISP_UP): Renamed to ...
53170 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53171 * normal/menu.c (DISP_RIGHT): Renamed to ...
53172 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53173 * normal/menu.c (DISP_DOWN): Renamed to ...
53174 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53175 * normal/menu.c (DISP_HLINE): Renamed to ...
53176 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53177 * normal/menu.c (DISP_VLINE): Renamed to ...
53178 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53179 * normal/menu.c (DISP_UL): Renamed to ...
53180 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53181 * normal/menu.c (DISP_UR): Renamed to ...
53182 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53183 * normal/menu.c (DISP_LL): Renamed to ...
53184 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53185 * normal/menu.c (DISP_LR): Renamed to ...
53186 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53187 * normal/menu.c (TERM_WIDTH): Renamed to ...
53188 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53189 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53190 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53191 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53192 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53193 * normal/menu.c (TERM_MARGIN): Renamed to ...
53194 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53195 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53196 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53197 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53198 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53199 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53200 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53201 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53202 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53203 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53204 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53205 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53206 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53207 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53208 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53209 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53210 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53211 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53212 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53213 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53214 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53215 All callers changed.
53216
53217 * include/grub/normal.h: New prototype.
53218
53219 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53220 normal/menu_entry.c.
53221 (normal_mod_SOURCES): Likewise.
53222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53223 (normal_mod_SOURCES): Likewise.
53224
53225 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53226
53227 * include/grub/normal.h (grub_halt_init): New prototype.
53228 (grub_halt_fini): Likewise.
53229 (grub_reboot_init): Likewise.
53230 (grub_reboot_fini): Likewise.
53231
53232 * util/grub-emu.c: Include signal.h.
53233 (main_env): New global variable.
53234 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53235 catch C-c.
53236 (grub_machine_fini): New function.
53237 (main): Call grub_halt_init and grub_reboot_init before
53238 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53239 Call setjmp with MAIN_ENV to go back afterwards.
53240 Call grub_machine_fini right before return.
53241
53242 * include/grub/util/misc.h: Include setjmp.h.
53243 (main_env): New prototype.
53244
53245 * include/grub/kernel.h (grub_machine_fini): New prototype.
53246 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53247 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53248
53249 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53250 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53251 * term/i386/pc/console.c (grub_console_fini): Likewise.
53252
53253 * util/i386/pc/misc.c: New file.
53254
53255 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53256 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53257 commands/i386/pc/reboot.c.
53258
53259 2005-02-14 Guillem Jover <guillem@hadrons.org>
53260
53261 * include/grub/dl.h (grub_dl_check_header): New prototype.
53262 (grub_arch_dl_check_header): Change return type to grub_err_t,
53263 remove size parameter and export function. Update all callers.
53264 * kern/dl.c (grub_dl_check_header): New function.
53265 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53266 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53267 are inside the core.
53268 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53269 independent ELF header checks.
53270 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53271 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53272 `grub_dl_check_header' instead of explicit checks. Check for the
53273 ELF type.
53274 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53275 `grub_dl_check_header' instead of explicit checks. Remove arch
53276 specific ELF header checks.
53277
53278 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53279 argument SIZE.
53280
53281 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53282
53283 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53284 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53285
53286 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53287
53288 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
53289 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
53290 (part_map_iterate): Clear `grub_errno' and return 0 if
53291 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
53292 * partmap/amiga.c (amiga_partition_map_iterate): Return
53293 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53294 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53295
53296 2005-02-01 Guillem Jover <guillem@hadrons.org>
53297
53298 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53299 help info.
53300
53301 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53302
53303 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53304 Removed prototype.
53305 (grub_rescue_cmd_linux): New prototype.
53306 (grub_rescue_cmd_initrd): Likewise.
53307 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53308 `bi_rec'.
53309 (grub_linux_release_mem): Release the memory for the initrd.
53310 (grub_load_linux): Renamed from this...
53311 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53312 Changed `entry' not to be static. Loop over memory regions to
53313 find another one when the default fails.
53314 (grub_rescue_cmd_initrd): New function.
53315 (grub_linux_init): Remove function.
53316 (grub_linux_fini): Likewise.
53317 (GRUB_MOD_INIT): Register `initrd'.
53318 (GRUB_MOD_FINI): Unregister `initrd'.
53319 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53320 Function removed.
53321 (grub_linux_normal_fini): Likewise.
53322 (GRUB_MOD_INIT): Register `initrd'.
53323 (GRUB_MOD_FINI): Unregister `initrd'.
53324
53325 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53326
53327 * commands/help.c: New file.
53328 * normal/arg.c (show_help): Renamed to...
53329 (grub_arg_show_help): ... this.
53330 * commands/i386/pc/halt.c: New file.
53331 * commands/i386/pc/reboot.c: Likewise.
53332 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53333 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53334 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53335 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53336 variables.
53337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53338 `commands/help.c'.
53339 (pkgdata_MODULES): Add `help.mod'.
53340 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53341 * grub/i386/pc/init.h (grub_reboot): New prototype.
53342 (grub_halt): Likewise.
53343 * include/grub/normal.h (grub_arg_show_help): New prototype.
53344 (grub_help_init): Likewise.
53345 (grub_help_fini): Likewise.
53346 * util/grub-emu.c (main): Initialize and deinitialize the help
53347 command.
53348
53349 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53350
53351 * normal/command.c (grub_command_init): Fixed the description of
53352 the `set' and `unset' commands.
53353
53354 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53355
53356 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53357 function.
53358 * commands/ieee1275/halt.c: New file.
53359 * commands/ieee1275/reboot.c: Likewise.
53360 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53361 `__attribute__ ((unused))'. Some GCS related fixed.
53362 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53363 (grub_suspend_fini): Likewise.
53364 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53365 and `halt.mod'.
53366 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53367 (halt_mod_CFLAGS): New variables.
53368 * include/grub/powerpc/ieee1275/ieee1275.h
53369 (grub_ieee1275_interpret): New prototype.
53370
53371 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53372
53373 * include/grub/misc.h (memmove): New prototype.
53374 (memcpy): Likewise.
53375
53376 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53377
53378 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53379 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53380
53381 2005-01-22 Marco Gerards <metgerards@student.han.nl>
53382
53383 * kern/misc.c (grub_strndup): Function rewritten.
53384
53385 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53386
53387 * normal/menu.c (TERM_WIDTH): Macro redefined.
53388 (TERM_TOP_BORDER_Y): Likewise.
53389 (draw_border): Replaced while-loop by a for-loop. Make the number
53390 of lines consistent with the number of lines displayed in
53391 print_entries. Added a margin below the rectangle.
53392 (print_entry): Make the entry fit in the rectangle.
53393 (print_entries): Display the scroll arrows next to the right
53394 border.
53395
53396 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53397
53398 * fs/minix.c (grub_minix_find_file): Reserve more space for
53399 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53400 `grub_strncpy' to copy `path' into it.
53401
53402 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53403
53404 Add the loopback device, a device via which files can be accessed
53405 as devices.
53406
53407 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53408 (pkgdata_MODULES): Add loopback.mod.
53409 (loopback_mod_SOURCES): New variable.
53410 (loopback_mod_CFLAGS): Likewise.
53411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53412 `disk/loopback.c'.
53413 (pkgdata_MODULES): Add loopback.mod.
53414 (loopback_mod_SOURCES): New variable.
53415 (loopback_mod_CFLAGS): Likewise.
53416 * disk/loopback.c: new file.
53417 * include/grub/normal.h (grub_loop_init): New prototype.
53418 (grub_loop_fini): New prototype.
53419 * util/grub-emu.c (main): Initialize and de-initialize loopback
53420 support.
53421 * include/grub/disk.h (grub_disk_dev_id): Add
53422 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53423
53424 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53425
53426 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53427 function.
53428 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53429 (suspend_mod_SOURCES): New variable.
53430 (suspend_mod_CFLAGS): Likewise.
53431 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53432 New prototype.
53433 * commands/ieee1275/suspend.c: New file.
53434
53435 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53436
53437 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
53438 ((unused))' to `__attribute__ ((used))'.
53439 (GRUB_MOD_FINI): Likewise.
53440 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53441 * genmk.rb (PModule): Assign space to common symbols when linking
53442 modules.
53443
53444 2005-01-20 Marco Gerards <metgerards@student.han.nl>
53445
53446 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53447 `unsigned' arguments to `grub_size_t'.
53448 (grub_malloc): Likewise.
53449 (grub_realloc): Likewise.
53450 (grub_memalign): Likewise.
53451 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53452 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53453 * util/misc.c (grub_malloc): Likewise.
53454 (grub_realloc): Likewise.
53455 * kern/mm.c (get_header_from_pointer): Change the casts to
53456 `unsigned' into a cast to `grub_size_t'.
53457
53458 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53459 point to `currnode' when `currnode' is changed.
53460
53461 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53462 Schottelius <nico-linux@schottelius.org>.
53463
53464 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53465
53466 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53467 (note_path): Remove variable.
53468 (GRUB_IEEE1275_NOTE_NAME): New macro.
53469 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53470 (grub_ieee1275_note_hdr): New structure.
53471 (grub_ieee1275_note_desc): Likewise.
53472 (grub_ieee1275_note): Likewise.
53473 (load_note): Remove `dir' argument. All callers updated. Remove
53474 `note_img' and `path'. Do not load a file from `note_path'.
53475 Initialize a struct grub_ieee1275_note and write that to `out'.
53476 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53477
53478 2005-01-05 Marco Gerards <metgerards@student.han.nl>
53479
53480 * util/misc.c (grub_util_read_image): Revert last change. It
53481 called `grub_util_read_at', which seeks from the beginning of the
53482 file.
53483
53484 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53485
53486 * TODO: Add note about endianness in grub-mkimage.
53487 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53488 section.
53489 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53490 (grub_mkimage_SOURCES): New target.
53491 * include/grub/kernel.h (grub_start_addr): Remove variable.
53492 (grub_end_addr): Likewise.
53493 (grub_total_module_size): Likewise.
53494 (grub_kernel_image_size): Likewise.
53495 (GRUB_MODULE_MAGIC): New constant.
53496 (grub_module_info): New structure.
53497 (grub_arch_modules_addr): New prototype.
53498 (grub_get_end_addr): Remove prototype.
53499 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53500 * include/grub/powerpc/ieee1275/kernel.h: New file.
53501 * include/grub/util/misc.h (grub_util_get_fp_size): New
53502 prototype.
53503 (grub_util_read_at): Likewise.
53504 (grub_util_write_image_at): Likewise.
53505 * kern/main.c (grub_get_end_addr): Remove function.
53506 (grub_load_modules): Call grub_arch_modules_addr instead of using
53507 grub_end_addr. Look for a grub_module_info struct in memory. Use
53508 the grub_module_info fields instead of calling grub_get_end_addr
53509 as loop conditions. Move grub_add_unused_region code here.
53510 (grub_add_unused_region): Remove function.
53511 * kern/i386/pc/init.c: Include grub/cache.h.
53512 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53513 one call to add_mem_region.
53514 (grub_arch_modules_addr): New function.
53515 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53516 (grub_total_module_size): Likewise.
53517 Include grub/machine/kernel.h.
53518 (grub_arch_modules_addr): New function.
53519 * util/grub-emu.c (grub_end_addr): Remove variable.
53520 (grub_total_module_size): Likewise.
53521 (grub_arch_modules_addr): New function.
53522 * util/misc.c: Include unistd.h.
53523 (grub_util_get_fp_size): New function.
53524 (grub_util_read_at): Likewise.
53525 (grub_util_write_image_at): Likewise.
53526 (grub_util_read_image): Call grub_util_read_at.
53527 (grub_util_write_image): Call grub_util_write_image_at.
53528 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53529 additional memory in kernel_img for a struct grub_module_info.
53530 Fill in that grub_module_info.
53531 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53532
53533 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53534
53535 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53536 New function.
53537 * include/grub/powerpc/ieee1275/ieee1275.h
53538 (grub_ieee1275_milliseconds): New prototype.
53539 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53540 Change to 1000.
53541 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53542 grub_ieee1275_milliseconds.
53543
53544 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53545
53546 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53547 variable.
53548 (find_options): New function.
53549 (cmain): Call find_options.
53550 * include/grub/powerpc/ieee1275/ieee1275.h
53551 (grub_ieee1275_realmode): New extern variable.
53552 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53553 grub_map if grub_ieee1275_realmode is false.
53554
53555 2004-12-29 Marco Gerards <metgerards@student.han.nl>
53556
53557 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53558 lines are inserted and make it work like readline. Reported by
53559 Vincent Pelletier <subdino2004@yahoo.fr>.
53560
53561 2004-12-28 Marco Gerards <metgerards@student.han.nl>
53562
53563 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53564
53565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53566 `kern/powerpc/cache.S'.
53567
53568 2004-12-27 Marco Gerards <metgerards@student.han.nl>
53569
53570 * genmk.rb: Handle the `Program' class in the main loop. Written
53571 by Johan Rydberg <jrydberg@gnu.org>.
53572 (Program): New class.
53573 (programs): New variable.
53574 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53575 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53576 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53577 (help_arch): Function removed.
53578 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53579 `powerpc/libgcc.h' and `loader.h'.
53580 (pkgdata_PROGRAMS): New variable.
53581 (sbin_UTILITIES): Variable removed.
53582 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53583 (grubof_SOURCES): Variable re-defined so it only includes the
53584 core functionality.
53585 (grubof_CFLAGS): Remove `-DGRUBOF'.
53586 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53587 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53588 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53589 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53590 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53591 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53592 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53593 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53594 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53595 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53596 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53597 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53598 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53599 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53600 (pc_mod_CFLAGS): New variables.
53601 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53602 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53603 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53604 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53605 Moved from here...
53606 * include/grub/i386/pc/init.h (grub_os_area_addr)
53607 (rub_os_area_size): ... to here.
53608 * include/grub/powerpc/ieee1275/ieee1275.h
53609 (grub_ieee1275_entry_fn): Export symbol.
53610 * include/grub/powerpc/ieee1275/init.h: New file.
53611 * include/grub/powerpc/libgcc.h: Likewise.
53612 * include/grub/cache.h: Likewise.
53613 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53614 <hollis@penguinppc.org>.
53615 * kern/dl.c: Include <grub/cache.h>.
53616 (grub_dl_flush_cache): New function.
53617 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53618 for this module.
53619 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53620 (grub_console_init): Removed prototypes.
53621 (grub_machine_init): Don't initialize the modules anymore.
53622 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53623 static.
53624 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53625 Macro undef removed.
53626 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53627 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53628 relocation `R_PPC_REL32'. Return an error when the relocation is
53629 unknown.
53630 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53631 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53632 * util/misc.c (grub_arch_sync_caches): Likewise.
53633
53634 2004-12-19 Marco Gerards <metgerards@student.han.nl>
53635
53636 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53637 `symlist.c', add `grubof_symlist.c'.
53638 (symlist.c): Variable removed.
53639 (grubof_HEADERS): Variable added.
53640 (grubof_symlist.c): New target.
53641 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53642 `kernel_img_HEADERS'.
53643 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53644 * kern/powerpc/dl.c: New file.
53645 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53646 Function removed.
53647 (grub_arch_dl_relocate_symbols): Likewise.
53648 (grub_register_exported_symbols): Likewise.
53649
53650 2004-12-13 Marco Gerards <metgerards@student.han.nl>
53651
53652 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53653 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53654 to fail instead. Reported by Vincent Pelletier
53655 <subdino2004@yahoo.fr>.
53656
53657 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53658 it is not allocated. Reported by Vincent Pelletier
53659 <subdino2004@yahoo.fr>.
53660
53661 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53662 output so the output looks better.
53663
53664 2004-12-04 Marco Gerards <metgerards@student.han.nl>
53665
53666 Modulize the partition map support and add support for the amiga
53667 partition map.
53668
53669 * commands/ls.c: Include <grub/partition.h> instead of
53670 <grub/machine/partition.h>.
53671 * kern/disk.c: Likewise.
53672 * kern/rescue.c: Likewise.
53673 * loader/i386/pc/chainloader.c: Likewise.
53674 * normal/cmdline.c: Likewise.
53675 * kern/powerpc/ieee1275/init.c: Likewise.
53676 (grub_machine_init): Call `grub_pc_partition_map_init',
53677 `grub_amiga_partition_map_init' and
53678 `grub_apple_partition_map_init'.
53679 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53680 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53681 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53682 `partition.h' and `pc_partition.h'.
53683 (grub_setup_SOURCES): Remove
53684 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53685 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53686 (grub_emu_SOURCES): Likewise.
53687 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53688 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53689 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53691 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53692 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53693 (grubof_SOURCES): Likewise.
53694 * disk/i386/pc/partition.c: File removed.
53695 * disk/powerpc/ieee1275/partition.c: Likewise.
53696 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53697 * include/grub/i386/pc/partition.h: Likewise.
53698 * kern/partition.c: New file.
53699 * partmap/amiga.c: Likewise.
53700 * partmap/apple.c: Likewise.
53701 * partmap/pc.c: Likewise.
53702 * include/grub/partition.h: Likewise..
53703 * include/grub/pc_partition.h: Likewise.
53704 * util/grub-emu.c: Include <grub/partition.h> instead of
53705 <grub/machine/partition.h>.
53706 (main): Call `grub_pc_partition_map_init',
53707 `grub_amiga_partition_map_init' and
53708 `grub_apple_partition_map_init' and deinitialize afterwards.
53709 * util/i386/pc/biosdisk.c: Include `#include
53710 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53711 `<grub/machine/partition.h>'.
53712 * util/i386/pc/grub-setup.c: Likewise.
53713 * util/i386/pc/biosdisk.c: Likewise.
53714 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53715 partition information in case of a PC partition.
53716 * util/i386/pc/grub-setup.c: Include `#include
53717 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53718 `<grub/machine/partition.h>'.
53719 (setup): Only access the PC specific partition information in case
53720 of a PC partition.
53721
53722 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
53723
53724 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53725 (grub_longjmp): Likewise.
53726 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53727 20.
53728 * normal/powerpc/setjmp.S: New file.
53729 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53730 `normal/powerpc/setjmp.S'.
53731 (grubof_CFLAGS): Add `-DGRUBOF'.
53732 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53733 [GRUB_UTIL && !GRUBOF].
53734
53735 2004-11-16 Marco Gerards <metgerards@student.han.nl>
53736
53737 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53738 property named `name'. Correctly handle the error returned by
53739 `grub_ieee1275_finddevice' if a device can not be opened.
53740
53741 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53742
53743 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53744 `actual' for negativity.
53745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53746 kern/fshelp.c.
53747
53748 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53749
53750 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53751 (PAGE_OFFSET): New macro.
53752 (CRTC_ADDR_PORT): Likewise.
53753 (CRTC_DATA_PORT): Likewise.
53754 (START_ADDR_HIGH_REGISTER): Likewise.
53755 (START_ADDR_LOW_REGISTER): Likewise.
53756 (GRAPHICS_ADDR_PORT): Likewise.
53757 (GRAPHICS_DATA_PORT): Likewise.
53758 (READ_MAP_REGISTER): Likewise.
53759 (INPUT_STATUS1_REGISTER): Likewise.
53760 (INPUT_STATUS1_VERTR_BIT): Likewise.
53761 (page): New variable.
53762 (wait_vretrace): New function.
53763 (set_read_map): Likewise.
53764 (set_start_address): Likewise.
53765 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53766 the right page.
53767 (check_vga_mem): Take the page into account.
53768 (write_char): Likewise.
53769 (write_cursor): Likewise.
53770 (scroll_up): Likewise. Copy the page to the page that is not
53771 shown and switch between both pages.
53772 (grub_vga_putchar): Fix off by one error.
53773 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53774 account.
53775
53776 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53777
53778 Add support for iso9660 (including rockridge).
53779
53780 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53781 (iso9660_mod_SOURCES): New variable.
53782 (iso9660_mod_CFLAGS): Likewise.
53783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53784 * include/grub/fs.h (grub_iso9660_init): New prototype.
53785 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53786 * fs/iso9660.c: New file.
53787
53788 * include/grub/misc.h (grub_strncat): New prototype.
53789 * kern/misc.c (grub_strncat): New function.
53790
53791 * fs/hfs.c (grub_hfs_mount): Translate the error
53792 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53793 * fs/jfs.c (grub_jfs_mount): Likewise.
53794 * fs/ufs.c (grub_ufs_mount): Likewise.
53795
53796 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53797
53798 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53799 which initialized BAT registers.
53800 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53801 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53802 Move from here...
53803 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53804 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53805 ... to here.
53806 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53807 (grub_mapclaim): Likewise.
53808 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53809 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53810 hand.
53811
53812 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53813
53814 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53815 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53816 -ffreestanding and -msoft-float.
53817
53818 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53819
53820 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53821 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53822 set in grub_ieee1275_flags.
53823
53824 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53825
53826 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53827 prototype.
53828 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53829 grub_console_init first.
53830 Change the memory range used for grub_ieee1275_claim and
53831 grub_mm_init_region.
53832 Print an error message if the claim fails.
53833 Include <grub/misc.h>.
53834
53835 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53836
53837 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53838 Call grub_children_iterate for device nodes of type `scsi',
53839 `ide', or `ata'.
53840 (grub_ofdisk_open): Remove manual device alias resolution.
53841 Fix memory leak when device cannot be opened.
53842 * include/grub/powerpc/ieee1275/ieee1275.h
53843 (grub_children_iterate): New prototype.
53844 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53845 New function.
53846 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53847 Return -1 if args.size was -1.
53848
53849 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53850
53851 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53852 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53853 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53854 Open Firmware's memory for it; claim memory from _start to _end.
53855 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53856 (_end): New extern.
53857 (_start): Zero BSS from __bss_start to _end.
53858 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53859 New extern.
53860 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53861
53862 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53863
53864 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53865 -1 if args.base was -1.
53866
53867 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53868
53869 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53870 escape sequence instead of a literal ^L. Also call
53871 grub_ofconsole_gotoxy.
53872
53873 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53874
53875 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53876 void * arguments to grub_addr_t. All callers updated. Also make
53877 the `result' argument optional.
53878 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53879 All callers updated.
53880
53881 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53882
53883 * commands/ls.c (grub_ls_list_files): Use the string following the
53884 initial ')', if present, as the filesystem path.
53885 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53886
53887 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53888
53889 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53890
53891 Make the source code of the menu interface more readable.
53892
53893 * normal/menu.c: Include grub/mm.h.
53894 (TERM_WIDTH): New macro.
53895 (TERM_HEIGHT): Likewise.
53896 (TERM_INFO_HEIGHT): Likewise.
53897 (TERM_MARGIN): Likewise.
53898 (TERM_SCROLL_WIDTH): Likewise.
53899 (TERM_TOP_BORDER_Y): Likewise.
53900 (TERM_LEFT_BORDER_X): Likewise.
53901 (TERM_BORDER_WIDTH): Likewise.
53902 (TERM_MESSAGE_HEIGHT): Likewise.
53903 (TERM_BORDER_HEIGHT): Likewise.
53904 (TERM_NUM_ENTRIES): Likewise.
53905 (TERM_FIRST_ENTRY_Y): Likewise.
53906 (TERM_ENTRY_WIDTH): Likewise.
53907 (TERM_CURSOR_X): Likewise.
53908 (draw_border): Use macros instead of magic numbers.
53909 (print_entry): Likewise.
53910 (print_entries): Likewise.
53911 (run_menu): Likewise. Also, handle the key 'e'.
53912 (run_menu_entry): Ignore empty command lines.
53913 (print_message): Added a new argument EDIT. If EDIT is true,
53914 print a different message.
53915 (init_page): Likewise.
53916 (edit_menu_entry): New function. Not implemented yet.
53917
53918 2004-09-17 Marco Gerards <metgerards@student.han.nl>
53919
53920 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53921 can be loaded from normal mode.
53922
53923 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53924 `multiboot.mod'.
53925 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53926 (multiboot_mod_CFLAGS): New variables.
53927 * loader/i386/pc/linux_normal.c: New file.
53928 * loader/i386/pc/multiboot_normal.c: Likewise.
53929
53930 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53931 attribute `unused'.
53932
53933 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53934 `fdiro' to read the mode information from instead of `diro'.
53935
53936 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53937 looking up a symlink.
53938
53939 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53940 macro.
53941 * normal/command.c (grub_command_execute): Don't parse the
53942 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53943 flags of the command.
53944
53945 * normal/menu.c (grub_menu_run): Fix typo.
53946
53947 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53948
53949 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53950
53951 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53952 `y + 1' instead of `y - 1'.
53953
53954 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
53955
53956 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53957
53958 From Hollis Blanchard <hollis@penguinppc.org>:
53959 * kern/misc.c (memmove): New alias for grub_memmove.
53960 (memcmp): New alias for grub_memcmp.
53961 (memset): New alias for grub_memset.
53962 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53963 Change "int handle" to "grub_ieee1275_phandle_t handle".
53964 * include/grub/powerpc/ieee1275/ieee1275.h
53965 (grub_ieee1275_get_property): Likewise.
53966
53967 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53968
53969 Added normal mode command `chainloader' as module chain.mod, which
53970 depends on normal.mod and _chain.mod.
53971
53972 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53973 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53974 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53975 Deleted prototype.
53976 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53977 but arguments parsing moved to ...
53978 (grub_chainloader_cmd): ... here. New function.
53979 * include/grub/i386/pc/chainloader.h: New file.
53980 * loader/i386/pc/chainloader_normal.c: Likewise.
53981
53982 2004-09-11 Marco Gerards <metgerards@student.han.nl>
53983
53984 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53985 (grub_mkimage_LDFLAGS): Likewise.
53986 (grub_emu_SOURCES): Likewise.
53987 (kernel_img_HEADERS): Added fshelp.h.
53988 * fs/ext2.c: Include <grub/fshelp.h>.
53989 (FILETYPE_REG): New macro.
53990 (FILETYPE_INO_REG): Likewise.
53991 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53992 Changed all users.
53993 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53994 all users.
53995 (grub_fshelp_node): New struct.
53996 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53997 to a pointer.
53998 (grub_ext2_get_file_block): Removed function.
53999 (grub_ext2_read_block): New function.
54000 (grub_ext2_read_file): Replaced parameter `data' by `node'.
54001 This function was written.
54002 (grub_ext2_mount): Read the root inode. Create a diropen struct.
54003 (grub_ext2_find_file): Removed function.
54004 (grub_ext2_read_symlink): New function.
54005 (grub_ext2_iterate_dir): Likewise.
54006 (grub_ext2_open): Rewritten.
54007 (grub_ext2_dir): Rewritten.
54008 * include/grub/fshelp.h: New file.
54009 * fs/fshelp.c: Likewise.
54010
54011 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
54012
54013 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
54014 (print_message): Add a missing newline.
54015 (run_menu): Added timeout support.
54016 (run_menu_entry): New local function.
54017 (grub_menu_run): Added support for booting.
54018
54019 * kern/loader.c (grub_loader_is_loaded): New function.
54020
54021 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
54022 (grub_get_rtc): Exported.
54023
54024 * include/grub/i386/pc/time.h: Include grub/symbol.h.
54025 (grub_get_rtc): Exported.
54026
54027 * include/grub/normal.h (struct grub_command_list): Remove
54028 constant from the member `command'.
54029
54030 * include/grub/loader.h (grub_loader_is_loaded): Declared.
54031
54032 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
54033
54034 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
54035
54036 2004-08-28 Marco Gerards <metgerards@student.han.nl>
54037
54038 Add support for the JFS filesystem.
54039
54040 * fs/jfs.c: New file.
54041 * include/grub/fs.h (grub_jfs_init): New prototype.
54042 (grub_jfs_fini): New prototype.
54043 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
54044 (grub_emu_SOURCES): Likewise.
54045 (pkgdata_MODULES): Add jfs.mod.
54046 (jfs_mod_SOURCES): New variable.
54047 (jfs_mod_CFLAGS): Likewise.
54048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
54049 (grubof_SOURCES): Likewise.
54050 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
54051
54052 * fs/fat.c (grub_fat_find_dir): Convert the filename little
54053 endian to the host endian.
54054 (grub_fat_utf16_to_utf8): Move function from there...
54055 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
54056 the endianness of the source string anymore.
54057 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
54058
54059 2004-08-24 Marco Gerards <metgerards@student.han.nl>
54060
54061 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
54062 (grub_boot_fini) [GRUB_UTIL]: Likewise.
54063 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
54064 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
54065
54066 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
54067 (grub_hfs_iterate_dir): Make the function static. Add prototypes
54068 for `node_found' and `it_dir'.
54069 (grub_hfs_dir): Add prototype for `dir_hook'.
54070
54071 * fs/minix.c (grub_minix_get_file_block): Add prototype for
54072 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
54073 and `indir32' to silence a gcc warning.
54074
54075 * include/grub/fs.h (grub_hfs_init): New prototype.
54076 (grub_hfs_fini): Likewise.
54077
54078
54079 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
54080
54081 Each disk device has its own id now. This is useful to make use
54082 of multiple disk devices.
54083
54084 * include/grub/disk.h (grub_disk_dev_id): New enum.
54085 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
54086 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
54087
54088 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
54089 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54090
54091 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
54092 GRUB_DISK_DEVICE_OFDISK_ID as an id.
54093
54094 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
54095 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54096
54097 * include/grub/disk.h (struct grub_disk_dev): Added a new member
54098 "id" which is used by the cache manager.
54099
54100 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
54101 of just "GRUB".
54102
54103 2004-08-18 Marco Gerards <metgerards@student.han.nl>
54104
54105 * fs/hfs.c: New file.
54106 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54107 (grub_emu_SOURCES): Likewise.
54108 (pkgdata_MODULES): Add hfs.mod.
54109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54110 (grubof_SOURCES): Likewise.
54111 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54112
54113 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54114 * kern/misc.c (grub_strncasecmp): Add function.
54115
54116 2004-08-14 Marco Gerards <metgerards@student.han.nl>
54117
54118 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54119 with parentheses.
54120
54121 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54122 (grub_ext2_dir): In case the directory entry type is unknown, read
54123 it from the inode.
54124
54125 2004-08-02 Peter Bruin <pjbruin@dds.nl>
54126
54127 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54128 grub_load_linux instead of grub_rescue_cmd_linux as second
54129 argument of grub_rescue_register_command.
54130
54131 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54132
54133 2004-07-27 Marco Gerards <metgerards@student.han.nl>
54134
54135 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54136 function.
54137 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54138 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54139 `loader/powerpc/ieee1275/linux.c',
54140 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54141 * include/grub/powerpc/ieee1275/ieee1275.h
54142 (grub_ieee1275_release): New prototype.
54143 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54144 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54145 normal, boot, linux and linux_normal.
54146 * loader/powerpc/ieee1275/linux.c: New file.
54147 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54148
54149 2004-07-12 Marco Gerards <metgerards@student.han.nl>
54150
54151 * normal/arg.c (grub_arg_parse): Correct error handling after
54152 reallocating the argumentlist (check if `argl' is not null instead
54153 of checking if `args' is not null).
54154 * kern/mm.c (grub_realloc): Return the same pointer when using the
54155 same region, instead of returning the header address.
54156
54157 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54158
54159 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54160 one block instead of two when looking for the initial partition.
54161 (grub_partition_probe): Initialize the local variable `p' with 0.
54162 Use base 10 for the grub_strtoul call.
54163 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54164 need for one local variable.
54165 (grub_strtoul): Don't add the new value to `num', instead of that
54166 just assign it.
54167
54168 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54169
54170 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54171 (pxeboot_img_SOURCES): New variable.
54172 (pxeboot_img_ASFLAGS): Likewise.
54173 (pxeboot_img_LDFLAGS): Likewise.
54174 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54175 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54176 <lode_leroy@hotmail.com>.
54177
54178 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54179
54180 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54181 there was no input.
54182
54183 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54184
54185 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54186 the history buffer logic.
54187
54188 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54189
54190 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54191 (FILETYPE_INO_SYMLINK): New macros.
54192 (grub_ext2_find_file): Check if the node is a directory using the
54193 inode stat information instead of using the filetype in the
54194 dirent. Exclude the first character of an absolute symlink.
54195 (grub_ext2_dir): Mask out the filetype part of the mode member of
54196 the inode.
54197
54198 2004-05-24 Marco Gerards <metgerards@student.han.nl>
54199
54200 Add support for UFS version 1 and 2. Add support for the minix
54201 filesystem version 1 and 2, both the variants with 14 and 30 long
54202 filenames.
54203
54204 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54205 fs/minix.c.
54206 (grub_emu_SOURCES): Likewise.
54207 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54208 (ufs_mod_SOURCES): New variable.
54209 (ufs_mod_CFLAGS): Likewise.
54210 (minix_mod_SOURCES): Likewise.
54211 (minix_mod_CFLAGS): Likewise.
54212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54213 fs/minix.c.
54214 (grubof_SOURCES): Likewise.
54215 * fs/ufs.c: New file.
54216 * fs/minix.c: New file.
54217 * include/grub/fs.h (grub_ufs_init): New prototype.
54218 (grub_ufs_fini): Likewise.
54219 (grub_minix_init): Likewise.
54220 (grub_minix_fini): Likewise.
54221 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54222 minix fs.
54223
54224 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54225
54226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54227 commands/ls.c, commands/terminal.c, commands/boot.c,
54228 commands/cmp.c and commands/cat.c.
54229 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54230
54231 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54232 "env.h"
54233
54234 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54235
54236 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54237 and grub_, respectively. Because the conversion is trivial and
54238 mechanical, I omit the details here. Please refer to the CVS
54239 if you need more information.
54240
54241 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54242
54243 * include/pupa: Renamed to ...
54244 * include/grub: ... this.
54245 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54246 * util/i386/pc/grub-mkimage.c: ... this.
54247 * util/i386/pc/pupa-setup.c: Renamed to ...
54248 * util/i386/pc/grub-setup.c: ... this.
54249 * util/pupa-emu.c: Renamed to ...
54250 * util/grub-emu.c: ... this.
54251
54252 2004-03-29 Marco Gerards <metgerards@student.han.nl>
54253
54254 Add support for the newworld apple macintosh (PPC). This has been
54255 tested on the powerbook 2000 only. It only adds support for
54256 generic ieee1275 functions, console and disk support. This should
54257 be easy to port to other architectures with support for Open
54258 Firmware.
54259
54260 * configure.ac: Accept the powerpc as host_cpu. In the case of
54261 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54262 specific tests are only executed while building for the i386.
54263 Inverse test for crosscompile.
54264 * genmk.rb (Utility): Allow assembler files.
54265 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54266 * conf/powerpc-ieee1275.rmk: New file.
54267 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54268 * disk/powerpc/ieee1275/partition.c: Likewise.
54269 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54270 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54271 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54272 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54273 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54274 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54275 * include/pupa/powerpc/ieee1275/loader.h
54276 * include/pupa/powerpc/setjmp.h: Likewise.
54277 * include/pupa/powerpc/types.h: Likewise.
54278 * kern/powerpc/ieee1275/init.c: Likewise.
54279 * kern/powerpc/ieee1275/openfw.c: Likewise.
54280 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54281
54282 These files were written by Johan Rydberg
54283 (jrydberg@night.trouble.net) and I only modified them slightly.
54284
54285 * boot/powerpc/ieee1275/cmain.c: New file.
54286 * boot/powerpc/ieee1275/crt0.S: Likewise.
54287 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54288 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54289
54290 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54291
54292 * Makefile.in: Update copyright.
54293 * genmodsrc.sh: Likewise.
54294 * gensymlist.sh: Likewise.
54295 * term/i386/pc/vga.c: Indent correctly.
54296
54297 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54298 bugreporting address.
54299 * util/i386/pc/pupa-setup.c (usage): Likewise,
54300 (main): Call pupa_ext2_init and pupa_ext2_fini.
54301
54302 * fs/fat.c (log2): Renamed to ...
54303 (fat_log2): ... this.
54304 All callers changed.
54305 * kern/misc.c (memcpy): Alias to pupa_memmove.
54306 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54307 lvalue cast.
54308 * util/console.c (pupa_ncurses_fini): Return 0.
54309
54310 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54311 Move fail label here.
54312 [__GNU__]: Don't warn when using stat.
54313 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54314 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54315 long int. Use strtol instead of strtoul.
54316
54317 2004-03-14 Marco Gerards <metgerards@student.han.nl>
54318
54319 * commands/boot.c: New file.
54320 * commands/cat.c: Likewise.
54321 * commands/cmp.c: Likewise.
54322 * commands/ls.c: Likewise.
54323 * commands/terminal.c: Likewise.
54324 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54325 (pupa_register_command): Changed interface to match the new
54326 argument parser.
54327 (pupa_command_execute): Changed (almost rewritten) so it uses
54328 pupa_split_command. Added support for setting variables using the
54329 syntax `foo=bar'.
54330 (rescue_command): Changed to work with the new argument parser.
54331 (terminal_command): Moved from here to commands/terminal.c.
54332 (set_command): New function.
54333 (unset_command): New function.
54334 (insmod_command): New function.
54335 (rmmod_command): New function.
54336 (lsmod_command): New function.
54337 (pupa_command_init): Don't initialize the command terminal
54338 anymore. Initialize the commands set, unset, insmod, rmmod and
54339 lsmod.
54340 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54341 (kernel_img_HEADERS): Add arg.h and env.h.
54342 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54343 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54344 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54345 normal/arg.c.
54346 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54347 terminal.mod.
54348 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54349 (boot_mod_SOURCES): New variable.
54350 (terminal_mod_SOURCES): Likewise.
54351 (ls_mod_SOURCES): Likewise.
54352 (cmp_mod_SOURCES): Likewise.
54353 (cat_mod_SOURCES): Likewise.
54354
54355 * normal/arg.c: New file.
54356 * kern/env.c: Likewise.
54357 * include/pupa/arg.h: Likewise.
54358 * include/pupa/env.h: Likewise.
54359 * font/manager.c (font_command): Changed to match argument parsing
54360 interface changes.
54361 (PUPA_MOD_INIT): Likewise.
54362 * hello/hello.c (pupa_cmd_hello): Likewise.
54363 (PUPA_MOD_INIT): Likewise.
54364 * include/pupa/disk.h: Include <pupa/device.h>.
54365 (pupa_print_partinfo): New prototype.
54366 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54367 (pupa_dl_get_prefix): Likewise.
54368 * include/pupa/misc.h: Include <pupa/err.h>.
54369 (pupa_isgraph): New prototype.
54370 (pupa_isdigit): Likewise.
54371 (pupa_split_cmdline): Likewise.
54372 * include/pupa/normal.h: Include <pupa/arg.h>.
54373 (pupa_command): Changed the prototype of the member `func' to
54374 match the argument parsing interface. Added member `options'.
54375 (pupa_register_command): Updated to match function.
54376 (pupa_arg_parse): New prototype.
54377 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54378 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54379 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54380 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54381 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54382 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54383 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54384 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54385 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54386 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54387 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54388 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54389 * kern/disk.c: Include <pupa/file.h>.
54390 (pupa_print_partinfo): New function.
54391 * kern/dl.c: Include <pupa/env.h>.
54392 (pupa_dl_dir): Variable removed.
54393 (pupa_dl_load): Use the environment variable `prefix' instead of
54394 the variable pupa_dl_dir.
54395 (pupa_dl_set_prefix): Function removed.
54396 (pupa_dl_get_prefix): Likewise.
54397 * kern/i386/pc/init.c: Include <pupa/env.h>.
54398 (pupa_machine_init): Use the environment variable `prefix' instead of
54399 using pupa_dl_set_prefix to set the prefix.
54400 * kern/main.c: Include <pupa/env.h>.
54401 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54402 using pupa_dl_get_prefix to get the prefix.
54403 * kern/misc.c: Include <pupa/env.h>.
54404 (pupa_isdigit): New function.
54405 (pupa_isgraph): Likewise.
54406 (pupa_ftoa): Likewise.
54407 (pupa_vsprintf): Added support for printing values of the type
54408 `double'. Make it possible to format variable output when using
54409 formatting like `%1.2%f'.
54410 (pupa_split_cmdline): New function.
54411 * kern/rescue.c: Include <pupa/env.h>.
54412 (next_word): Removed function.
54413 (pupa_rescue_cmd_prefix): Likewise.
54414 (pupa_rescue_cmd_set): New function.
54415 (pupa_rescue_cmd_unset): New function.
54416 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54417 split the command line instead of splitting it here. Added
54418 support for setting variables using the syntax `foo=bar'. Don't
54419 initialize the prefix command anymore. Initialized the set and
54420 unset commands.
54421 * normal/cmdline.c: Include <pupa/env.h>.
54422 (pupa_tab_complete): Added prototypes for print_simple_completion,
54423 print_partition_completion, add_completion, iterate_commands,
54424 iterate_dev, iterate_part and iterate_dir. Moved code to print
54425 partition information from here to kern/disk.c.
54426 (pupa_cmdline_run): Don't check if the function exists anymore.
54427 * normal/main.c: Include <pupa/env.h>.
54428 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54429 instead of using pupa_dl_get_prefix to get the prefix.
54430 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54431 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54432 warning.
54433 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54434 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54435 ((unused))' to silence a gcc warning.
54436 (pupa_vga_setcolor): Likewise.
54437 (debug_command): Changed to match argument parsing
54438 interface changes.
54439 * util/pupa-emu.c: Include <pupa/env.h>.
54440 (options): Added 0's for unused fields to silence a gcc warning.
54441 (argp): Likewise.
54442 (main): Use the environment variable `prefix' instead of using
54443 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54444 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54445 and terminal.
54446
54447 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54448 * util/misc.c: Include <malloc.h>.
54449 (pupa_malloc): Rewritten so errors are correctly reported.
54450 (pupa_realloc): Likewise.
54451 (pupa_memalign): Likewise.
54452 (pupa_mm_init_region): Declare unused variables with
54453 `__attribute__ ((unused))' to silence a gcc warning.
54454 * normal/i386/setjmp.S: Remove tab at the end of the file to
54455 silence a gcc warning.
54456 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54457 variables with `__attribute__ ((unused))' to silence a gcc
54458 warning.
54459 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54460 local variable i unsigned to silence a gcc warning.
54461
54462 * kern/term.c: Include <pupa/misc.h>.
54463 (pupa_more_lines): New variable.
54464 (pupa_more): Likewise.
54465 (pupa_putcode): When the pager is active pause at the end of every
54466 screen.
54467 (pupa_set_more): New function.
54468 * include/pupa/term.h (pupa_set_more): New prototype.
54469
54470
54471 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54472
54473 Now this project is GRUB 2 rather than PUPA. The location of
54474 the CVS repository was moved to GRUB's.
54475
54476 * configure.ac: Use bug-grub as the reporting address.
54477 Use GRUB instead of PUPA.
54478 Change the version number to 1.90.
54479
54480 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54481
54482 * genkernsyms.sh: Updated copyright information.
54483 * genmk.rb: Likewise.
54484 * genmodsrc.sh: Likewise.
54485 * gensymlist.sh: Likewise.
54486 * boot/i386/pc/boot.S: Likewise.
54487 * boot/i386/pc/diskboot.S: Likewise.
54488 * disk/i386/pc/biosdisk.c: Likewise.
54489 * disk/i386/pc/partition.c: Likewise.
54490 * font/manager.c: Likewise.
54491 * fs/ext2.c: Likewise.
54492 * fs/fat.c: Likewise.
54493 * include/pupa/boot.h: Likewise.
54494 * include/pupa/device.h: Likewise.
54495 * include/pupa/disk.h: Likewise.
54496 * include/pupa/dl.h: Likewise.
54497 * include/pupa/elf.h: Likewise.
54498 * include/pupa/err.h: Likewise.
54499 * include/pupa/file.h: Likewise.
54500 * include/pupa/font.h: Likewise.
54501 * include/pupa/fs.h: Likewise.
54502 * include/pupa/kernel.h: Likewise.
54503 * include/pupa/loader.h: Likewise.
54504 * include/pupa/misc.h: Likewise.
54505 * include/pupa/mm.h: Likewise.
54506 * include/pupa/net.h: Likewise.
54507 * include/pupa/normal.h: Likewise.
54508 * include/pupa/rescue.h: Likewise.
54509 * include/pupa/setjmp.h: Likewise.
54510 * include/pupa/symbol.h: Likewise.
54511 * include/pupa/term.h: Likewise.
54512 * include/pupa/types.h: Likewise.
54513 * include/pupa/i386/setjmp.h: Likewise.
54514 * include/pupa/i386/types.h: Likewise.
54515 * include/pupa/i386/pc/biosdisk.h: Likewise.
54516 * include/pupa/i386/pc/boot.h: Likewise.
54517 * include/pupa/i386/pc/console.h: Likewise.
54518 * include/pupa/i386/pc/init.h: Likewise.
54519 * include/pupa/i386/pc/kernel.h: Likewise.
54520 * include/pupa/i386/pc/linux.h: Likewise.
54521 * include/pupa/i386/pc/loader.h: Likewise.
54522 * include/pupa/i386/pc/memory.h: Likewise.
54523 * include/pupa/i386/pc/multiboot.h: Likewise.
54524 * include/pupa/i386/pc/partition.h: Likewise.
54525 * include/pupa/i386/pc/time.h: Likewise.
54526 * include/pupa/i386/pc/vga.h: Likewise.
54527 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54528 * include/pupa/util/getroot.h: Likewise.
54529 * include/pupa/util/misc.h: Likewise.
54530 * include/pupa/util/resolve.h: Likewise.
54531 * kern/device.c: Likewise.
54532 * kern/disk.c: Likewise.
54533 * kern/dl.c: Likewise.
54534 * kern/err.c: Likewise.
54535 * kern/file.c: Likewise.
54536 * kern/fs.c: Likewise.
54537 * kern/loader.c: Likewise.
54538 * kern/main.c: Likewise.
54539 * kern/misc.c: Likewise.
54540 * kern/mm.c: Likewise.
54541 * kern/rescue.c: Likewise.
54542 * kern/term.c: Likewise.
54543 * kern/i386/dl.c: Likewise.
54544 * kern/i386/pc/init.c: Likewise.
54545 * kern/i386/pc/lzo1x.S: Likewise.
54546 * kern/i386/pc/startup.S: Likewise.
54547 * loader/i386/pc/chainloader.c: Likewise.
54548 * loader/i386/pc/linux.c: Likewise.
54549 * loader/i386/pc/multiboot.c: Likewise.
54550 * normal/cmdline.c: Likewise.
54551 * normal/command.c: Likewise.
54552 * normal/main.c: Likewise.
54553 * normal/menu.c: Likewise.
54554 * normal/i386/setjmp.S: Likewise.
54555 * term/i386/pc/console.c: Likewise.
54556 * term/i386/pc/vga.c: Likewise.
54557 * util/console.c: Likewise.
54558 * util/genmoddep.c: Likewise.
54559 * util/misc.c: Likewise.
54560 * util/pupa-emu.c: Likewise.
54561 * util/resolve.c: Likewise.
54562 * util/unifont2pff.rb: Likewise.
54563 * util/i386/pc/biosdisk.c: Likewise.
54564 * util/i386/pc/getroot.c: Likewise.
54565 * util/i386/pc/pupa-mkimage.c: Likewise.
54566 * util/i386/pc/pupa-setup.c: Likewise.
54567
54568 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54569
54570 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54571 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54572 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54573 reading and reset it after reading.
54574 (pupa_ext2_close): Return PUPA_ERR_NONE.
54575
54576 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54577 Correct value.
54578 (struct linux_kernel_header): Add kernel_version and
54579 initrd_addr_max.
54580 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54581 pupa_file_read succeeds.
54582 (pupa_rescue_cmd_initrd): Implement.
54583
54584 2003-12-03 Marco Gerards <metgerards@student.han.nl>
54585
54586 * fs/ext2.c (pupa_ext2_label): New function.
54587 (pupa_ext2_fs): Added label.
54588 * fs/fat.c (pupa_fat_label): New function.
54589 (pupa_fat_fs): Added label.
54590 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54591
54592 * kern/misc.c (pupa_strndup): New function.
54593 * include/pupa/misc.h (pupa_strndup): New prototype.
54594
54595 * include/pupa/normal.h: Include <pupa/err.h>.
54596 (pupa_set_history): New prototype.
54597 (pupa_iterate_commands): New prototype.
54598 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54599 <pupa/disk.h>, <pupa/file.h>.
54600 (hist_size): New variable.
54601 (hist_lines): Likewise.
54602 (hist_end): Likewise.
54603 (hist_used): Likewise.
54604 (pupa_set_history): New function.
54605 (pupa_history_get): Likewise.
54606 (pupa_history_add): Likewise.
54607 (pupa_history_replace): Likewise.
54608 (pupa_tab_complete): Likewise.
54609 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54610 completion shows partitionnames while completing partitions, this
54611 feature was suggested by Jeff Bailey.
54612 * normal/command.c (pupa_iterate_commands): New function.
54613 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54614 (pupa_normal_init): Initialize history buffer.
54615 (PUPA_MOD_INIT): Likewise.
54616 (pupa_normal_fini): Free the history buffer.
54617 (PUPA_MOD_FINI): Likewise.
54618
54619 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54620 key.
54621
54622 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54623 * configure.ac [i386]: Check for regparam bug.
54624 (NESTED_FUNC_ATTR) [! i386]: Defined.
54625
54626 2003-11-17 Marco Gerards <metgerards@student.han.nl>
54627
54628 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54629 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54630 (pupa_emu_SOURCES): New variable.
54631 (pupa_emu_LDFLAGS): Likewise.
54632 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54633 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54634 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54635 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54636 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54637 (pupa_jmp_buf): New typedef.
54638 (pupa_setjmp) [PUPA_UTIL]: New macro.
54639 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54640 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54641 (pupa_refresh): New prototype.
54642 * include/pupa/util/getroot.h: New file.
54643 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54644 it.
54645 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54646 (pupa_rescue_cmd_cat): Likewise.
54647 (pupa_rescue_cmd_ls): Likewise.
54648 (pupa_rescue_cmd_testload): Likewise.
54649 (pupa_rescue_cmd_lsmod): Likewise.
54650 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54651 * normal/menu.c (run_menu): Likewise.
54652 * kern/term.c (pupa_cls): Likewise.
54653 (pupa_refresh): New function.
54654 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54655 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54656 * util/console.c: New file.
54657
54658 * util/i386/pc/getroot.c: New file.
54659 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54660 (pupa_putchar): New function.
54661 (pupa_refresh): Likewise.
54662 (xgetcwd): Function moved to ...
54663 (strip_extra_slashes): Likewise.
54664 (get_prefix): Likewise.
54665 * util/i386/pc/getroot.c: ... here.
54666 (find_root_device): Function moved and renamed to...
54667 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54668 Changed all callers.
54669 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54670 and renamed to...
54671 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54672 Changed all callers.
54673 * util/misc.c (pupa_memalign): New function.
54674 (pupa_mm_init_region): Likewise.
54675 (pupa_register_exported_symbols): Likewise.
54676 (pupa_putchar): Function removed.
54677 * util/pupa-emu.c: New file.
54678
54679 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54680
54681 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54682 (_multiboot_mod_SOURCES): New variable.
54683 (_multiboot_mod_CFLAGS): Likewise.
54684 * loader/i386/pc/multiboot.c: New file.
54685 * include/pupa/i386/pc/multiboot.h: Likewise.
54686 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54687 (pupa_multiboot_real_boot): New function.
54688 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54689 (pupa_multiboot_real_boot): New prototype.
54690 (pupa_rescue_cmd_multiboot): Likewise
54691 (pupa_rescue_cmd_module): Likewise.
54692
54693 * kern/loader.c (pupa_loader_set): Continue when
54694 pupa_loader_unload_func() fails.
54695 (pupa_loader_unset): New function.
54696 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54697
54698 * kern/misc.c (pupa_stpcpy): New function.
54699 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54700
54701 2003-11-12 Marco Gerards <metgerards@student.han.nl>
54702
54703 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54704 for available extensions.
54705
54706 * include/pupa/i386/pc/time.h: New file.
54707 * kern/disk.c: Include <pupa/machine/time.h>.
54708 (PUPA_CACHE_TIMEOUT): New macro.
54709 (pupa_last_time): New variable.
54710 (pupa_disk_open): Flush the cache when there was a timeout.
54711 (pupa_disk_close): Reset the timer.
54712 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54713 pupa_currticks.
54714 * util/misc.c: Include <sys/times.h>
54715 (pupa_get_rtc): New function.
54716
54717 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54718
54719 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54720 as blocks.
54721 (pupa_ext2_get_file_block): Use blocks member.
54722
54723 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54724 first block. Return -1 instead of pupa_errno on error.
54725
54726 2003-10-27 Marco Gerards <metgerards@student.han.nl>
54727
54728 * README: In the pupa-mkimage example use _chain instead of chain
54729 and ext2 instead of fat.
54730 * TODO: Replace ext2fs with jfs as an example. Add an item for
54731 adding journal playback for ext2fs.
54732 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54733 (pkgdata_MODULES): Added ext2.mod.
54734 (ext2_mod_SOURCES): New variable.
54735 (ext2_mod_CFLAGS): Likewise.
54736 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54737 * include/pupa/misc.h (pupa_strncpy): New prototype.
54738 (pupa_strcat): Likewise.
54739 (pupa_strncmp): Likewise.
54740 * kern/misc.c (pupa_strcat): Enable function.
54741 (pupa_strncpy): New function.
54742 (pupa_strncmp): Likewise.
54743 * fs/ext2.c: New file.
54744
54745 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54746 when the read failed before retrying.
54747 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54748 (_FILE_OFFSET_BITS): Likewise.
54749 * configure.ac: Added AC_SYS_LARGEFILE.
54750
54751 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54752
54753 * genmk.rb (PModule#rule): Make sure to get only symbol names
54754 from the output of nm.
54755 Reported by Robert Millan <rmh.grub@aybabtu.com>.
54756
54757 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54758
54759 I forgot to check in these changes for a long time. This adds
54760 incomplete support for VGA console, and this is still very
54761 buggy. Also, a lot of consideration is required for I18N,
54762 UNICODE, and VGA font issues. Therefore, assume that this is
54763 such that "better than nothing".
54764
54765 * font/manager.c: New file.
54766 * include/pupa/font.h: Likewise.
54767 * include/pupa/i386/pc/vga.h: Likewise.
54768 * term/i386/pc/vga.c: Likewise.
54769 * util/unifont2pff.rb: Likewise.
54770
54771 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54772 (pkgdata_MODULES): Added vga.mod and font.mod.
54773 (vga_mod_SOURCES): New variables.
54774 (vga_mod_CFLAGS): Likewise.
54775 (font_mod_SOURCES): Likewise.
54776 (font_mod_CFLAGS): Likewise.
54777
54778 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54779
54780 * include/pupa/term.h: Include pupa/err.h.
54781 (struct pupa_term): Added init and fini.
54782 Changed the argument of putchar to pupa_uint32_t.
54783
54784 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54785 (pupa_console_real_putchar): New prototype.
54786 (pupa_console_putchar): Removed.
54787 (pupa_console_checkkey): Exported.
54788 (pupa_console_getkey): Likewise.
54789
54790 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54791 characters.
54792
54793 * kern/term.c (pupa_term_set_current): Rewritten.
54794 (pupa_putchar): Likewise.
54795 (pupa_putcode): New function.
54796
54797 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54798 (pupa_console_real_putchar): ... this.
54799 (pupa_vga_set_mode): New function.
54800 (pupa_vga_get_font): Likewise.
54801
54802 * normal/command.c: Include pupa/term.h.
54803 (terminal_command): New function.
54804 (pupa_command_init): Register the command "terminal".
54805
54806 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54807 (DISP_UP): Likewise.
54808 (DISP_RIGHT): Likewise.
54809 (DISP_DOWN): Likewise.
54810 (DISP_HLINE): Likewise.
54811 (DISP_VLINE): Likewise.
54812 (DISP_UL): Likewise.
54813 (DISP_UR): Likewise.
54814 (DISP_LL): Likewise.
54815 (DISP_LR): Likewise.
54816
54817 * term/i386/pc/console.c (pupa_console_putchar): New function.
54818
54819 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54820
54821 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54822 FIX. Reverse the path_list.
54823
54824 * include/pupa/normal.h: Export pupa_register_command and
54825 pupa_unregister_command.
54826
54827 * hello/hello.c (pupa_cmd_hello): New module.
54828 * conf/i386-pc.rmk: Added hello.mod.
54829
54830 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54831
54832 * kern/i386/pc/lzo1x.S: New file.
54833
54834 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54835 (compress_kernel): New variable.
54836 (generate_image): Heavily modified to support compressing a
54837 large part of the core image.
54838
54839 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54840 leak.
54841 (pupa_util_load_image): New function.
54842
54843 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54844 (pupa_compressed_size): New variable.
54845 (codestart): Enable Gate A20 here.
54846 Decompress the compressed part of the core image.
54847 Rearrange the code to put functions and variables which are
54848 required for initialization in the non-compressed part.
54849 Include lzo1x.S.
54850
54851 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54852 here.
54853
54854 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54855
54856 * include/pupa/i386/pc/kernel.h
54857 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54858 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54859 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54860 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54861 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54862
54863 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54864
54865 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54866 (Utility#rule): Likewise.
54867
54868 * configure.ac: Check if LZO is available.
54869
54870 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54871
54872 * include/pupa/normal.h: New file.
54873 * include/pupa/setjmp.h: Likewise.
54874 * include/pupa/i386/setjmp.h: Likewise.
54875 * normal/cmdline.c: Likewise.
54876 * normal/command.c: Likewise.
54877 * normal/main.c: Likewise.
54878 * normal/menu.c: Likewise.
54879 * normal/i386/setjmp.S: Likewise.
54880
54881 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54882 (pupa_rescue_cmd_initrd): Likewise.
54883
54884 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54885 Likewise.
54886
54887 * kern/i386/pc/startup.S (translation_table): New variable.
54888 (translate_keycode): New function.
54889 (pupa_console_getkey): Call translate_keycode.
54890
54891 * kern/rescue.c (attempt_normal_mode): New function.
54892 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54893 it failed, print a message.
54894
54895 * kern/mm.c (pupa_real_malloc): Print more information when a
54896 free magic is broken.
54897 (pupa_free): If the first free header is not free actually, set
54898 it to P.
54899
54900 * kern/main.c (pupa_load_normal_mode): Just load the module
54901 "normal".
54902 (pupa_main): Don't print the message
54903 "Entering into rescue mode..." here.
54904
54905 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54906 Declared.
54907 (pupa_rescue_cmd_initrd): Likewise.
54908 (pupa_rescue_cmd_initrd): Likewise.
54909
54910 * include/pupa/symbol.h (FUNCTION): Specify the type.
54911 (VARIABLE): Likewise.
54912
54913 * include/pupa/err.h (pupa_err_t): Added
54914 PUPA_ERR_UNKNOWN_COMMAND.
54915
54916 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54917 (pupa_dl_get_prefix): Likewise.
54918
54919 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54920 Added _chain.mod and _linux.mod instead of chain.mod and
54921 linux.mod.
54922 (chain_mod_SOURCES): Renamed to ...
54923 (_chain_mod_SOURCES): ... this.
54924 (chain_mod_CFLAGS): Renamed to ...
54925 (_chain_mod_CFLAGS): ... this.
54926 (linux_mod_SOURCES): Renamed to ...
54927 (_linux_mod_SOURCES): ... this.
54928 (linux_mod_CFLAGS): Renamed to ...
54929 (_linux_mod_CFLAGS): ... this.
54930 (normal_mod_SOURCES): New variable.
54931 (normal_mod_CFLAGS): Likewise.
54932 (normal_mod_ASFLAGS): Likewise.
54933
54934 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54935
54936 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54937 possible.
54938
54939 * kern/dl.c (pupa_dl_ref): Refer depending modules
54940 recursively.
54941 (pupa_dl_unref): Unrefer depending modules recursively.
54942 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54943 a module is unloaded before one depending on that module is
54944 unloaded.
54945 (pupa_dl_unload): Unload depending modules explicitly,
54946 if possible.
54947
54948 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54949
54950 * include/pupa/i386/pc/linux.h: New file.
54951 * loader/i386/pc/linux.c: Likewise.
54952
54953 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54954 Removed.
54955 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54956 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54957 of PUPA_CHAINLOADER_BOOT_SECTOR.
54958
54959 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54960 (pupa_linux_prot_size): New variable.
54961 (pupa_linux_tmp_addr): Likewise.
54962 (pupa_linux_real_addr): Likewise.
54963 (pupa_linux_boot_zimage): New function.
54964 (pupa_linux_boot_bzimage): Likewise.
54965
54966 * kern/i386/pc/init.c (struct mem_region): New structure.
54967 (MAX_REGIONS): New macro.
54968 (mem_regions): New variable.
54969 (num_regions): Likewise.
54970 (pupa_os_area_addr): Likewise.
54971 (pupa_os_area_size): Likewise.
54972 (pupa_lower_mem): Likewise.
54973 (pupa_upper_mem): Likewise.
54974 (add_mem_region): New function.
54975 (compact_mem_regions): Likewise.
54976 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54977 the size of the conventional memory and that of so-called upper
54978 memory (before the first memory hole).
54979 Instead of adding each found region to free memory, use
54980 add_mem_region and add them after removing overlaps.
54981 Also, add only 1/4 of the upper memory to free memory. The rest
54982 is used for loading OS images. Maybe this is ad hoc, but this
54983 makes it much easier to relocate OS images when booting.
54984
54985 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54986 (pupa_enter_rescue_mode): Don't register initrd and module.
54987
54988 * kern/mm.c: Include pupa/dl.h.
54989
54990 * kern/main.c: Include pupa/file.h and pupa/device.h.
54991
54992 * kern/loader.c (pupa_loader_load_module_func): Removed.
54993 (pupa_loader_load_module): Likewise.
54994
54995 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54996 ``.o''.
54997
54998 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54999 (pupa_linux_tmp_addr): Likewise.
55000 (pupa_linux_real_addr): Likewise.
55001 (pupa_linux_boot_zimage): Likewise.
55002 (pupa_linux_boot_bzimage): Likewise.
55003
55004 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
55005 (pupa_upper_mem): Likewise.
55006 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
55007 module is too dangerous.
55008
55009 * include/pupa/loader.h (pupa_os_area_addr): Declared.
55010 (pupa_os_area_size): Likewise.
55011 (pupa_loader_set): Remove the first argument. Loader doesn't
55012 manage modules or initrd any longer.
55013 (pupa_loader_load_module): Removed.
55014
55015 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
55016 (linux_mod_SOURCES): New variable.
55017 (linux_mod_CFLAGS): Likewise.
55018
55019 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
55020
55021 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
55022 the length of a blocklist correctly.
55023
55024 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
55025 Use ioctl only if the OS file is a block device.
55026 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
55027 not very useful for normal files.
55028
55029 * kern/main.c (pupa_set_root_dev): New function.
55030 (pupa_load_normal_mode): Likewise.
55031 (pupa_main): Call those above.
55032
55033 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
55034 pupa_uint16_t.
55035
55036 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
55037
55038 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
55039
55040 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
55041 (setup): Configure the installed partition information and the
55042 dl prefix.
55043
55044 * loader/i386/pc/chainloader.c (my_mod): New variable.
55045 (pupa_chainloader_unload): New function.
55046 (pupa_rescue_cmd_chainloader): Refer itself.
55047 (PUPA_MOD_INIT): Save its own module in MY_MOD.
55048
55049 * kern/i386/pc/startup.S (install_partition): Removed.
55050 (version_string): Likewise.
55051 (config_file): Likewise.
55052 (pupa_install_dos_part): New variable.
55053 (pupa_install_bsd_part): Likewise.
55054 (pupa_prefix): Likewise.
55055 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
55056
55057 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
55058 and pupa/misc.h.
55059 (make_install_device): New function.
55060 (pupa_machine_init): Set the dl prefix.
55061
55062 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
55063 (buf): Renamed to ...
55064 (linebuf): ... this.
55065 (pupa_rescue_cmd_prefix): New function.
55066 (pupa_rescue_cmd_insmod): Likewise.
55067 (pupa_rescue_cmd_rmmod): Likewise.
55068 (pupa_rescue_cmd_lsmod): Likewise.
55069 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
55070 rmmod and lsmod.
55071
55072 * kern/mm.c (pupa_memalign): If failed even after invalidating
55073 disk caches, unload unneeded modules and retry.
55074
55075 * kern/misc.c (pupa_memmove): New function.
55076 (pupa_memcpy): Removed.
55077 (pupa_strcpy): New function.
55078 (pupa_itoa): Made static.
55079
55080 * kern/dl.c (pupa_dl_iterate): New function.
55081 (pupa_dl_ref): Likewise.
55082 (pupa_dl_unref): Likewise.
55083 (pupa_dl_unload): Return if succeeded or not.
55084 (pupa_dl_unload_unneeded): New function.
55085 (pupa_dl_unload_all): Likewise.
55086 (pupa_dl_init): Renamed to ...
55087 (pupa_dl_set_prefix): ... this.
55088 (pupa_dl_get_prefix): New function.
55089
55090 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
55091 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
55092 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55093 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55094 (pupa_install_dos_part): Declared.
55095 (pupa_install_bsd_part): Likewise.
55096 (pupa_prefix): Likewise.
55097 (pupa_boot_drive): Likewise.
55098
55099 * include/pupa/types.h: Fix a typo.
55100
55101 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
55102 pupa_memmove.
55103 (pupa_memmove): Declared.
55104 (pupa_strcpy): Likewise.
55105
55106 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55107 pupa_mod_init takes one argument, its own module.
55108 (pupa_dl_unload_unneeded): Declared.
55109 (pupa_dl_unload_all): Likewise.
55110 (pupa_dl_ref): Likewise.
55111 (pupa_dl_unref): Likewise.
55112 (pupa_dl_iterate): Likewise.
55113 (pupa_dl_init): Renamed to ...
55114 (pupa_dl_set_prefix): ... this.
55115 (pupa_dl_get_prefix): Declared.
55116
55117 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
55118 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
55119 unloaded.
55120 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55121 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55122
55123 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55124 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55125
55126 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55127
55128 * util/i386/pc/pupa-setup.c (setup): Define the internal
55129 function find_first_partition_start at the top level, because GCC
55130 3.0.x cannot compile internal functions in deeper scopes
55131 correctly.
55132 (find_root_device): Use lstat instead of stat.
55133 Don't follow symbolic links.
55134 Fix the path-constructing code.
55135
55136 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55137 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55138 by a BLKGETSIZE ioctl first, because block devices don't fill
55139 the member st_mode of the structure stat on Linux.
55140 [__linux__] (linux_find_partition): Use a temporary buffer
55141 REAL_DEV for the working space. Copy it to DEV before returning.
55142 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55143 buffer cache consistent.
55144 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55145 strncmp. The previous value was merely wrong.
55146 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55147
55148 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55149 FAT size is 12. The previous value was merely wrong.
55150
55151 * kern/main.c (pupa_main): Don't split the starting message from
55152 newlines.
55153
55154 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55155 LF, because BIOS goes crazy about character attributes in this
55156 case.
55157
55158 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55159
55160 * include/i386/pc/util/biosdisk.h: New file.
55161 * util/i386/pc/biosdisk.c: Likewise.
55162 * util/i386/pc/pupa-setup.c: Likewise.
55163
55164 * Makefile.in (INCLUDE_DISTFILES): Added
55165 include/pupa/i386/pc/util/biosdisk.h.
55166 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55167 directory util/i386/pc.
55168 (install-local): Added a rule for sbin_UTILITIES.
55169 (uninstall): Likewise.
55170
55171 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55172
55173 * util/misc.c (xrealloc): New function.
55174 (pupa_malloc): Likewise.
55175 (pupa_free): Likewise.
55176 (pupa_realloc): Likewise.
55177 (pupa_stop): Likewise.
55178 (pupa_putchar): Likewise.
55179
55180 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55181
55182 * include/pupa/util/misc.h (xrealloc): Declared.
55183
55184 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55185 macro.
55186 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55187 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55188
55189 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55190 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55191
55192 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55193 way should be implemented.
55194 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55195
55196 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55197 the size of NAME for safety.
55198 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55199 0x88.
55200
55201 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55202 (pupa_setup_SOURCES): Likewise.
55203
55204 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55205
55206 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55207
55208 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55209 bunch of pushl's from pusha, because this destroys the return
55210 value.
55211
55212 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55213
55214 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55215 This means that any missing prototypes could be fatal. Also, you
55216 must take care when writing assembly code. See the comments at
55217 the beginning of startup.S, for more details.
55218
55219 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55220 compilation mechanism.
55221 (pupa_chainloader_real_boot): Likewise.
55222 (pupa_biosdisk_rw_int13_extensions): Likewise.
55223 (pupa_biosdisk_rw_standard): Likewise.
55224 (pupa_biosdisk_check_int13_extensions): Likewise.
55225 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55226 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55227 (pupa_get_memsize): Likewise.
55228 (pupa_get_mmap_entry): Likewise.
55229 (pupa_console_putchar): Likewise.
55230 (pupa_console_setcursor): Likewise.
55231 (pupa_getrtsecs): Use pushl instead of push.
55232
55233 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55234 memory instead of the stack for a mmap entry, because some
55235 BIOSes may ignore the maximum size and overflow.
55236
55237 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55238
55239 * genmk.rb (PModule#rule): Compile automatically generated
55240 sources with module-specific CFLAGS as well as other sources.
55241
55242 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55243
55244 * configure.ac: Check ld.
55245 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55246 respectively, before checking endianness and sizes.
55247
55248 * Makefile.in (LD): New variable.
55249
55250 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55251
55252 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55253
55254 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55255
55256 * Changelog: New file.
55257