]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Initialized initrd_ctx so we don't free a random pointer from the stack.
[grub2.git] / ChangeLog
1 2014-21-15 Peter Jones <pjones@redhat.com>
2
3 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
4 we don't free a random pointer from the stack.
5 * grub-core/loader/arm64/linux.c: Likewise.
6 * grub-core/loader/i386/linux.c: Likewise.
7 * grub-core/loader/i386/pc/linux.c: Likewise.
8 * grub-core/loader/ia64/efi/linux.c: Likewise.
9 * grub-core/loader/mips/linux.c: Likewise.
10 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
11 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12
13 2014-09-15 Khem Raj <raj.khem@gmail.com>
14
15 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
16 _BSD_SOURCE to avoid warnings under glibc 2.20+.
17
18 2014-09-08 Michael Chang <mchang@suse.com>
19
20 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
21 check; comparing &data->extent against addresses in the region it
22 points to is unpredictable.
23
24 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
25
26 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
27
28 * configure.ac: Remove -m64 from checks for -mcmodel=large and
29 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
30 already in TARGET_CFLAGS at this point, and they produce incorrect
31 results when building for x32.
32 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
33 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
34 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
35 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
36
37 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
38
39 * configure.ac: Remove several unnecessary semicolons.
40
41 2014-08-25 Colin Watson <cjwatson@ubuntu.com>
42
43 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
44 Initialise pend to pacify GCC.
45
46 2014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
47
48 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
49 gettext_printf).
50
51 2014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/term/at_keyboard.c: Retry probing keyboard if
54 scancode setup failed.
55
56 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
59
60 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
63 safety to avoid triggerring VirtualBox bug.
64
65 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
68
69 Fixes hang on virtualbox.
70
71 2014-07-08 Colin Watson <cjwatson@ubuntu.com>
72
73 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
74 kernels whose paths contain regex metacharacters.
75 * util/grub.d/10_kfreebsd.in: Likewise.
76 * util/grub.d/10_linux.in: Likewise.
77 * util/grub.d/20_linux_xen.in: Likewise.
78
79 Reported by: Heimo Stranner.
80
81 2014-06-26 Colin Watson <cjwatson@ubuntu.com>
82
83 * docs/grub-dev.texi (Finding your way around): The build system no
84 longer uses AutoGen directly.
85
86 2014-06-21 Роман Пехов <roman_pekhov>
87
88 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
89
90 2014-06-21 Glenn Washburn <development@efficientek.com>
91
92 * util/grub-install.c: Fix handling of --disk-module.
93
94 2014-06-21 Stephane Rochoy <sheda>
95
96 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
97 EFI system table.
98
99 2014-06-21 Stephane Rochoy <sheda>
100
101 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
102 EFI system table physical address.
103
104 2014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
105
106 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
107
108 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
111
112 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
115 check.
116
117 2014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
120
121 Reported by: Yves Blusseau <blusseau@zetam.org>.
122
123 2014-04-20 Piotr Krysiuk <piotras@gmail.com>
124
125 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
126 GDT in conventional memory.
127
128 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
129
130 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
131 UUID. Other parts of grub-mkconfig tolerate these, they were
132 previously allowed here up to commit
133 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
134 practice when the system has active LVM snapshots.
135 Fixes Ubuntu bug #1287436.
136
137 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
138
139 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
140 "logical_volumes" block a little more accurately.
141
142 2014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
145
146 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
149 pulled from libgcc.
150
151 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
152
153 Replace few instances of memcmp/memcpy in the code that should be
154 grub_memcmp/grub_memcpy.
155
156 2014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
159 device names.
160
161 2014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
162
163 btrfs: fix get_root key comparison failures due to endianness
164
165 * grub-core/fs/btrfs.c (get_root): Convert
166 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
167
168 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
169
170 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
171
172 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
173 no longer to be forgiving of trailing spaces on grub-probe output
174 lines, which among other things means that util/grub.d/10_linux.in
175 no longer detects LVM. To fix this, make grub-probe's output
176 delimiting more consistent. As a bonus, this improves the coverage
177 of the -0 option.
178
179 Fixes Debian bug #735935.
180
181 * grub-core/disk/cryptodisk.c
182 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
183 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
184 Likewise.
185 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
186 Update prototype.
187 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
188 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
189 probe_mods): Adjust for extra user-data arguments.
190 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
191 probe_abstraction): Use configured delimiter. Update callers.
192
193 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
194
195 * util/grub-probe,c (options): Make -0 work again (broken by
196 conversion to argp).
197 (main): Simplify logic.
198
199 2014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
202
203 2014-03-26 Fu Wei <fu.wei@linaro.org>
204
205 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
206
207 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
210 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
211
212 Suggested by: Markus Müller.
213
214 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
217 if E820 failed to return any regions.
218
219 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
222 tables for low memory calculations.
223
224 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
227 location to 640K.
228
229 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
232 region.
233
234 2014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
237 exclusively.
238
239 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
240
241 Add bootpath parser for open firmware.
242
243 It enables net boot even when there is no bootp/dhcp server.
244
245 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
246 and call it at grub_ieee1275_net_config_real.
247 * grub-core/kern/ieee1275/init.c: Add bootpath to
248 grub_ieee1275_net_config.
249 * include/grub/ieee1275/ieee1275.h: Likewise.
250
251
252 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
253
254 Add grub_env_set_net_property function.
255
256 * grub-core/net/bootp.c: Remove set_env_limn_ro.
257 * grub-core/net/net.c: Add grub_env_set_net_property.
258 * include/grub/net.h: Likewise.
259
260 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
263
264 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
267
268 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
271 7 seconds to recover if last poweroff was bad.
272
273 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/disk/ahci.c: Properly handle transactions with no
276 transferred data.
277
278 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/disk/ahci.c: Add safety cleanups.
281
282 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
285 slots to avoid pointing to uninited area.
286
287 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
290 enabling busmaster for the end.
291
292 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * util/grub-mkfont.c: Downgrade warnings about unhandled features
295 to debug.
296
297 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
300
301 2014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
302
303 * .gitignore: add missing files and .exe variants.
304
305 2014-01-26 Mike Gilbert <floppym@gentoo.org>
306
307 grub-install: support for partitioned partx loop devices.
308
309 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
310 /dev/loopX as being the parent of /dev/loopXpY.
311
312 2014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
315 Ensure that pointers are inited to NULL and that pointers are not
316 accessed after free.
317
318 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
319
320 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
321 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
322 * include/grub/emu/misc.h: ... and here.
323 * include/grub/err.h: ... and here.
324 * util/import_gcry.py: ... and here (in files g10lib.h).
325
326 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
327
328 * util/grub-mkimage.c: Make prefix argument mandatory.
329
330 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
331
332 Fix several translatable strings.
333
334 Suggested by: D. Prévot.
335
336 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * util/grub-install.c: List available targets.
339
340 2014-01-23 Colin Watson <cjwatson@ubuntu.com>
341
342 * util/grub-install.c (write_to_disk): Add an info message.
343
344 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
345
346 * Makefile.am: Allow adding extra files to generated Windows ZIP
347 archive by setting GRUB_WINDOWS_EXTRA_DIST.
348
349 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
350
351 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
352 Show detected font path in summary.
353
354 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
355
356 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
357 interval gradually.
358 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
359 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
360 * grub-core/net/tftp.c (tftp_open): Likewise.
361 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
362
363 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
364
365 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
366 infinite loops.
367
368 In net/net.c there is a while (1) that only exits if there is a stop
369 condition and more then 10 packages or if there is no package received.
370
371 If GRUB is idle and enter in this loop, the only condition to leave is
372 if it doesn't have incoming packages. In a network with heavy traffic
373 this never happens.
374
375 2014-01-19 Colin Watson <cjwatson@ubuntu.com>
376
377 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
378 EPERM when modifying kern.geom.debugflags. It is only a problem for
379 such things as installing GRUB to the MBR, in which case there'll be
380 an error later anyway, not for opening files during tests.
381
382 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
383
384 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
385 instead of MOD_FILES.
386 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
387 both with and without .exe.
388 * grub-core/genemuinitheader.sh: Same.
389
390 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * util/grub-install.c: Fix a typo.
393
394 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/normal/main.c (read_config_file): Buffer config file.
397 Reduces boot time.
398
399 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
400
401 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
402 symbolic link to directory. It fails in Msys shell on Windows 2003.
403
404 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * Makefile.am (default_payload.elf): Add modules
407 multiboot cbmemc linux16 gzio echo help.
408
409 2014-01-18 Mike Gilbert <floppym@gentoo.org>
410
411 * Makefile.util.def: Link grub-ofpathname with zfs libs.
412
413 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
416 conflicts.
417
418 Reported by: Andrey Borzenkov.
419
420 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
421
422 * include/grub/misc.h: Move macros for compiler features to ...
423 * include/grub/compiler.h: ... new file.
424 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
425 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
426 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
427 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
428 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
429 * grub-core/video/capture.c: Include <grub/misc.h>.
430 * include/grub/command.h: Include <grub/misc.h>.
431 * include/grub/dl.h: Include <grub/misc.h>.
432 * include/grub/procfs.h: Include <grub/misc.h>.
433
434 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
435
436 * configure.ac: Add support for BUILD_EXEEXT and use it ...
437 * Makefile.am: ... here.
438 * Makefile.util.def: ... and here.
439 * grub-core/Makefile.am: ... and here.
440
441 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
442
443 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
444 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
445
446 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/term/terminfo.c: Recognize keys F1-F12.
449
450 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
451
452 * configure.ac: Add support for BUILD_LDFLAGS.
453 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
454 * grub-core/Makefile.am: ... and here.
455 * INSTALL: Mention BUILD_LDFLAGS.
456
457 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
460
461 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
464 and has no //.
465
466 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * NEWS: Add few missing entries.
469
470 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
471
472 * util/grub.d/00_header.in (make_timeout): Use && rather than test
473 -a.
474 * util/grub.d/10_windows.in: Likewise.
475 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
476 than test -o.
477 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
478 rather than test -o.
479
480 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
481
482 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
483 redundant preprocessor conditional.
484
485 2014-01-08 Colin Watson <cjwatson@ubuntu.com>
486
487 * Makefile.util.def (grub-macbless): Change mansection to 8.
488
489 2014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
490
491 * grub-core/loader/arm64/linux.c: correctly set device path end length.
492
493 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
494
495 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
496 arm64 to comply with EFI specification. Also use grubaa64.efi for
497 consistency.
498 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
499
500 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
501
502 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
503 on MinGW-64 when compiling for 32 bits.
504
505 2013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
506
507 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
508
509 2013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * NEWS: Add few missing entries. Correct existing ones.
512
513 2013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
514
515 Don't abort() on unavailable coreboot tables if not running on coreboot.
516
517 2013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
518
519 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
520 on mingw.
521
522 2013-12-28 Colin Watson <cjwatson@ubuntu.com>
523
524 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
525 mention of it from 2.02.
526
527 2013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
530
531 As these functions are used on pre-ARMv6 CPUs as well we don't want
532 to make assembler assume that architecture is higher than default one.
533
534 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
535
536 * NEWS: First draft of 2.02 entry.
537
538 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
539
540 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
541 * docs/grub.texi (Getting the source code): Likewise.
542
543 2013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
544
545 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
546 detection.
547
548 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * configure.ac: Set version to 2.02~beta2.
551
552 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
555
556 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
557
558 * util/grub-probe.c: Improve help message and simplify list handling.
559
560 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Fix buffer overflow in grub_efi_print_device_path.
563
564 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
565
566 Show SATA device path.
567
568 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
569
570 Revert grub-file usage in grub-mkconfig.
571
572 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
573
574 Make newly-created files other than grub.cfg world-readable.
575
576 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
577
578 * util/grub.d/00_header.in: Improve compatibility with old config.
579
580 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
581
582 Make rijndael.c respect aliasing rules.
583
584 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
585
586 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
587
588 Make grub_util_device_is_mapped_stat available in grub-emu core.
589
590 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
591
592 Add -Qn to TARGET_CFLAGS if it's supported.
593 Fixes compilation on cygwin.
594
595 Reported by: Andrey Borzenkov.
596 Suggested by: Andrey Borzenkov.
597
598 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
599
600 Save TARGET_CC version in modinfo.sh.
601
602 Suggested by: Andrey Borzenkov.
603
604 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
605
606 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
607 follow the same algorithm to avoid method mismatch. Don't assume
608 DMRAID- UUID to mean full disk but instead check that mapping is linear.
609
610 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Declare GRUB_EFI_VENDOR_APPLE_GUID.
613
614 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
615
616 Dump type and vendor specific data when printing device path.
617
618 2013-12-23 Colin Watson <cjwatson@debian.org>
619
620 Update some documentation to refer to Git rather than Bazaar.
621
622 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
623 than Bazaar.
624 * po/README: Likewise. Fix spelling mistake.
625
626 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
627
628 Don't distribute config.h.
629
630 * Makefile.am (platform_HEADERS): Move to ...
631 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
632 failure when building from a distributed tarball.
633
634 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
635
636 * configure.ac: Fix spelling.
637 * grub-core/commands/parttool.c: Fix grammar.
638 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
639 Embedding Partition".
640
641 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
642
643 ARM64 support for grub-mkrescue.
644
645 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
646
647 Install modinfo.sh to keep build information around.
648
649 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/modinfo.sh.in: Add build config information.
652
653 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
654
655 ARM64 grub-file and grub-mkconfig support.
656
657 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Remove leftover options defines.
660
661 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
664
665 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/loader/arm64/linux.c: Add missing bracket.
668
669 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Add arm64-efi recognition to grub-file.
672
673 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Fix ia64-efi recognition in grub-file.
676
677 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
678
679 Recognize raspberry pi kernel in grub-file.
680
681 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
682
683 Enable cache on ARM U-Boot port.
684
685 Without it the port is reidiculously slow.
686
687 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Fix ARM cache maintainance.
690
691 More code was converted from ASM to C for easier handling.
692
693 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
696 algorithm on v5.
697
698 Suggested by: Leif Lindholm.
699
700 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
701
702 * util/grub-mkconfig.in: Fix Xen platform conditions.
703
704 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
705
706 * util/grub-mkrescue.c: Split single help message string in several
707 strings used in previous shell version.
708
709 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
710
711 Add arm64 Linux loader.
712
713 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
714
715 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
716
717 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Add module loading and parsing boot time checkpoints.
720
721 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
724 platforms.
725
726 2013-12-22 Lars Wendler <polynomial-c@gentoo.org>
727
728 * util/grub-mkconfig.in: Skip non-executable files.
729
730 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
731
732 Workaround buggy timer in raspberry pie by using our own timer
733 implementation.
734
735 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
738 Increase to 16 MiB to allow loading the whole memdisk.
739
740 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
741
742 Fix ARM Linux Loader on non-FDT platforms.
743
744 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * configure.ac: Choose link format based on host_os on emu.
747
748 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
751
752 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/kern/emu/main.c: Build fix for emu.
755
756 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
757
758 Build fixes for argp.h with older gcc.
759
760 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
763 in strings.
764
765 Suggested by: David Prévot.
766
767 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
770
771 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
772
773 Enable -Wformat=2 if it's supported.
774
775 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
778 -Wmissing-declarations if supported.
779
780 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
783 u32 as both HFS and HFS+ have 32-bit inodes.
784
785 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * include/grub/misc.h (grub_strtol): Fix overflow.
788
789 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
792 as return type in both conditionals.
793
794 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
797 to use uint8_t for color.
798
799 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * util/misc.c (grub_util_get_image_size): Check for overflow.
802
803 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
806 for size.
807
808 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
811 for pointer difference.
812
813 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * util/import_gcry.py: Skip sample keys.
816
817 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
820
821 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * configure.ac: Remove duplicate warning arguments.
824
825 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Add missing static qualifiers.
828
829 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
830
831 Add missing includes.
832
833 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Inline printf templates when possible to enable format checking.
836
837 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * include/grub/crypto.h: Don't discard const attribute.
840
841 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
844 was intended.
845
846 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/lib/crypto.c: Don't discard const attribute.
849
850 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/lib/disk.c: Fix potential overflow.
853
854 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * grub-core/lib/arg.c: Don't discard const attribute.
857
858 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * grub-core/kern/dl.c: Don't discard const attribute.
861
862 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/kern/disk.c: Fix potential overflow.
865
866 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * conf/Makefile.common: Don't include non-existing directory
869 grub-core/lib/libgcrypt-grub/include.
870
871 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
872
873 Clarify several translatable messages.
874
875 2013-12-21 David Prévot <david@tilapin.org>
876
877 Correct some translatable strings.
878
879 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
880
881 * util/grub-mkrescue.c: Rephrase mkrescue description.
882
883 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
884 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
885
886 Clarify several translatable messages.
887
888 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
889
890 Be more verbose about some configure failures.
891
892 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
893
894 Fix various build problems on GNU/Hurd.
895
896 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
897 !defined (__GNU__).
898 (xgetcwd): Likewise.
899 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
900 [__GNU__]: Add prototype.
901 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
902 long int using %ld rather than %d.
903
904 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * util/grub-install.c: Inform user about install platform.
907
908 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * configure.ac: Set version to 2.02~beta1.
911
912 2013-12-18 Allen Pais <allen.pais@oracle.com>
913 2013-12-18 Bob Picco <bob.picco@oracle.com>
914
915 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
916
917 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
918
919 Make grub_zlib_decompress handle incomplete chunks.
920
921 Fixes squash4.
922
923 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
926 on i386-multiboot.
927
928 2013-12-18 Aleš Nesrsta <starous@volny.cz>
929
930 * grub-core/disk/usbms.c: Retry on unknown errors.
931 Reuse the same tag on retries.
932
933 2013-12-18 Aleš Nesrsta <starous@volny.cz>
934
935 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
936
937 Avoid confusing them with already completed transfers.
938
939 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
940
941 Remove xen VFB.
942
943 Due to XEN bug it prevents Linux boot. Remove it at least, until
944 workaround is found.
945
946 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * po/exclude.pot: Add 2 missing excludes.
949
950 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
951
952 Add missing license section in macbless.mod and macho.mod.
953
954 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
955
956 Allow compilation without thumb-interwork as long as no thumb is
957 involved or only thumb2 is used.
958
959 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
960
961 Use -Wl,--no-relax rather than -mno-relax for uniformity.
962
963 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * INSTALL: Update comment as to why sparc64 clang isn't usable.
966
967 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Add __attribute__ ((sysv_abi)) only if it's really needed.
970
971 Some compilers don't support it.
972
973 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
976
977 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
978
979 Remove -Wold-style-definition.
980
981 Not very useful and interaction of it with regexp depends on GCC
982 version.
983
984 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
985
986 Make grub_util_get_windows_path_real static.
987
988 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/commands/fileXX.c: Silence cast-align.
991 * grub-core/loader/i386/xen_fileXX.c: Likewise.
992
993 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
996 rather than LL suffix.
997
998 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1001
1002 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/loader/arm/linux.c: Use common initrd functions.
1005
1006 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 Decrease number of strings to translate.
1009
1010 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1013
1014 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 Mark strings for translation and add remaining ones to exclude list.
1017
1018 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * util/grub-file.c (main): Fix sizeof usage.
1021
1022 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 Silence spurious warning.
1025
1026 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 Remove check_nt_hiberfil as it's been superseeded by file command.
1029
1030 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1033
1034 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 Implement syslinux parser.
1037
1038 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1041
1042 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 Support cpuid --pae.
1045
1046 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Use AT keyboard on Yeeloong 3A.
1049
1050 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 Add Yeeloong 3A reboot and halt.
1053
1054 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 Add Radeon Yeeloong 3A support.
1057
1058 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Add bonito 3A support.
1061
1062 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1065
1066 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1069
1070 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 * grub-core/loader/macho.c: Fix compilation on non-i386.
1073
1074 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 Add missing format_arg attribute to check that printf with translated
1077 messages has proper arguments.
1078
1079 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 Use grub_xasprintf to format translated error messages containing
1082 64-bit quantity.
1083
1084 2013-12-17 Jon McCune <jonmccune@google.com>
1085
1086 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1087
1088 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Unify message for unsupported relocation.
1091
1092 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 Mark miscompile error for translation.
1095
1096 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 Use %I64 and not %ll when using OS printf if compiling for windows.
1099
1100 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Update Mac code to match new register_efi prototype.
1103
1104 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 Implement better integration with Mac firmware.
1107
1108 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1111 load_addr.
1112
1113 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 Include serial module in default_payload.elf.
1116
1117 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 Add explicit thumb interwork bx in asm files.
1120
1121 Shouldn't matter for armv >= 5 but let's be safe.
1122
1123 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 Implement Truecrypt ISO loader.
1126
1127 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1130
1131 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 Implement grub_file tool and use it to implement generating of config
1134 in separate root.
1135
1136 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 Change to v1 xen grants.
1139
1140 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1143
1144 GRUB relied on %ebx being preserved across hypercall which isn't true.
1145
1146 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1149
1150 GRUB relied on %rdi being preserved across hypercall which isn't true.
1151
1152 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 Implement XEN VFB support.
1155
1156 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 Remove grub_bios_interrupt on coreboot.
1159
1160 It's not used currently and cannot be used safely currently.
1161
1162 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 Update exclude.pot and mark few strings for translation.
1165
1166 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1169
1170 Reported by: Jon McCune
1171
1172 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1173
1174 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1175 Add verbose information which firmware directories were tried.
1176
1177 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1178
1179 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1180 function to optionally redirect all three standard descriptors.
1181 Redefine grub_util_exec, grub_util_exec_redirect and
1182 grub_util_exec_redirect_null to use it.
1183 * include/grub/emu/exec.h: Define it.
1184 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1185 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1186 Use grub_util_exec_redirect_all to redirect error to NULL.
1187
1188 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/tests/sleep_test.c: Silence spurious warning.
1191
1192 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1195 linker trying to "fixup" the code.
1196
1197 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1200
1201 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Add support for converting PE+ to Elf64.
1204
1205 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1208
1209 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 Remove practice of assigning random const pointers to device id.
1212
1213 This is not required as cache code already checks driver id as well.
1214
1215 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1218 with mingw.
1219
1220 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1223 mingw or cygwin as API already matches.
1224
1225 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1228
1229 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1232 not on long.
1233
1234 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 Handle X86_64_PC64 relocation.
1237
1238 Those are generated by some cygwin compilers.
1239
1240 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 Determine the need for mingw-related stubs at compile time rather than
1243 using not very significant $target_os.
1244
1245 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1248 may not work with ELF.
1249
1250 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 Use unix functions for temporary files and special files on cygwin.
1253
1254 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 Define functions explicitly rather than using --defsym in tests
1257 whenever possible. Respect locality in remaining cases.
1258
1259 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1262
1263 2013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1264
1265 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1266 unlikely errors when getting EFI variables and make exhaustive search
1267 for all BootNNNN variables to find matching one.
1268
1269 2013-12-15 Ian Campbell <ijc@hellion.org.uk>
1270
1271 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1272
1273 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 New functional test for sleep function.
1276
1277 This test allows to check sleep without qemu. Keep qemu version as
1278 well as functional test won't notice if all clocks are going too fast
1279 or too slow.
1280
1281 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 Add explicit sysv_abi on amd64 asm routines.
1284
1285 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1288 num_table_entries.
1289
1290 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1293 functions.
1294
1295 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1298 appropriate.
1299
1300 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1303
1304 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1307 appropriate.
1308
1309 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1312
1313 In case of quick removal of loopback and adding another one it may
1314 get same ID, confusing the cache system.
1315
1316 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1319 appropriate.
1320
1321 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1324 than converting to long.
1325
1326 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1329
1330 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1333 than almost useless pointer.
1334
1335 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Add gcc_struct to all packed structures when compiling with mingw.
1338
1339 Just "packed" doesn't always pack the way we expect.
1340
1341 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1344
1345 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * util/grub-pe2elf.c: Fix handling of .bss.
1348
1349 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 Implement windows flavour of EFI install routines.
1352
1353 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1356
1357 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 Change grub_install_register_efi interface to pass GRUB device.
1360
1361 This allows grub_install_register_efi to request partition info
1362 directly.
1363
1364 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1367
1368 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 Do not use TCHAR string functions as they are not available on cygwin.
1371
1372 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 Workaround windows bug when querying EFI system partition parameters.
1375
1376 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1379 by using bitfields.
1380
1381 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1384
1385 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 Make i386-* other than i386-pc compileable under cygwin.
1388
1389 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 Fix definition of grub_efi_hard_drive_device_path. Take care that
1392 existing code would work even if by some reason bogus definition is
1393 used by EFI implementations.
1394
1395 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1398
1399 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1402 invocation.
1403
1404 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * util/config.c: Remove trailing newline from distributor in simple
1407 parsing.
1408
1409 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * include/grub/efi/api.h: Rename protocol and interface to avoid
1412 conflict.
1413
1414 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * .gitignore: add .exe variants. add missing files. remove few outdated
1417 entries.
1418
1419 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/osdep/exec.c: Use unix version on cygwin.
1422
1423 2013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 Implement multiboot2 EFI BS specification.
1426
1427 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1430 Crash happened only in some cases like a string starting at the
1431 half of the screen of same length.
1432
1433 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1436 with EFI counterpart.
1437
1438 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 Propagate the EFI commits to x86-efi specific parts.
1441
1442 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1445
1446 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 Introduce grub_efi_packed_guid and use it where alignment is not
1449 guaranteed.
1450
1451 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1454 unaligned u16 rather than u8[2].
1455
1456 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1459 for relocation range.
1460
1461 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1464 non-function pcrel21b relocation. It happens with .text.unlikely
1465 section.
1466
1467 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1468
1469 * make MAX_USABLE_ADDRESS platform-specific
1470 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1471
1472 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1473
1474 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1475
1476 2013-12-09 Jon McCune <jonmccune@google.com>
1477
1478 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1479 in grub-install and grub-bios-setup for x86 BIOS targets.
1480
1481 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 Add missing compile and link options for sparc64-emu.
1484
1485 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 Implement sparc64 trampolines (needed for sparc64-emu).
1488
1489 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1492 range of R_SPARC_HI22.
1493 Implement R_SPARC_LM22.
1494
1495 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1498 Do not explicitly check for symbol table as it's already checked in
1499 platform-independent layer.
1500
1501 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1504 on ia64 as __clear_cache is a dummy on ia64.
1505
1506 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1509 Do not explicitly check for symbol table as it's already checked in
1510 platform-independent layer.
1511
1512 2013-12-09 Colin Watson <cjwatson@ubuntu.com>
1513
1514 * util/grub-mkconfig.in: Add missing newline to output.
1515
1516 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1519 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1520
1521 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1524 compilation with GCC <= 4.2.
1525 * grub-core/kern/emu/argp_common.c: Likewise.
1526
1527 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1530 right platform rather than leaking to sparc64-emu.
1531
1532 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1535 But ensure that the variables in question are indeed unsigned.
1536
1537 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1540
1541 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 Remove grub_memalign on emu.
1544
1545 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1548 truncate incomplete lines but instead flushes them.
1549
1550 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1553 and implement windows variant.
1554
1555 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 Fix mips-emu compilation.
1558
1559 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * configure.ac: Check for freetype library usability.
1562
1563 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 Make arm-emu work.
1566
1567 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1570
1571 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1572
1573 * docs/grub.texi (Environment): Update color_normal and color_highlight
1574 defaults (light-gray instead of white).
1575
1576 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1577
1578 * grub-core/normal/main.c (INIT): Set default color to light-gray
1579 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1580 and apparently BIOS defaults.
1581
1582 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 Transform -C option to grub-mkstandalone to --core-compress available
1585 in all grub-install flavours.
1586
1587 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 Merge GRUBFS and GRUB_FS variables.
1590
1591 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1592
1593 Revert commit 69ca97c820, it caused failures when using OS device name
1594 in grub-install. Instead just strip off parenthesis in grub-install
1595 if (hdX) was passed.
1596
1597 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1598
1599 * util/grub-install.c (push_partmap_module): Add helper to convert
1600 partmap names to module names and use it in probe_mods(). Fixes
1601 failure to find partmap modules in diskfilter case.
1602
1603 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * configure.ac: Make unifont mandatory on coreboot.
1606
1607 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * configure.ac: Skip unifont 6.3 pcf and bdf.
1610
1611 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * Makefile.am: Remove partial font files if generation failed.
1614
1615 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1616
1617 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1618 strings.
1619 * include/grub/util/misc.h: Define it ...
1620 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1621
1622 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1623
1624 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1625 ${grub_probe}.
1626
1627 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Don't add -mlong-calls when compiling with clang.
1630
1631 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * configure.ac: Fix a typo.
1634
1635 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 Revamp relocation handling.
1638
1639 Move more code to common dl.c. Add missing veneers for arm and arm64.
1640 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1641
1642 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1645
1646 2013-12-05 Mike Gilbert <floppym@gentoo.org>
1647
1648 * INSTALL: Raise minimum python version to 2.6.
1649 * gentpl.py: Use python3-style print function.
1650
1651 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * util/grub-install.c: Mention Boot* variable.
1654
1655 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1656
1657 * grub-core/osdep/linux/hostdisk.c
1658 (grub_util_find_partition_start_os): Initialise start to avoid
1659 spurious compiler warning.
1660
1661 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1662
1663 On Linux, read partition start offsets from sysfs if possible, to
1664 cope with block device drivers that don't implement HDIO_GETGEO.
1665 Fixes Ubuntu bug #1237519.
1666
1667 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1668 function.
1669 (sysfs_partition_start): Likewise.
1670 (grub_util_find_partition_start_os): Try sysfs_partition_start
1671 before HDIO_GETGEO.
1672
1673 2013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1674
1675 * grub-core/kern/fdt.c: Update struct size when adding node.
1676
1677 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 Handle unaligned .bss on sparc64.
1680
1681 Current code improperly assumes that both __bss_start and _end are
1682 aligned to 8-bytes. Eliminating this assumption and explicitly align
1683 modules.
1684
1685 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1688 so it doesn't land in the middle of loaded image.
1689
1690 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * configure.ac: Move all warning options that may be absent in
1693 gcc >= 3.1 to optional.
1694
1695 Note: while this allows to compile with older GCC, official requirements
1696 remain the same and no support for older GCC.
1697
1698 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
1699
1700 Copying the themes directory in grub-shell isn't
1701 parallel-test-friendly and breaks on the second test when the source
1702 directory is read-only (as in "make distcheck"). Instead, add a
1703 hidden --themes-directory option to grub-mkrescue et al, and use it
1704 in grub-shell.
1705
1706 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1709 as it's no longer necessarry.
1710
1711 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * configure.ac: Allow compilation with older GCC for ARM.
1714
1715 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1718 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1719 ppc.
1720
1721 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1724
1725 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 Pass font config to config.h and not by TARGET_CFLAGS as adding
1728 arguments doesn't work if TARGET_CFLAGS is specified on command
1729 line.
1730
1731 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * configure.ac: Add -Wvla if compiler supports it.
1734
1735 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1738 Remove variable length arrays.
1739 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1740
1741 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1744
1745 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * include/grub/types.h: Declare all byteswaps as inline functions
1748 except compile-time ones.
1749
1750 Solves variable shadowing in constructions like
1751 cpu_to_le (le_to_cpu(x) + 1).
1752
1753 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1756
1757 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1760 minutes.
1761
1762 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1765 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1766
1767 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1768
1769 * grub-core/Makefile.core.def (setjmp): Distribute
1770 lib/arm64/setjmp.S.
1771
1772 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1773
1774 Add a new timeout_style environment variable and a corresponding
1775 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1776 controls hidden-timeout handling more simply than the previous
1777 arrangements, and pressing any hotkeys associated with menu entries
1778 during the hidden timeout will now boot the corresponding menu entry
1779 immediately.
1780
1781 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1782 generates a warning, and if it shows the menu it will do so as if
1783 the second timeout were not present. Other combinations are
1784 translated into reasonable equivalents.
1785
1786 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1787
1788 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * util/config.c: Add missing pointer adjustment.
1791 Reported by: qwertial
1792
1793 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1794
1795 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1796 directly, not via `cpu' link, to fix libgrub.pp generation.
1797
1798 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1799
1800 New port arm64-efi.
1801
1802 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1803
1804 * docs/grub.texi (sleep): Document exit codes.
1805
1806 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 Ensure that -mno-unaligned-access or some equivalent option is used.
1809
1810 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1813 -march=armv3.
1814
1815 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1818
1819 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1820
1821 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1822 builds, since we don't have an EPS version of font_char_metrics.png.
1823 Add leading dot to image extension per the Texinfo documentation.
1824
1825 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1826
1827 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1828 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1829 * util/grub-gen-widthspec.c: Likewise.
1830 * util/grub-mkfont.c: Likewise.
1831
1832 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1833
1834 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1835 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1836 failed to install on (hdX).
1837 * util/grub-setup.c (get_device_name): Remove, not needed after
1838 above change.
1839
1840 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1843
1844 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * util/grub-fstest.c: Remove variable length arrays.
1847
1848 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1851
1852 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1855 computing crc32 rather than handling with md fundtions directly.
1856
1857 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1860 checking fwstart.img rather than md fundtions directly.
1861
1862 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * util/grub-mkrescue.c (main): Check that fread succeeded.
1865
1866 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * conf/Makefile.common: Remove -mexplicit-relocs and
1869 -DUSE_ASCII_FALLBACK on yeeloong.
1870
1871 -DUSE_ASCII_FALLBACK is already added by font snippets.
1872 -mexplicit-relocs isn't needed is compiler/assemblera are
1873 configured properly.
1874 If they're not we shouldn't attempt to fix it by ourselves.
1875 Binary compare between before and after shows no difference.
1876
1877 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1880 sources in dependencies directly.
1881
1882 This was the only instance of "library" in core config. A bug was
1883 reported that -fno-stack-protector wasn't passed to it. Instead of
1884 figuring out why it failed just remove this construction used
1885 needlessly.
1886
1887 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1890 fgets succeeded.
1891
1892 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1893
1894 * docs/grub.texi (ls): Fix command description in case of a device name
1895 passed as argument.
1896
1897 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 Eliminate variable length arrays in grub_vsnprintf_real.
1900
1901 A bit tricky because this function has to continue to work without
1902 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1903 but make all stack references use 32-bit offset rather than 8-bit one.
1904 So split va_args preparsing to separate function and put the prealloc
1905 into the caller.
1906
1907 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1910 Fixes build for windows.
1911
1912 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * gentpl.py: Don't generate platform-dependent conditionals for
1915 platform-independent targets.
1916
1917 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1918
1919 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1920 references to mdadm from otherwise generic code.
1921 (grub_util_exec_pipe): Likewise.
1922 (grub_util_exec_pipe_stderr): Likewise.
1923 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1924 This function calls vgs, not mdadm; adjust variable names
1925 accordingly.
1926
1927 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1928
1929 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1930 of Autogen. The Autogen definitions files remain intact as they
1931 offer a useful abstraction.
1932
1933 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1934
1935 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1936 into no-ops, and use it in programs that copy files but do not need
1937 to take special care to sync writes (grub-mknetdir, grub-rescue,
1938 grub-mkstandalone).
1939
1940 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
1941
1942 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1943 than hardcoding /usr/local/bin/xorriso.
1944
1945 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 Add PCI command activation to all PCI drivers as required for coreboot
1948 and maybe some other firmwares.
1949
1950 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1953 and non-Apple variants of efiemu compile.
1954
1955 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1956
1957 * configure.ac: Add explicit check for linking format of
1958 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1959 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1960 hardcoding linking format.
1961
1962 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1965 and not pkgdatadir.
1966
1967 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
1968 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 Add a --locale-directory option to grub-install and related tools.
1971
1972 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1973 --locale-directory option.
1974 (enum grub_install_options): Add
1975 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1976 * util/grub-install-common.c (grub_install_help_filter): Handle
1977 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
1978 (grub_install_parse): Likewise.
1979 (get_localedir): New function to check for a user-provided option
1980 before trying grub_util_get_localedir.
1981 (copy_locales): Use get_localedir rather than
1982 grub_util_get_localedir. Handle differing locale directory layouts.
1983 (grub_install_copy_files): Likewise.
1984
1985 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
1988 Don't rely on PATH_MAX.
1989
1990 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/genmoddep.awk: Use more portable && rather than and.
1993
1994 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
1997 an object after data. While it doesn't seem right solution, it
1998 works well enough and OSX isn't main compilation platform.
1999
2000 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2003 While it doesn't seem right solution, it works well enough and
2004 OSX isn't main compilation platform.
2005
2006 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * configure.ac: Add -static to LDFLAGS when using apple linker to
2009 prevent it from pulling in dynamic linker.
2010
2011 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 Apple assembly doesn't handle symbol arithmetic well. So define an
2014 offset symbol in boot.S and use it.
2015
2016 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 Apple assembly doesn't handle symbol arithmetic well. So instead
2019 of getting addres of kernel_sector + 4 define kernel_sector_high.
2020 It also makes code more readable.
2021
2022 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 With Apple assembly in .macro environvemnt you have to use $$ instead
2025 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2026 to $$x on Apple and to $x on everything else.
2027
2028 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2031 OBJCONV.
2032
2033 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2036 and non-Apple. This instruction is shorter and faster,
2037 so no reason not to use it on both.
2038
2039 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2042 .text when compiling for Apple.
2043
2044 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2047
2048 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2051 %dx restore the probe worked on non-existant drive. Reorganize the
2052 code a little bit to free 2 bytes necessary for push/pop.
2053
2054 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2057 Add missing cast to silence warning.
2058
2059 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2060
2061 * util/grub-install.c (update_nvram): Support --no-nvram flag
2062 for EFI targets.
2063
2064 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2067
2068 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * util/garbage-gen.c: Add missing include of sys/time.h.
2071
2072 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 Don't add -mflush-func if it's not supported by compiler.
2075
2076 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 Move common BIOS/coreboot memory map declarations to
2079 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2080
2081 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2082
2083 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2084
2085 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * INSTALL: Document why older clang versions aren't appropriate.
2088
2089 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * INSTALL: Document about clang for mips.
2092
2093 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2096 clang.
2097
2098 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Add *-xen to the list of grub-install-common platforms.
2101
2102 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2105 3 last commits.
2106
2107 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2110
2111 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2114 with -mcmodel=large.
2115
2116 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2119 range-checking for 32-bit quantities.
2120
2121 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * configure.ac: Compile with -fPIC when compiling with clang on
2124 mips.
2125
2126 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2129 when compiling with clang.
2130
2131 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 clang emits calls to abort () under some unknown conditions.
2134 Export abort () when compiling with clang.
2135
2136 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * docs/grub-dev.texi: Document stack and heap sizes.
2139
2140 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * include/grub/i386/pc/memory.h: Decrease
2143 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2144 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2145 The binary doesn't change (checked). It's more to better reflect actual
2146 usage.
2147
2148 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2151 at compile time that enough of scratch size is available.
2152
2153 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2156 Previously we misaligned stack by 8 in startup.S and compensated
2157 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2158 right behaviour is to align stack in startup.S and keep it aligned
2159 in callwrap.S. startup.S part was committed few commits before. This
2160 takes care of callwrap.S.
2161 Reported by: Gary Lin.
2162
2163 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2166 .data and .bss. May happen if compiler and assembly use different
2167 alignment.
2168
2169 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2172 way.
2173
2174 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 Add support for a new magic symbol _gp_disp on mips to handle PIC
2177 binaries.
2178
2179 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2182
2183 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2186 when rest of GRUB is compiled for hisher stepping. Instead use
2187 .set mips3/.set mips1 around cache and sync opcodes.
2188
2189 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2192 do essentially the same thing, do it in similar way.
2193
2194 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2195
2196 * util/grub-mkrescue.c (main): If a source directory is not
2197 specified, read platform-specific files from subdirectories of
2198 pkglibdir, not pkgdatadir.
2199
2200 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2201
2202 * grub-core/normal/progress.c: Remove unused file.
2203
2204 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2207 array.
2208
2209 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2212 than grub.cfg.
2213
2214 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * coreboot.cfg: Add missing file.
2217
2218 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2221
2222 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2223
2224 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2225 selectively skipping systems.
2226
2227 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2228
2229 * Makefile.util.def (grub-mkimage): Add
2230 grub-core/osdep/aros/config.c to extra_dist.
2231 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2232 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2233 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2234 grub-core/gnulib-no-gets.diff.
2235
2236 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 Add automated filesystem checking based on scripts I've used now for
2239 quite some time locally. Most of the test require root so they are
2240 skipped when run without necessarry privelegies.
2241
2242 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2243
2244 * util/grub-install.c (main): Adjust info messages to match
2245 installed paths of grub-bios-setup and grub-sparc64-setup.
2246
2247 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2248
2249 * util/grub-install-common.c (copy_locales): Consistently use
2250 grub_util_get_localedir () rather than LOCALEDIR.
2251 (grub_install_copy_files): Likewise.
2252
2253 2013-11-19 Josh Triplett <josh@joshtriplett.org>
2254
2255 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2256 16-byte boundary, as required by the x86-64 ABI, before calling
2257 grub_main. In some cases, GCC emits code that assumes this
2258 alignment, which crashes if not aligned. The EFI firmware is also
2259 entitled to assume that stack alignment without checking.
2260
2261 2013-11-18 Josh Triplett <josh@joshtriplett.org>
2262
2263 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2264 4k page boundaries as expected by firmware rather than 1k
2265 boundaries.
2266 (grub_mmap_malign_and_register): Likewise.
2267
2268 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2271 fragmentation 512M is enough.
2272
2273 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2276 pointer to 32K. This is the size of cache element which is the most
2277 common allocation >1K. This way the pointer is always around blocks
2278 of 32K and so we keep performance while decreasing fragmentation.
2279
2280 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2283 current memory when allocating large chunks. This significantly
2284 decreases memory fragmentation.
2285
2286 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2287
2288 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2289 but for symmetry).
2290 * tests/lzocompress_test.in: Skip if lzop is not installed.
2291 * tests/xzcompress_test.in: Skip if xz is not installed.
2292
2293 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2294
2295 * util/grub-mkrescue.c (main): Fix typo.
2296
2297 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2300 clock frequency to 200 MHz,
2301
2302 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2305
2306 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2309 Load config file from (cbfsdisk)/etc/grub.cfg.
2310
2311 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * util/grub-install-common.c (grub_install_copy_files): Fix module
2314 destination directory.
2315
2316 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2317
2318 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2319 files have not been built.
2320
2321 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2322
2323 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2324 Handle errors from mkstemp.
2325 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2326
2327 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2330 on primary master on pseries.
2331
2332 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2335 already loaded. This saves memory needed for tests,
2336
2337 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2340 work again.
2341
2342 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2345 work again.
2346
2347 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2350 master since with some combinations of qemu and firmware only primary
2351 IDE channel is available.
2352
2353 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2356 low-memory platforms where we don't have enough memory for them.
2357 * grub-core/tests/videotest_checksum.c: Likewise.
2358
2359 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2362 already loaded. This saves memory needed for tests,
2363
2364 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 Fix handling of install lists.
2367
2368 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2371
2372 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2375 the devices before accessing them.
2376
2377 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2380 as file argument.
2381
2382 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2385
2386 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2389 (grub_file_close): Free file->name.
2390
2391 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2394 (grub_load_public_key): Likewise.
2395 (grub_verify_signature_real): Likewise.
2396 (grub_cmd_verify_signature): Likewise.
2397
2398 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2401 memory leak.
2402
2403 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2406 (grub_longjmp): Restore r31.
2407 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2408
2409 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2412 modules to be in line with make_image_abs.
2413
2414 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2417
2418 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2419
2420 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
2421
2422 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2423
2424 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2427 to leave some memory to firmware.
2428
2429 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2432 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2433 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2434 Load gfxmenu.
2435
2436 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2439 now needs full arguments.
2440
2441 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * util/grub-mkrescue.c (main): Add trailing \n in
2444 .disk_label.contentDetails to be in line with previous shell script.
2445
2446 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2449
2450 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * util/grub-install-common.c (grub_install_parse): Recognize
2453 --compress=none like shell script did.
2454
2455 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * include/grub/misc.h: Replace check for __sparc64__ with one for
2458 __sparc__ as __sparc64__ isn't actually defined.
2459
2460 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2463 counterpart of fixing the naming of escc ports.
2464
2465 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * util/grub-install-common.c (platforms): Fix the order of entries and
2468 remove useless field val.
2469
2470 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * util/grub-install.c: Add new option --no-bootsector to skip
2473 installing of bootsector. Accept --grub-setup=/bin/true as
2474 backwards-compatible synonym.
2475
2476 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2477
2478 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2479 order of qsort arguments (number of elements vs. element size).
2480
2481 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2484 the function of these files exceeds what can be sanely handled in shell
2485 in posix-comaptible way. Also writing it in C extends the functionality
2486 to non-UNIX-like OS and minimal environments.
2487
2488 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2491 compiling to thumb2.
2492 * grub-core/kern/arm/cache_armv7.S: Likewise.
2493 * grub-core/lib/arm/setjmp.S: Likewise.
2494
2495 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2496
2497 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2498 in grub_uboot_syscall
2499
2500 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 Decrease stack usage in lexer.
2503
2504 We have only 92K of stack and using over 4K per frame is wasteful
2505
2506 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2507 as macros so that compiler would remove useless structure on stack.
2508 Better solution would be to fix flex not to put this structure on
2509 the stack but flex is external program.
2510
2511 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Decrease stack usage in signature verification.
2514
2515 We have only 92K of stack and using over 4K per frame is wasteful
2516
2517 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2518 rather than stack.
2519 (grub_verify_signature_real): Likewise.
2520
2521 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 Decrease stack usage in mdraid 0.9x.
2524
2525 We have only 92K of stack and using over 4K per frame is wasteful
2526
2527 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2528 rather than stack.
2529
2530 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 Decrease stack usage in BtrFS.
2533
2534 We have only 92K of stack and using over 4K per frame is wasteful
2535
2536 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2537 rather than stack.
2538
2539 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 Decrease stack usage in JFS.
2542
2543 We have only 92K of stack and using over 4K per frame is wasteful
2544
2545 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2546 stack. Note: this function is recursive.
2547 (grub_jfs_read_inode): Read only part we care about.
2548
2549 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2550
2551 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2552 handling
2553
2554 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2555
2556 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2557
2558 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2559
2560 * docs/grub.texi (Environment): Document cmdpath.
2561
2562 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2563
2564 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2565 Remove "unused" attribute from arguments, they are used.
2566
2567 2013-11-15 Colin Watson <cjwatson@debian.org>
2568
2569 * .gitignore: Only ignore grub-mk* at the top level.
2570
2571 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
2572
2573 * util/grub-reboot.in (usage): Fix a typo.
2574
2575 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 Replace libgcc version of ctz with our own.
2578
2579 On upcoming arm64 port libgcc ctz* are not usable in standalone
2580 environment. Since we need ctz* for this case and implementation is
2581 in C we may as well use it on all concerned platforms.
2582
2583 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * configure.ac: Probe for linking format rather than guessing it based
2586 on target_os.
2587
2588 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2591 "1" prior to handoff.
2592
2593 Reported by: M A Young.
2594
2595 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2598 \0 to all files.
2599
2600 Reported by: M A Young.
2601
2602 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2605 compilation on NetBSD.
2606
2607 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * acinclude.m4: Don't add -P on initial nm test.
2610
2611 Note: even though this patch postdates Andrey's it bears 14 Nov as
2612 date due to timezone difference.
2613
2614 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2615
2616 * grub-core/Makefile.core.def (signature_test): Add missing
2617 tests/signatures.h.
2618
2619 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2620
2621 * util/grub-install_header: Set localedir here, since this file is
2622 where it's used.
2623 * util/grub-install.in: Remove setting of localedir.
2624 * util/grub-mkrescue.in: Likewise.
2625
2626 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2629
2630 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * configure.ac: Move nm checks to the end.
2633 Call grub_PROG_NM_WORKS.
2634 * acinclude.m4: New check grub_PROG_NM_WORKS.
2635 Use $TARGET_CFLAGS -c when compiling test binary.
2636
2637 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2638
2639 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2640 unused variables.
2641
2642 2013-11-14 Matthew Garrett <mjg@redhat.com>
2643
2644 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2645 cmdpath to firmware directory.
2646
2647 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2650 at the start of second iteration.
2651
2652 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2655
2656 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * Makefile.am (default_payload.elf): New target for easier coreboot
2659 build.
2660
2661 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2664 clang (not necessarry with -no-integrated-as).
2665 * include/grub/symbol.h [__arm__]: Likewise.
2666
2667 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * configure.ac: Use -no-integrated-as on arm with clang.
2670 * INSTALL: Mention ARM compilation with clang.
2671
2672 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2675 -mthumb-interwork.
2676
2677 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2678
2679 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2680 code for indirect block handling.
2681
2682 Saves 185 bytes on compressed image.
2683
2684 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2685
2686 Fix make clean.
2687
2688 * Makefile.am: Remove build-grub-* in make clean.
2689
2690 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2691
2692 New files to gitignore.
2693
2694 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2695 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2696
2697 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2698
2699 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2700
2701 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2702
2703 * .gitignore: fix rules for .dep* and add *.a post git migration
2704
2705 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2706
2707 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2708 to match INSTALL.
2709
2710 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2711
2712 * grub-core/kern/misc.c: Don't redirect divisions in the
2713 GRUB_UTIL case.
2714 * include/grub/misc.h: Likewise.
2715
2716 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2717
2718 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2719 systems that require checking the return value of write.
2720
2721 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2722
2723 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2724 efibootmgr quiet when --debug is not used, rather than when it is.
2725
2726 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2727
2728 * gentpl.py (define_macro_for_platform_dependencies): Remove
2729 first (and thus unused) of two definitions for this function.
2730 (platform_dependencies): Likewise.
2731
2732 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2733
2734 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2735 functions, we only need to check this for the target, not the host.
2736 * configure.ac (grub_apple_cc): Likewise.
2737
2738 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2741 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2742 asm to stay in arm even if surrounding is thumb.
2743
2744 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2747 helper functions are needed for thumb.
2748
2749 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2752 level / 3 division explicitly unsigned. Saves few bytes.
2753
2754 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2757
2758 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2761 division.
2762
2763 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2766 grub_uboot_boot_data to asm part.
2767
2768 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2771 literal load.
2772 (grub_uboot_syscall): Save/restore r9 and align stack.
2773
2774 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2777
2778 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2781 occurencies with END.
2782
2783 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2784
2785 * util/grub-editenv.c (help_filter, argp): Document how to delete
2786 the whole environment block.
2787 Reported by Dan Jacobson. Fixes Debian bug #726265.
2788
2789 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2790
2791 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2792 sectioning.
2793
2794 2013-11-13 Josh Triplett <josh@joshtriplett.org>
2795
2796 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2797 increment/decrement.
2798
2799 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2802 compiling with clang.
2803
2804 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2807 ".".
2808
2809 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 Redirect all divisions to grub_divmod64.
2812
2813 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2816
2817 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Add missing includes of loader.h.
2820
2821 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * configure.ac: Allow disabling themes.
2824
2825 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2826
2827 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2828
2829 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2832 until it becomes operational.
2833
2834 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/Makefile.core.def (legacy_password_test): Disable
2837 on platforms where no legacycfg is compiled.
2838 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2839 load legacy_password_test.
2840
2841 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2844
2845 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2848
2849 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2852 strict-aliasing warning.
2853 (fsync): Silence cast warning.
2854
2855 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/commands/verify.c: Remove variable length arrays.
2858 Load gcry_dsa/gcry_rsa automatically.
2859
2860 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/tests/signature_test.c: New test.
2863
2864 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2867 API.
2868
2869 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2872 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2873
2874 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2877
2878 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * grub-core/fs/proc.c: Allow \0 in proc files.
2881
2882 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2885
2886 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2889
2890 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/fs/ext2.c: Remove variable length arrays.
2893
2894 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2897 length arrays.
2898
2899 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2902 * grub-core/disk/cryptodisk.c: Likewise.
2903 * grub-core/disk/geli.c: Likewise.
2904 * grub-core/disk/luks.c: Likewise.
2905
2906 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/tests/legacy_password_test.c: New test.
2909 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2910
2911 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2914
2915 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/tests/pbkdf2_test.c: New test.
2918
2919 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2922
2923 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/io/lzopio.c: Remove variable length arrays.
2926
2927 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * include/grub/crypto.h: Add maximums on hash size and cipher block
2930 size.
2931
2932 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2935
2936 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * grub-core/tests/xnu_uuid_test.c: New test.
2939
2940 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2943 covers it).
2944
2945 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/commands/hashsum.c: Remove variable length arrays.
2948
2949 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2952 condition.
2953 * tests/grub_func_test.in: Increase memory allocation.
2954
2955 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2958 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2959 sys/mount.h.
2960
2961 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2964 (grub_util_get_fd_size_os): ...this.
2965 (grub_hostdisk_flush_initial_buffer): New empty function.
2966
2967 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2970 without --defined-only.
2971
2972 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
2975 rip-relative addressing in prologue.
2976
2977 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
2980 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
2981
2982 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
2985 Add missing semicolon.
2986
2987 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2990
2991 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * configure.ac: Check for lzma.h for enabling liblzma and allow
2994 manual disabling.
2995
2996 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 Add missing includes of loader.h.
2999
3000 2013-11-11 Fam Zheng <famcool@gmail.com>
3001
3002 * util/grub.d/30_os-prober.in: Add minix entry.
3003
3004 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3007 right buffer for temporary load.
3008
3009 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3012
3013 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3016 payload.
3017
3018 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3021 not Types.h.
3022 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3023 environment.
3024 (LzmaDec_InitDicAndState): Make static.
3025
3026 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3029
3030 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3033
3034 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3035
3036 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * docs/grub-dev.texi: Replace bzr references with git ones.
3039
3040 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3041
3042 * docs/grub.texi (Simple configuration): Remove reference to
3043 grub-reboot from saved default entry description - grub-default
3044 does not use it anymore.
3045
3046 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3049 compiled with.
3050
3051 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3052
3053 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3054
3055 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 Fix grub_machine_fini bitrot.
3058
3059 Reported by: Glenn Washburn.
3060
3061 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3064
3065 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3068 -DELF.
3069 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3070 instead of ELF*.
3071
3072 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3075 Add -march=core2 when testing compile of efiemu64.
3076
3077 Thanks Andrey Borzenkov for spotting this.
3078
3079 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3082 XEN PV environment and load kernels.
3083
3084 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3087 * grub-core/loader/multiboot_mbi2.c: Likewise.
3088
3089 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3092 handling.
3093
3094 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3097
3098 Tested by: Denis 'GNUtoo' Carikli.
3099
3100 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3103
3104 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3107 Use to get rounded angle rather than truncated.
3108
3109 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/term/serial.c: Add option for enabling/disabling
3112 RTS/CTS flow control.
3113
3114 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3117 divisions.
3118
3119 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3122 Use grub_fatal rather than divide by zero.
3123 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3124
3125 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3128 truncate.
3129 (grub_fixed_fsf_divide): Likewise.
3130
3131 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3134 division by-zero and senseless negative divisions.
3135
3136 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3139 division by-zero and senseless negative divisions.
3140 (circprog_set_property): Don't accept negative num_ticks.
3141
3142 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3145 division by-zero and senseless negative divisions.
3146
3147 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 * configure.ac: Use elf_*_fbsd on kfreebsd.
3150
3151 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/tests/div_test.c: New test.
3154
3155 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3156
3157 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3158 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3159 * grub-core/gfxmenu/view.c: Likewise.
3160 * grub-core/video/fb/video_fb.c: Introduce new functions:
3161 grub_video_set_area_status, grub_video_get_area_status,
3162 grub_video_set_region, grub_video_get_region.
3163 * grub-core/video/bochs.c: Likewise.
3164 * grub-core/video/capture.c: Likewise.
3165 * grub-core/video/video.c: Likewise.
3166 * grub-core/video/cirrus.c: Likewise.
3167 * grub-core/video/efi_gop.c: Likewise.
3168 * grub-core/video/efi_uga.c: Likewise.
3169 * grub-core/video/emu/sdl.c: Likewise.
3170 * grub-core/video/radeon_fuloong2e.c: Likewise.
3171 * grub-core/video/sis315pro.c: Likewise.
3172 * grub-core/video/sm712.c: Likewise.
3173 * grub-core/video/i386/pc/vbe.c: Likewise.
3174 * grub-core/video/i386/pc/vga.c: Likewise.
3175 * grub-core/video/ieee1275.c: Likewise.
3176 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3177 * include/grub/video.h: Likewise.
3178 * include/grub/video_fb.h: Likewise.
3179 * include/grub/fbfill.h: Updated render_target structure.
3180 grub_video_rect_t viewport, region, area
3181 int area_offset_x, area_offset_y, area_enabled
3182 * include/grub/gui.h: New helper function
3183 grub_video_bounds_inside_region.
3184 * docs/grub-dev.texi: Added information about new functions.
3185
3186 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3189 for alignment.
3190
3191 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3194 missing attribute.
3195 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3196
3197 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3200 simple division on arm and ia64.
3201
3202 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3205 link with libgcc.
3206
3207 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3210
3211 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3214 prefix symbol, not @.
3215
3216 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * INSTALL: Add note about older gcc and clang.
3219
3220 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3223
3224 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3227 NULL pointer dereference.
3228
3229 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3232 clang.
3233
3234 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3237 warnings.
3238
3239 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3242 function.
3243 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3244 * grub-core/disk/geli.c (ascii2hex): Likewise.
3245
3246 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * configure.ac: Run linker tests without -Werror.
3249 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3250 Change all occurences of -static-libgcc resp -lgcc to
3251 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3252
3253 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3256
3257 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 Allow compiling with clang (not really supported though).
3260
3261 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3262 unconditionally.
3263 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3264 Add -mrtd -mregparm=3 on i386 when not using clang.
3265 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3266
3267 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3270 bindings.
3271 * grub-core/lib/reed_solomon.c: Likewise.
3272 * include/grub/i386/gdb.h: Likewise.
3273 * include/grub/i386/pc/int.h: Likewise.
3274 * include/grub/i386/pc/pxe.h: Likewise.
3275 * include/grub/ieee1275/ieee1275.h: Likewise.
3276
3277 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 Import libgcrypt 1.5.3.
3280
3281 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * configure.ac: Don't add -Wcast-align on x86.
3284
3285 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * configure.ac: Add -freg-struct-return on all platforms that
3288 support it.
3289
3290 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * acinclude.m4: Use -Werror on parameter tests.
3293 * configure.ac: Likewise.
3294
3295 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3298
3299 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * configure.ac: Check that -malign-loops works rather than assuming that
3302 either -falign-loops or -malign-loops work.
3303
3304 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3307
3308 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * configure.ac: Prevent cflags leaking to subsequent tests by always
3311 resetting cflags to target_cflags in target tests.
3312
3313 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3316 function.
3317
3318 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3321
3322 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3325
3326 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/normal/cmdline.c (grub_cmdline_get):
3329 Remove nested functions.
3330
3331 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * tests/test_sha512sum.in: Make it work on emu.
3334
3335 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3338 functions.
3339 (grub_bidi_line_logical_to_visual): Likewise.
3340
3341 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 Remove vestiges of -Wunsafe-loop-optimisations.
3344
3345 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3346 -Wno-unsafe-loop-optimisations.
3347 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3348 pragma.
3349 * grub-core/io/gzio.c: Likewise.
3350 * grub-core/script/parser.y: Likewise.
3351 * grub-core/script/yylex.l: Likewise.
3352 * util/grub-mkfont.c: Likewise.
3353
3354 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * util/grub-mkfont.c (process_cursive): Remove nested function.
3357
3358 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3361 (grub_boot_time): Likewise.
3362
3363 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * include/grub/symbol.h (FUNCTION): Use @function rather than
3366 "function".
3367 (VARIABLE): Likewise.
3368
3369 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3372
3373 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3376 (parse_dhcp_vendor): Likewise.
3377
3378 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3381
3382 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3385 Define after defining type and not before.
3386
3387 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3390 type.
3391 (grub_gcm_decrypt): Likewise.
3392 (algo_decrypt): Likewise.
3393 (grub_zfs_decrypt_real): Transform error type.
3394
3395 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3398
3399 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3402 (grub_usbms_cbi_reset): Likewise.
3403 (grub_usbms_bo_reset): Likewise.
3404 (grub_usbms_reset): Likewise.
3405 (grub_usbms_attach): Likewise.
3406 (grub_usbms_transfer_cbi): Likewise.
3407
3408 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3411 "checksum = checksum;".
3412
3413 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3416 entry_type.
3417
3418 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3421 BIOS disk check.
3422
3423 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3426 type.
3427 (grub_ehci_fini_hw): Likewise.
3428 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3429
3430 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3433 return grub_usb_err_t for cosistency. All users updated.
3434
3435 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3438 assigning to itself.
3439
3440 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
3441 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3442
3443 Issue separate DNS queries for ipv4 and ipv6
3444
3445 Adding multiple questions on a single DNS query is not supportted by
3446 most DNS servers. This patch issues two separate DNS queries
3447 sequentially for ipv4 and then for ipv6.
3448
3449 Fixes: https://savannah.gnu.org/bugs/?39710
3450
3451 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3452 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3453 * (grub_net_dns_lookup): Now using separated dns packages.
3454 * (grub_cmd_nslookup): Add error condition.
3455 * (grub_cmd_list_dns): Print DNS option.
3456 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3457 --prefer-ipv4, and --prefer-ipv6.
3458 * include/grub/net.h (grub_dns_option_t): New enum.
3459 * (grub_net_network_level_address): option added.
3460
3461 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3462
3463 * grub-core/video/fb/video_fb.c: Merge two blit functions
3464 into one.
3465
3466 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/term/terminfo.c: Add sequences for home and end.
3469
3470 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3473 graphics console.
3474
3475 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3478 add mode 0x12.
3479
3480 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3483 e-mail by Per Öberg.
3484
3485 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3488 name.
3489
3490 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3491
3492 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3493 emu platforms.
3494 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3495
3496 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * docs/grub.texi: Document usage of menuentry id.
3499
3500 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3503
3504 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3505
3506 * grub-core/commands/i386/nthibr.c: New command.
3507
3508 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3511
3512 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3515 coordinate.
3516
3517 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 Support GRUB_DISABLE_SUBMENU config.
3520
3521 Inspired by patch from Prarit Bhargava.
3522
3523 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * docs/grub.texi: Mention RSA support.
3526
3527 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/commands/verify.c: Add RSA support.
3530
3531 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3534 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3535 device is known to be ATAPI.
3536
3537 2013-11-03 Mike Frysinger <vapier>
3538
3539 * configure.ac: Don't add target-prefix.
3540
3541 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3544 variables.
3545
3546 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3549 if language is English.
3550
3551 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3554
3555 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * configure.ac: Don't add -m32/-m64 on emu.
3558
3559 2013-11-02 neil
3560
3561 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3562 broken linux headers.
3563
3564 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3567
3568 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3571 Reed-Solomon recovery if more than half of redundancy info is 0.
3572
3573 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * util/grub-mount.c: Handle symlinks to directories.
3576
3577 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3580 find_file recursively for symlink.
3581
3582 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * tests/util/grub-shell.in: Copy themes.
3585
3586 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3589
3590 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * configure.ac: Use 0x8000 for address instead of 8000.
3593
3594 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3595
3596 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3597 signature.
3598
3599 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3602 variable.
3603
3604 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3607
3608 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3611 file_progress_read_hook.
3612 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3613
3614 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3617 and double.
3618
3619 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3622
3623 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Rewrite blocklist functions in order to get progress when
3626 reading large extents and decrease amount of blocklist hook calls.
3627
3628 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3631 of SI suffixes.
3632
3633 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 Support --base-clock for serial command to handle weird cards with
3636 non-standard base clock.
3637
3638 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3641 strncpy.
3642 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3643 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3644 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3645 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3646 + strcpy rather than strncpy.
3647
3648 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3651 (check_pool_label): Likewise. Fixes overflow.
3652 (nvlist_find_value): Fix comparison.
3653
3654 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3657 more appropriate functions.
3658
3659 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3662 realloc.
3663
3664 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3667
3668 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3671 on core size.
3672
3673 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3676
3677 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3680 (initialize_tables): reset tl and td to NULL after freeing.
3681
3682 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3685
3686 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3689 of supported tags.
3690
3691 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3694
3695 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3698 quirks.
3699
3700 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3703 a page in protected space.
3704
3705 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3708 allocate space for zero-sized modules.
3709
3710 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3713
3714 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3715
3716 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3717
3718 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3721 safeguards. Fixes a crash with i386/pc/console.c.
3722
3723 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3726 and grub_hostfs_init.
3727
3728 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3731 windows method on other platforms without good stat as well.
3732
3733 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3736
3737 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 Make / in btrfs refer to real root, not the default volume.
3740 Modify mkrelpath to work even if device is mounted with subvolid option.
3741
3742 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3743
3744 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
3745 extra_dist.
3746 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3747 extra_dist.
3748
3749 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3752 fails.
3753
3754 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3755
3756 * docs/autoiso.cfg: New file.
3757
3758 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3761 COND_GRUB_PE2ELF conditions.
3762
3763 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3766 "vnd", "rd" and "fd" disks.
3767
3768 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Move grub_disk_write out of kernel into disk.mod.
3771
3772 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3775 handling.
3776
3777 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * grub-core/kern/misc.c (grub_abort): Make static
3780
3781 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3784 transform invalid unicode codepoints.
3785
3786 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3789 \0 checking.
3790
3791 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3794
3795 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 Consolidate cpuid code.
3798
3799 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 Move cpuid code to cpuid.h and TSC code to tsc.c.
3802
3803 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3804
3805 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3806
3807 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3808
3809 * util/grub-mkconfig.in: Replace $0 with $self.
3810 * util/grub-reboot.in: Likewise.
3811 * util/grub-set-default.in: Likewise.
3812
3813 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3814
3815 * docs/osdetect.cfg: New file.
3816
3817 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3818
3819 * tests/util/grub-shell.in: Add new --debug option.
3820
3821 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3822
3823 * tests/test_unset.in: New test.
3824
3825 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3826
3827 * tests/test_sha512sum.in: New test.
3828
3829 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3832 * include/grub/misc.h: Remove strncat.
3833 * grub-core/lib/posix_wrap/string.h: Likewise.
3834
3835 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3838 Try to handle more than 0xFFFF packets.
3839 Reported by: Bernhard Übelacker <bernhardu>.
3840 He also spotted few overflows in first version of this patch.
3841
3842 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * tests/date_unit_test.c: New test.
3845
3846 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3849 of first three years after start of validity of unixtime.
3850
3851 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3854 division as the one making more sense.
3855 (update_screen): Likewise.
3856 (complete): Likewise.
3857
3858 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3861
3862 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 Make char and string width grub_size_t rather than grub_ssize_t.
3865
3866 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3869 unsigned.
3870 (grub_history_replace): Likewise.
3871
3872 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3875 appropriate.
3876
3877 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3880 appropriate.
3881
3882 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3885 Use unsigned divisions rather than signed variants.
3886
3887 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3890 unsigned arithmetics.
3891 Add missing break.
3892
3893 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3896
3897 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3900 rather than signed one.
3901 (recovery): Likewise.
3902
3903 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3906
3907 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3910 than signed.
3911
3912 2013-10-25 Jon McCune <jonmccune@google.com>
3913
3914 * docs/grub.texi: Cleanup security documentation around signatures.
3915
3916 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3919
3920 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3923 than int.
3924
3925 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3928 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3929 functions when compiling for kernel.
3930
3931 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3934 unsigned long long when using %llu.
3935
3936 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3939 terminal after updating progress.
3940
3941 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3944 argument. We don't disable Gate A20 in this code.
3945
3946 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3949 Conceptually based on change in branch "vbe-on-coreboot".
3950
3951 2013-10-24 Robert Millan <rmh@gnu.org>
3952
3953 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3954 numeric constants with their symbolic equivalent.
3955 Taken from branch "vbe-on-coreboot".
3956
3957 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3960
3961 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3964 divmod64 for offset division.
3965
3966 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3967
3968 Rename .bzrignore to .gitignore. Add "*.o" rule.
3969
3970 * .bzrignore: Renamed to...
3971 * .gitignore: ...this.
3972
3973 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3974
3975 Add new progress module that displays the load progress of files.
3976
3977 * grub-core/lib/progress.c: New file.
3978 * grub-core/Makefile.core.def (progress): New module.
3979 * grub-core/kern/file.c (grub_file_open): File name added.
3980 * (grub_file_read): Progress hook added.
3981 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
3982 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
3983 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
3984 * include/grub/file.h (struct grub_file): Add progress module members.
3985 * include/grub/term.h (struct grub_term_output): Likewise.
3986 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
3987 Terminal velocity added.
3988 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
3989 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
3990 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
3991 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
3992 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
3993 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
3994 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
3995 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
3996 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
3997 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
3998 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
3999 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4000
4001 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 Verify signatures of signatures unless --skip-sig is specified.
4004
4005 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4008 \0 checking.
4009
4010 Saves 70 bytes on compressed image.
4011
4012 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4015 check.
4016
4017 Saves 10 bytes on compressed image.
4018
4019 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * grub-core/kern/misc.c (grub_isprint): Move to ...
4022 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4023
4024 Saves 20 bytes on compressed image due to remving exporting.
4025
4026 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4029
4030 Saves 5 bytes on compressed image.
4031
4032 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4035 function get_utf8.
4036
4037 Saves 379 bytes on compressed image.
4038
4039 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4042
4043 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4046
4047 Saves 40 bytes on compressed image.
4048
4049 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4052 mask rather than 64-bit type.
4053
4054 Saves 20 bytes on compressed image.
4055
4056 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4059 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4060
4061 Saves 273 bytes on compressed image.
4062
4063 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4066 variable length arrays.
4067
4068 Saves 50 bytes on compressed image.
4069
4070 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4073
4074 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/fs/ufs.c: Remove variable length arrays.
4077
4078 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4081
4082 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * grub-core/fs/zfs.c: Remove variable length arrays.
4085 Reduces zfs.mod by 160 bytes (208 compressed).
4086
4087 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4090
4091 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/net/arp.c: Remove variable length arrays.
4094 * grub-core/net/bootp.c: Likewise.
4095 * grub-core/net/dns.c: Likewise.
4096 * grub-core/net/icmp6.c: Likewise.
4097 * grub-core/net/net.c: Likewise.
4098
4099 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/fs/ntfs.c: Remove variable length arrays.
4102 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4103 compressed).
4104
4105 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/fs/hfs.c: Remove variable length arrays.
4108 Reduces hfs.mod by 8 bytes (52 compressed).
4109
4110 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/fs/udf.c: Remove variable length arrays.
4113 Increases udf.mod by 128 bytes (but decreases by 13 when
4114 compressed).
4115
4116 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/fs/iso9660.c: Remove variable length arrays.
4119 Increases iso9660.mod by 200 bytes (but decreases by 79 when
4120 compressed).
4121
4122 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/fs/nilfs2.c: Remove variable length arrays.
4125 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
4126 compressed).
4127
4128 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * grub-core/fs/xfs.c: Remove variable length arrays.
4131 Reduces xfs.mod by 40 bytes (43 compressed).
4132
4133 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/fs/fshelp.c: Remove variable length arrays.
4136 Reduces fshelp.mod by 116 bytes (23 compressed).
4137
4138 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/normal/completion.c: Remove variable length arrays.
4141 * grub-core/normal/menu_entry.c: Likewise.
4142
4143 Reduces normal.mod by 496 bytes.
4144
4145 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4148 by 356 bytes (158 compressed).
4149
4150 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4153 by 364 bytes (169 compressed).
4154
4155 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4158 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4159 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4160
4161 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4164 bitmasks to small structures of size chosen to fit in registers.
4165
4166 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * conf/Makefile.common: Use -freg-struct-return on i386. This
4169 decreases code size and improves performance.
4170
4171 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4174
4175 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4178 "(null)" string.
4179 Simplify expressions to save around 256 bytes in kernel.img.
4180 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4181
4182 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4185 Use GRUB_UTIL_FD_O_* rather than O_*.
4186
4187 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 Add haiku-specific functions.
4190
4191 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4194
4195 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 Move stat () and device mode checking into OS-dependent files as
4198 long as performance doesn't suffer.
4199
4200 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 Split make_system_path_relative_to_its_root into separate file
4203 relpath.c from getroot.c as it's common between unix and haiku
4204 but otherwise haiku doesn't use any functions from unix getroot.c.
4205
4206 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4209 New function.
4210 (grub_util_is_special_file): Likewise.
4211
4212 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4215 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4216
4217 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4220 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4221
4222 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4225 (load_image): Likewise.
4226
4227 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * util/grub-render-label.c: Move backend part to ...
4230 * util/render-label.c: ... here.
4231
4232 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4235 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4236
4237 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4240
4241 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4244 CD-ROM in case when it's declared as having subpartitions.
4245
4246 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 Don't add -lm on haiku.
4249
4250 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4251 and empty on haiku.
4252 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4253 -lm.
4254
4255 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * configure.ac: Use -melf_*_haiku as target on haiku.
4258
4259 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * Makefile.util.def: Add util/setup.c to extra_dist.
4262
4263 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4266 unknown types through.
4267
4268 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4271 (grub_util_check_char_device): Likewise.
4272 * include/grub/emu/getroot.h: Likewise.
4273
4274 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4277 memset rather than inline static function.
4278
4279 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4282 not doing embedded decompressor.
4283
4284 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4287 shadowing.
4288 * grub-core/kern/disk.c: Likewise.
4289 * grub-core/kern/misc.c: Likewise.
4290 * include/grub/parser.h: Likewise.
4291 * include/grub/script_sh.h: Likewise.
4292 * include/grub/zfs/zfs.h: Likewise.
4293
4294 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4297
4298 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4301 defined before trying to use it.
4302
4303 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4306 warning.
4307
4308 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4311 Use __unused__ rather than __used__ on gcc < 3.2.
4312
4313 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4316 gcc < 4.0.
4317 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4318
4319 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4322
4323 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4326 * include/grub/emu/misc.h: Likewise.
4327
4328 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4331 cur_color.
4332
4333 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4334
4335 * grub-core/tests/checksums.h: Regenerated due to progress bar
4336 get_minimal_size changes.
4337
4338 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4339
4340 Added `tr' command support.
4341
4342 * grub-core/commands/tr.c: New file.
4343 * grub-core/Makefile.core.def: Build rules for new module.
4344
4345 * tests/grub_cmd_tr.in: New test.
4346 * Makefile.util.def: Build rules for new test.
4347
4348 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4349
4350 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4351
4352 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4353
4354 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4355 * docs/gurb.texi: Likewise.
4356
4357 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4358
4359 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4360 Pixmap highlighted section with east and west slices was displayed
4361 incorrectly due to negative width of the central slice.
4362
4363 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4364
4365 * docs/grub.texi: Graphical options information update.
4366 Removed outdated. Updated current. Inserted missed.
4367
4368 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * docs/grub.texi: Mention few new platform-specific commands.
4371
4372 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4375 currently used so this doesn't really have any effect.
4376 Reported by: Douglas Ray <dougray>
4377
4378 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4381 compilation but prevents gcc from displaying messages in non-Latin
4382 alphabets.
4383 * conf/Makefile.common: Likewise.
4384
4385 2013-10-16 Hiroyuki YAMAMORI
4386
4387 Handle Japanese special keys.
4388 Reported by: Hiroyuki YAMAMORI.
4389 Codes supplied by: Hiroyuki YAMAMORI.
4390
4391 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4392
4393 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4394
4395 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4396
4397 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4398 * docs/grub.texi: Likewise.
4399
4400 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4403 value in case of incomplete read.
4404 (grub_util_fd_write): Likewise.
4405
4406 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4409
4410 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * util/grub-editenv.c (create_envblk_file): More from here ...
4413 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4414
4415 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4418 canonicalize file name before doing the rest.
4419
4420 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4423 mingw32.
4424
4425 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 Define grub_util_is_directory/regular/special_file and
4428 use OS-dependent versions rather than to rely on stat().
4429
4430 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * util/grub-mkimage.c: Move backend part to ...
4433 * util/mkimage.c: ... here.
4434
4435 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 Allow compilation with mingw64 albeit with warnings due to lack of
4438 %llx/%llu.
4439
4440 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4441 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4442 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4443 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4444 on mingw64.
4445 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4446
4447 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 Remove leftover references to some of the system headers.
4450
4451 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4454 read.
4455
4456 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4459 of strerror.
4460
4461 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 Split out blocklist retrieving from setup.c to
4464 grub-core/osdep/blocklist.c and add windows implementation since
4465 generic version doesn't work on NTFS on Windows due to aggressive
4466 unflushable cache.
4467
4468 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4471 files.
4472
4473 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4476 Cut tailing newline. Remove arbitrary limitation. Always use
4477 grub_util_tchar_to_utf8.
4478
4479 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4482 * tests/printf_unit_test.c (printf_test): Add %% tests.
4483 Reported by: Paulo Flabiano Smorigo.
4484
4485 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4488 implement fsync.
4489
4490 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4493 use nvlist_lookup_string and don't use nvlist_print.
4494
4495 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4498 closedir to handle filename charset translation.
4499
4500 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * include/grub/emu/hostdisk.h: Move file operations to
4503 * include/grub/emu/hostfile.h: ... here.
4504
4505 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4508 unicode path.
4509
4510 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4513
4514 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4517 and remove export.h.
4518
4519 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/kern/emu/error.c: Removed.
4522 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4523 explicitly as it's already in libgnu.a.
4524
4525 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4528 config-util.h include.
4529
4530 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 Split emunet into platform-dependent and GRUB-binding parts. Keep
4533 platform-dependent part in kernel for easy access to OS functions.
4534
4535 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4538 open/read/write.
4539
4540 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/osdep/windows/emuconsole.c: New file.
4543
4544 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4545
4546 * conf/Makefile.extra-dist: Add osdep/*/init.c
4547
4548 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4551
4552 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * util/grub-probe.c (probe): Separate different drives in hint-str
4555 by spaces and not newlines.
4556 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4557
4558 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4559
4560 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4561 Handle CD-ROMs.
4562
4563 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 Pass-through unknown E820 types. It required reorganisation of mmap
4566 module.
4567
4568 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4569
4570 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4571
4572 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4575 fseeko.
4576
4577 2013-10-14 qwertial <qwertial>
4578
4579 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4580
4581 2013-10-14 Jon McCune <jonmccune@google.com>
4582
4583 * docs/grub.texi: Document new signatures possibility.
4584
4585 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4588
4589 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4592 missing prototype.
4593 (grub_util_tchar_to_utf8): Likewise.
4594
4595 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4598 * grub-core/kern/emu/main.c: Add missing include.
4599 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4600 Don't call grub_util_init_nls.
4601 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4602 Likewise.
4603
4604 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4607 stat.
4608
4609 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4612
4613 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4616
4617 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 Add a wrapper for fopen. On unix-like systems just pass-through. On
4620 windows use unicode version.
4621
4622 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 Move set_program_name and init_nls to host_init. On windows
4625 fix in this fuction console and argument charset as well.
4626
4627 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4628
4629 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4630 GRUB_ENABLE_CRYPTODISK.
4631
4632 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4633 GRUB_ENABLE_CRYPTODISK.
4634 * util/grub-mkconfig_lib.in: Likewise.
4635
4636 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4637
4638 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4639
4640 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4641
4642 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4643 error when enabling debug.
4644
4645 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4646
4647 * configure.ac: Use -melf_*_obsd on openbsd.
4648
4649 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4652
4653 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * include/grub/misc.h: Use gnu_printf rather than printf as format
4656 template since our functions are independent of libc.
4657
4658 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * util/grub-setup.c (setup): Move copying of partition table as
4661 futher up as possible to avoid possible overwrite by floppy routines.
4662
4663 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4666
4667 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4668
4669 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4670 * docs/grub.texi: Likewise.
4671
4672 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4675 it's mostly unused. Move vestiges to the callers.
4676
4677 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4680 version of salt and hash. Use grub_snprintf rather than snprintf.
4681
4682 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * docs/grub.texi: Fix problem with braces.
4685
4686 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * conf/Makefile.extra-dist: Fix extra-dist list.
4689 * grub-core/Makefile.core.def: Likewise.
4690
4691 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * docs/grub.texi: Document disk names used on Windows and AROS.
4694
4695 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4698 with AROS devs.
4699 * grub-core/osdep/aros/hostdisk.c: Likewise.
4700
4701 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 Avoid including hostfile.h when not necessarry as it pulls
4704 in OS-specific headers which may redefine generic names
4705 like "far".
4706
4707 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4708
4709 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4710 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4711 scrollbar_bottom_pad
4712 * docs/grub.texi: Likewise.
4713
4714 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4715
4716 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4717
4718 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4721
4722 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4725 Removed.
4726 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4727 Made static.
4728
4729 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4732 leftover.
4733
4734 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 Move OS-specific driver configuration to grub_util_fd_open. This
4737 moves OS-dependent parts from kern/emu/hostdisk.c to
4738 grub-core/osdep/*/hostdisk.c.
4739
4740 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * util/grub-mkimage.c (generate_image): Use size_t instead of
4743 grub_size_t.
4744 * util/grub-mkimagexx.c (locate_sections): Likewise.
4745 (load_image): Likewise.
4746
4747 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4750 size_t.
4751 (grub_util_write_image): Likewise.
4752
4753 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4756 get random when no RNG is available.
4757 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4758
4759 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * include/grub/util/lvm.h: Removed.
4762
4763 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4766 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4767
4768 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4771
4772 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4775
4776 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/net/drivers/emu/emunet.c: Move to ..
4779 * grub-core/osdep/linux/emunet.c: ..here.
4780
4781 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * util/ieee1275/ofpath.c: Move to ...
4784 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4785 * grub-core/osdep/basic/ofpath.c: ..here.
4786
4787 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 Move password-querying (util-version) routines to grub-core/osdep.
4790
4791 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 Move sleep routines to grub-core/osdep.
4794
4795 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 Move OS-dependent files to grub-core/osdep and document it.
4798
4799 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4802 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4803
4804 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4807
4808 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * util/misc.c: Remove leftover inclusion of malloc.h.
4811
4812 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * include/grub/setjmp.h: Remove leftover GRUBOF.
4815
4816 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * util/raid.c: Fold into ...
4819 * util/getroot_linux.c: ... here. Make all functions static.
4820
4821 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4824 macros to GRUB ones.
4825
4826 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4827
4828 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4829 occasional bug. If there are too many boot entries or too low
4830 scrollbar height then we need to use another formula to calculate
4831 the position and size of the scrollbar thumb.
4832
4833 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
4836
4837 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4838
4839 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4840 * docs/grub.texi: Likewise.
4841
4842 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4843
4844 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4845 viewport.
4846
4847 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4848
4849 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4850 minimal width calculations.
4851
4852 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * docs/grub.texi: Update note on colors on emu console.
4855
4856 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4859 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4860 it's FS and not GRUB limitation.
4861
4862 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4865
4866 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4869
4870 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4871
4872 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4873 kernels by version order.
4874
4875 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4878
4879 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 Add AROS hostdisk and getroot routines.
4882
4883 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 Make cryptodisk and diskfilter probe data retrievable programmatically
4886 and not just printable.
4887
4888 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 Split random retrieving code into separate files.
4891
4892 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4895 R_ARM_V4BX.
4896
4897 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4900 condition.
4901 * grub-core/tests/fake_input.c: Likewise.
4902 * grub-core/tests/cmdline_cat_test.c: Likewise.
4903
4904 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/video/capture.c: Do not do finalization when .fini
4907 is called as there is explicit capture_end.
4908
4909 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4912 changing windows to avoid crash.
4913
4914 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4917
4918 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * po/exclude.pot: Add several strings to exclude.
4921
4922 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4925
4926 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4929 ./util/grub-gen-asciih.c to exclude list.
4930
4931 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4934 and don't mark error strings for translation.
4935
4936 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4939 properly in case of missing block size.
4940
4941 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/lib/arm/setjmp.S: Add missing license section.
4944
4945 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * po/swiss.sed: Add replacement for key names and for term computer.
4948
4949 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4950
4951 * grub-core/gfxmenu/theme_loader.c: New global options for the
4952 theme background image handling. desktop-image-scale-method,
4953 desktop-image-h-align, desktop-image-v-align.
4954 * grub-core/gfxmenu/view.c: Likewise.
4955 * include/gfxmenu_view.h: Likewise.
4956 * include/bitmap_scale.h: Proportional scale functions introduced.
4957 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4958 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4959 cases of unexpected input variables for scale functions.
4960 * docs/grub.texi: Updated documentation for new options.
4961
4962 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4965
4966 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4967
4968 * grub-core/tests/checksums.h: Corrected due to changes in
4969 bilinear interpolation function.
4970
4971 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4972
4973 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
4974 to eliminate artefacts in bilinear interpolation.
4975
4976 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/video/readers/tga.c: Support paletted tga.
4979
4980 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
4983 incorrect cbcr setting when in color mode.
4984
4985 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * grub-core/video/readers/png.c: Support paletted images and clean up
4988 greyscale support.
4989
4990 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4993 usage of wrong table which resulted in mishandling of 4-byte
4994 sequences.
4995
4996 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/term/terminfo.c: Add Home and End key sequences.
4999
5000 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5003 Fix formula for computing total number of bytes.
5004
5005 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5008 image processing, fix big-endian and support grayscale.
5009
5010 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5013 Correctly will with maximum transparency when using index color.
5014
5015 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/video/readers/png.c: Support grayscale
5018
5019 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/video/readers/jpeg.c: Support grayscale.
5022
5023 2013-09-26 Jon McCune <jonmccune@google.com>
5024
5025 * grub-core/commands/loadenv.c: Support skipping signature check
5026 and variable names filtering.
5027
5028 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5031 * grub-core/kern/emu/hostfs.c: Likewise.
5032 * util/getroot_unix.c: Likewise.
5033
5034 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5037 Migrate all explicit defines to this new one.
5038
5039 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5042 grub_util_fd_strerror when using grub_util_fd_*.
5043 (grub_util_fd_open_device): Likewise.
5044 (grub_util_biosdisk_read): Likewise.
5045 (grub_util_biosdisk_write): Likewise.
5046 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5047 (grub_util_fd_strerror): Likewise.
5048 (grub_util_fd_sync): Likewise.
5049 (grub_util_fd_close): Likewise.
5050 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5051 (grub_util_fd_close): Likewise.
5052 (grub_util_fd_strerror): Likewise.
5053 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5054 function proto rather than macro.
5055 (grub_util_fd_sync): Likewise.
5056 (grub_util_fd_open): Likewise.
5057 (grub_util_fd_strerror): New proto.
5058
5059 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5062 platforms on which it doesn't work.
5063
5064 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5067 stat immediately to where it's used.
5068
5069 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/getroot.c (grub_util_check_block_device): Move to ...
5072 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5073 * util/getroot.c (grub_util_check_char_device): Move to ...
5074 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5075
5076 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5079 disk closing logic.
5080
5081 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5082
5083 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5084
5085 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5086
5087 * docs/grub.texi (File name syntax): Document ZFS filenames
5088 (/volume@snapshot/...).
5089
5090 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5093 Always return full path. Fixes a problem with mkrelpath.
5094
5095 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5096
5097 * util/grub-install.in: Add GPT PReP support.
5098 * util/grub-probe.c (probe): Support GPT partition type.
5099 (main): Support -t gpt_parttype.
5100
5101 2013-09-23 Aleš Nesrsta <starous@volny.cz>
5102
5103 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5104
5105 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5106
5107 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5108
5109 2013-09-23 Tim Hardeck <thardeck>
5110
5111 * util/grub.d/10_hurd.in: Filter out character for the class.
5112 * util/grub.d/10_kfreebsd.in: Likewise.
5113 * util/grub.d/10_linux.in: Likewise.
5114 * util/grub.d/20_linux_xen.in: Likewise.
5115
5116 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5117
5118 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5119 "changed".
5120
5121 2013-09-23 Josh Triplett <josh@joshtriplett.org>
5122
5123 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5124 boot partition.
5125
5126 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5129 doesn't use posix_wrap. Keep literal -fno-builtin however.
5130
5131 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5134
5135 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5136 2013-09-23 neil
5137
5138 * configure.ac: Do not enable -Wmissing-noreturn as its
5139 usefulness is limited and creates problems on some OS notably with
5140 code generated by bison.
5141
5142 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5143 2013-09-23 neil
5144
5145 * configure.ac: Do not explicitly enable -Waddress as it's not
5146 supported by all gcc and when it is, it's already enabled by -Wall.
5147
5148 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5151 desactivated use of EDID at all.
5152
5153 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5154 2013-09-23 neil
5155
5156 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5157 video if no text is available.
5158
5159 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5160 2013-09-23 neil
5161
5162 * configure.ac: Substitute TARGET_RANLIB.
5163
5164 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5165 2013-09-23 neil
5166
5167 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5168
5169 Based on patches from AROS.
5170
5171 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5172 2013-09-23 neil
5173
5174 * grub-core/Makefile.am: Override STRIP and RANLIB.
5175 * configure.ac: compute TARGET_RANLIB.
5176 * INSTALL: Document TARGET_RANLIB
5177
5178 Based on patches from AROS.
5179
5180 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5183 that floppies are unpartitioned.
5184
5185 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5188 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5189
5190 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5193 less nice but more portable.
5194 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5195
5196 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5199 for cheat_fd.
5200 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5201 functions.
5202 (grub_cryptodisk_cheat_insert): Likewise.
5203 (grub_cryptodisk_close): Likewise.
5204
5205 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5208 Use windows path for DEFAULT_DIRECTORY.
5209
5210 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5213 difference was likely just gcc version, not anything mingw-related.
5214
5215 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 Use Winapi on both cygwin and mingw32 to share more code between both.
5218
5219 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5220
5221 * util/grub-install.in: Add --grub-editenv option.
5222 * util/grub-install_header (grub_compress_file): Explicitly check for
5223 plain file to avoid cp error.
5224
5225 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5226
5227 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5228 names; fix LVM driver name (lvm, not lv).
5229 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5230 names.
5231
5232 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5235 files rather than one file with loads of #if's.
5236 * util/getroot.c: Likewise.
5237
5238 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5241
5242 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5245 GNU/Hurd to the list of checked PRNG.
5246
5247 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5250
5251 2013-09-21 Ales Nesrsta <starous@volny.cz>
5252
5253 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
5254
5255 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5258 * grub-core/disk/lvm.c: Add LVM UUIDs.
5259 * util/getroot.c: Use LVM UUIDs whenever possible.
5260
5261 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5262
5263 * docs/grub.texi (Networking commands): Add documentation for
5264 network related commands.
5265
5266 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5269 to determine if device is handled by devmapper.
5270 (convert_system_partition_to_system_disk): Likewise.
5271 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5272 already done in grub_util_open_dm.
5273
5274 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5275
5276 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5277 Clean up stack manipulation (sync_caches_armv*)
5278
5279 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * util/lvm.c: Remove since unused. Remove remaining references.
5282
5283 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 Handle the case of partitioned LVM properly.
5286
5287 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5288 Stop on meeting LVM, mpath or DMRAID.
5289 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5290 (read_device_map): Likewise.
5291 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5292 device is full disk rather than erroring out on LVM and similar cases.
5293
5294 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5297
5298 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5301 4K before the end.
5302 Reported by: Leif Lindholm
5303
5304 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
5305 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5308 codes.
5309
5310 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
5311
5312 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5313 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5314
5315 2013-09-18 Douglas Ray <dougray@cpan.org>
5316
5317 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5318 as secure.
5319
5320 2013-09-18 Aleš Nesrsta <starous@volny.cz>
5321
5322 * docs/grub.texi: Fix broken link.
5323
5324 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5325
5326 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5327 to break endless loop.
5328
5329 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * util/grub-fstest.c: Fix several printf formats.
5332 * util/grub-mkimage.c: Likewise.
5333 * util/grub-mkimagexx.c: Likewise.
5334 * util/grub-script-check.c: Likewise.
5335
5336 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5339 error.
5340
5341 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5344
5345 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5348 removed in current versions cygwin_conv_*.
5349
5350 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * configure.ac: Disable efiemu runtime on cygwin.
5353
5354 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5357 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5358
5359 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5362 error message.
5363
5364 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5367 windows variant.
5368 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5369 data.
5370
5371 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5374 when on x86 and not cygwin.
5375 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5376 -Wl,-melf_x86_64.
5377
5378 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * configure.ac: Set CPP to build one when checkoing for freetype for
5381 build.
5382
5383 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5386 [!GRUB_BUILD]: Remove has_argument.
5387
5388 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5391 Replace with a dummy.
5392
5393 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * configure.ac: Don't change host_os from mingw to cygwin.
5396
5397 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * configure.ac: Change target_os from windows to cygwin.
5400
5401 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5404
5405 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5406 (build-grub-gen-asciih): Likewise.
5407 (build-grub-gen-widthspec): Likewise.
5408 * Makefile.util.def (grub-pe2elf): Remove.
5409 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5410 * configure.ac: Separate tests for build.
5411 Move ./build-grub-pe2elf to grub-core.
5412 Fix typo.
5413 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5414 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5415 defined.
5416 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5417 constants.
5418 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5419 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5420 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5421
5422 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5425 mingw32 as well based on grub_util_get_disk_size.
5426 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5427 grub_util_get_fd_size.
5428 (sync): Removed.
5429 (fsync): Moved to ...
5430 * grub-core/kern/emu/misc.c (fsync): ... here.
5431
5432 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * include/grub/mm.h (grub_extend_alloc): Remove.
5435 * grub-core/loader/i386/pc/plan9.c: Use own version of
5436 grub_extend_alloc with appropriate types.
5437
5438 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5441
5442 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5445
5446 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 Fix dependencies on cygwin.
5449
5450 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5451 dependencies when used and defined.
5452 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5453
5454 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5457 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5458
5459 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5462 implementation available to cause compile-time rather than runtime
5463 error.
5464
5465 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * util/grub-fstest.c: Don't check for symlinks on windows.
5468
5469 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * INSTALL: Mention unavailability of man pages when cross-compiling.
5472
5473 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5476 and gcry_log_bug.
5477 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5478
5479 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * INSTALL: Document cross-compilation.
5482 * acinclude.m4: Determine whether nm support -P and --defined-only.
5483 * configure.ac: Add TARGET_ to all variables pertaining to target
5484 that don't have it yet.
5485 * gentpl.py: Likewise.
5486 * grub-core/Makefile.am: Likewise.
5487 * grub-core/genmod.sh.in: Likewise.
5488 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5489 as well.
5490
5491 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5492
5493 * configure.ac: Remove -Wempty-body. It's not essential and needs
5494 recent gcc.
5495
5496 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5497
5498 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5499 * util/getroot.c: Likewise.
5500
5501 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/disk/ahci.c: Add needed explicit cast.
5504 * grub-core/lib/backtrace.c: Likewise.
5505 * grub-core/net/ip.c: Likewise.
5506 * grub-core/net/tcp.c: Likewise.
5507 * grub-core/net/udp.c: Likewise.
5508
5509 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5512
5513 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 * util/import_gcry.py: Add final newline in visibility.h.
5516
5517 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 * conf/Makefile.common: Fix typo.
5520
5521 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5524
5525 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * Makefile.am (widthspec.h): Fix typo.
5528 * util/grub-gen-widthspec.c: Likewise.
5529
5530 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 Move ascii.h and widthspec.h generation to a separate build-time-only
5533 tool.
5534
5535 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5536
5537 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5538 Always fill bootdisk info and improve check for NetBSD disklabel.
5539
5540 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * conf/Makefile.extra-dist: Add util/bin2h.c.
5543 Reported by: floppym.
5544
5545 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5548
5549 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * configure.ac: Disable unifont and starfield if no freetype was found.
5552
5553 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5556 on NetBSD and OpenBSD.
5557
5558 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5559
5560 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5561
5562 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5563
5564 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5565 reduced. Inheritant options are processed during the theme loading.
5566
5567 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5568
5569 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5570
5571 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5572
5573 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5574
5575 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5576
5577 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5578 using qemu.
5579
5580 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5581
5582 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5583 remove-potcdate.sed.
5584
5585 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5586
5587 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5588 unused attribute from pull argument.
5589
5590 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5591
5592 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5593 memory leak.
5594
5595 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5596
5597 * util/getroot.c (pull_lvm_by_command): add --separator option
5598 to vgs call to disable padding of output to 10 characters.
5599
5600 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5603 here ...
5604 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5605 here.
5606
5607 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5610 length.
5611
5612 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5615 full Canadian cross. Tested with build=x86_64, host=arm,
5616 target=ppc-ieee1275.
5617
5618 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * configure.ac: Error if no $BUILD_CC could be found.
5621 Reported by: DevHC.
5622
5623 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5626 i386-multiboot.
5627
5628 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5631 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5632
5633 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
5634
5635 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5636 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5637 falling back to the partition device, otherwise a later call to this
5638 function may fail spuriously.
5639 Reported by Axel Beckert. Fixes Debian bug #708614.
5640
5641 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5642
5643 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5644
5645 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5646
5647 Prevent shadowing of stdlib's devname(3) on BSD.
5648
5649 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5650 and devlast to diskname and disklast, respectively.
5651
5652 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
5653
5654 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5655
5656 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5657
5658 * docs/grub.texi: Introduce terminal window position options:
5659 terminal-left: terminal window's left position
5660 terminal-top: terminal window's top position
5661 terminal-width: terminal window's width
5662 terminal-height: terminal window's height
5663 terminal-border: terminal window's border width
5664 * grub-core/gfxmenu/theme-loader.c: Likewise.
5665 * include/grub/gfxmenu_view.h: Likewise.
5666 * po/exlude.pot: Likewise.
5667 * grub-core/gfxmenu/view.c: Likewise.
5668 Also updated minimal window size.
5669 Also terminal_sanity_check function has been introduced.
5670 * grub-core/tests/checksums.h: Update (terminal window height
5671 is adjusted now for low resolution screen)
5672
5673 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5676 position).
5677
5678 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * po/exclude.pot: Add few recent exceptions.
5681
5682 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * tests/grub_func_test.in: Add unicode.pf2.
5685
5686 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5689 standard rather than noral color, in line with other terminals.
5690
5691 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5694 analysis.
5695
5696 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5699
5700 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5703 inappropriate printf.
5704
5705 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5706
5707 * .bzrignore: Remove grub-core/lib/dtc-grub,
5708 grub-core/Makefile.libfdt.def
5709 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5710
5711 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * include/grub/video.h (grub_video_register): Keep double-linked as
5714 well as single-linked invariants.
5715 Reported by: qwertial.
5716
5717 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/commands/nativedisk.c (get_uuid): Handle
5720 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5721
5722 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5723
5724 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5725 maximum of NW, N, NE heights instead of N's height and maximum of
5726 NW, W, SW widths instead of W's width. (So the box will be always
5727 correctly drawn)
5728
5729 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5730
5731 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5732 Fix misuse of variable count.
5733
5734 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
5735 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
5736 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 New ports to arm-uboot and arm-efi.
5739 Mostly by Leif Lindholm with some additions from
5740 Francesco Lavra and cleanup by Vladimir Serbinenko.
5741
5742 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5745 and not before.
5746 Reported by: Leon Drugi.
5747
5748 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5751 Reported by: Paulo Flabiano Smorigo.
5752
5753 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5754
5755 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5756
5757 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5758
5759 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5760
5761 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5764
5765 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5768
5769 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5770
5771 * grub-core/net/bootp.c: Export net_* variables.
5772 * grub-core/net/net.c: Likewise.
5773
5774 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5777
5778 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5781
5782 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5785
5786 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5789
5790 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5791
5792 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5793 <= 0.
5794
5795 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5796
5797 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5798 functions.
5799
5800 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5801
5802 * grub-core/fs/zfs/zfs_lz4.c: New file.
5803 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5804
5805 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5806
5807 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5808
5809 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5810
5811 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5812 (check_pool_label): Likewise.
5813 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5814
5815 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5816
5817 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5818
5819 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5820
5821 * docs/grub.texi (Commands): Document postition parameters
5822 for menuentry command.
5823
5824 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5825
5826 * util/grub-mknetdir.in: Remove stray line from help output.
5827
5828 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 Remove early sm712 init as there is no reason for it (the "watchdog"
5831 effect was due to wrong GPIO map).
5832
5833 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/commands/pcidump.c: Remove static variables.
5836
5837 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5840
5841 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * configure.ac: Move delimiter after the infos.
5844
5845 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5848
5849 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5852 not filling whole 8x16 space.
5853
5854 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5855
5856 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5857
5858 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * configure.ac: Indicate which liblzma is used if any.
5861
5862 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
5863 2013-06-21 Craig Sanders <savannah@taz.net.au>
5864
5865 * util/grub-reboot.in: Document submenu usage.
5866
5867 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5868
5869 * .bzrignore: Update with a number of new test-related files.
5870
5871 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5872
5873 * util/grub-script-check.c: Fail on scripts containing no
5874 commands, to guard against corrupted grub-mkconfig setups that
5875 produce no useful output.
5876 * tests/grub_script_no_commands.in: New test.
5877 * Makefile.util.def (grub_script_no_commands): Add.
5878 Reported by Hans Putter. Fixes Debian bug #713886.
5879
5880 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5881
5882 * grub-core/disk/diskfilter.c: Forgot to remove comment
5883 from previous commit.
5884
5885 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5886
5887 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5888 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5889
5890 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5891
5892 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5893
5894 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5895
5896 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5897 rescan diskfilter devices until nothing new is found.
5898
5899 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5902
5903 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 Don't try to detect cbfs on *-emu.
5906
5907 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5910
5911 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 Add support for processed coreboot payload chainloading.
5914
5915 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 Enable coreboot information commands even when not loaded as
5918 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5919
5920 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 Support for cbfs. Also factor out the part which is common
5923 for all archives to a separate module. This splits tar from cpio
5924 as they are very different but keeps cpio, cpio_be, odc and newc
5925 together since they're very similar.
5926
5927 2013-06-15 David Michael <fedora.dm0@gmail.com>
5928
5929 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5930 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5931
5932 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * tests/grub_script_eval.in: Really add the eval test.
5935
5936 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 Move flavour-specific parts out of common cpio.c file and
5939 rename remaining to cpio_common.c
5940
5941 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5942
5943 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5944 off new function grub_script_execute_new_scope. Change callers to use
5945 either of them as appropriate.
5946 * grub-core/commands/eval.c: New command eval.
5947 * docs/grub.texi (Commands): Document it.
5948
5949 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5950
5951 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5952 to fetch values when listing.
5953
5954 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5955
5956 Fix make dist on non-pc.
5957
5958 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
5959
5960 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5961 without a device name.
5962
5963 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 Remove enable_executable_check as it's not needed anymore.
5966 Reported by: dougray.
5967
5968 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5971 ambigouos RAID before discovering RAIDs on top of it.
5972 Reported by: bodom.
5973
5974 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Fix typo (failback vs fallback).
5977
5978 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
5979
5980 * util/grub.d/30_os-prober.in: Add support for probing EFI
5981 System Partition (as of os-prober 1.58).
5982
5983 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * configure.ac: Add yet another path to unifont. For parabola.
5986
5987 2013-05-30 Josh Triplett <josh@joshtriplett.org>
5988
5989 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
5990 handling to copy the killed characters to the kill buffer as
5991 UCS4 stored as grub_uint32_t rather than as 8-bit characters
5992 stored as char. Eliminates UCS4 truncation and corruption
5993 observed when killing characters with Ctrl-u and yanking them
5994 back with Ctrl-y.
5995
5996 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 Detach optional parts of gfxterm and integrate in with coreboot init.
5999
6000 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 Move blit and fill dispatcher to appropriate files to decrease export
6003 and relocation overhead.
6004
6005 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6008 functions.
6009
6010 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/Makefile.am: Fix compilation problem with some
6013 automake versions.
6014
6015 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6018
6019 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6022 automake versions.
6023
6024 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6027 SSDT.
6028
6029 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6030
6031 * grub-core/partmap/dfly.c: New partition map.
6032
6033 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6036 checking.
6037 Reported by: Francesco Lavra.
6038
6039 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6040
6041 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6042 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6043 false conditions.
6044 * conf/Makefile.common: define dist_grubconf_DATA
6045
6046 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 Progressively skip menu elements on small terminals rather
6049 than crashing.
6050
6051 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6054 to avoid losing last column.
6055
6056 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * po/exclude.pot: Add missing string "%C".
6059
6060 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6063 after the test.
6064
6065 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * util/grub-install.in: Gettextize "Not found" message.
6068
6069 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 Fix distfiles list.
6072 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6073
6074 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6075
6076 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6077 present.
6078 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6079
6080 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6083
6084 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6087 attribute since structure is not necessarily aligned.
6088
6089 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6090
6091 * docs/grub.texi (Device syntax): Clarify description of network
6092 drives.
6093
6094 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6097 for vasprintf presence.
6098
6099 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * util/grub-install.in: Handle efibootmgr presence check.
6102 Reported by: Leif Lindholm.
6103
6104 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6107 new strings to translate.
6108
6109 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6112 yet another string (pun intended) to translate.
6113
6114 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * po/POTFILES-shell.in: Autogenerate it.
6117
6118 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6121
6122 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6125 misnomer.
6126
6127 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6128
6129 * docs/grub.texi (Network): Add description of net_default_interface,
6130 net_default_ip and net_default_mac. Rewrite variables description
6131 to emphasize that they are per-interface.
6132
6133 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 New test: cmdline and cat.
6136
6137 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/commands/cat.c: Show UTF-8 characters.
6140
6141 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * conf/Makefile.common: Poison float and double on non-emu.
6144
6145 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * configure.ac: Don't disable extended registers on emu.
6148
6149 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * configure.ac: Don't use extended registers on x86_64.
6152 Reported by: Peter Jones.
6153
6154 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/term/efi/console.c: Fix compile error.
6157
6158 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 Compressed HFS+ support.
6161
6162 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6165 pixel".
6166
6167 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 Menu color test.
6170
6171 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/tests/setjmp_test.c: New test.
6174
6175 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 New variables 'net_default_*' to determine MAC/IP of default interface.
6178
6179 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * tests/gettext_strings_test.in: A test to check for strings not
6182 marked for translation.
6183
6184 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * autogen.sh: Exclude unused libgcrypt files from translation.
6187
6188 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 Simplify few strings.
6191
6192 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 Mark few forgotten strings for translation.
6195
6196 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6199 rather than printf.
6200
6201 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6204 rather than printf.
6205 * grub-core/video/readers/tga.c: Likewise.
6206
6207 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * tests/priority_queue_unit_test.cc: New test.
6210
6211 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6214 than printf.
6215
6216 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6217
6218 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6219 variable for one time boot menu entry.
6220
6221 2013-05-05 Bean <bean123ch@gmail.com>
6222
6223 * grub-core/commands/testspeed.c: New command testspeed.
6224
6225 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Factor-out human-size printing.
6228
6229 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 Agglomerate more mallocs to speed-up gfxterm.
6232
6233 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 Speed-up gfxterm by slightly agglomerating mallocs.
6236
6237 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 More video checks.
6240
6241 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Speed-up gfxterm by saving intermediate results in index+alpha
6244 format.
6245
6246 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6249 test.
6250
6251 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6254 line of timeout as it may contain the rest of long line.
6255
6256 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * grub-core/normal/main.c: Fix freed memory dereference.
6259
6260 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 Fix several memory leaks.
6263
6264 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6267
6268 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6271
6272 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 Fix test -a and -o precedence.
6275 Reported by: adrian15.
6276
6277 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6280
6281 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6282
6283 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6284 and add it as source to functional_test module.
6285
6286 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6289
6290 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 New series of tests for gfxterm and gfxmenu.
6293
6294 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6297 the theme path relative to $prefix/themes.
6298
6299 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6302 Fix order bug.
6303 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6304
6305 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6308 descriptor.
6309
6310 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6313 grub_gfxmenu_timeout_notifications.
6314 (grub_gfxmenu_view_destroy): Likewise.
6315
6316 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6319
6320 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 Several fixes to ieee1275 and big-endian video.
6323
6324 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 Add missing exports on mips.
6327
6328 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6331 if no unifont is found.
6332 Restore original keyboard.
6333
6334 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6337 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6338
6339 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 First automated video test (running videotest and comparing results)
6342
6343 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6346 instead of 2 to have full RGB/CMY test pattern.
6347
6348 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 Add few more tests.
6351
6352 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6355 ARCS. All users updated.
6356
6357 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6360
6361 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6364
6365 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6368 Reported by: qwertial.
6369
6370 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6371
6372 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6373 with syntax "XXX deg"/"XXX °".
6374
6375 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 Make PCI init in i386-qemu port more robust.
6378
6379 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6380
6381 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6382 cached view is reused.
6383 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6384 open boot menus.
6385
6386 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 Unify more code in grub-install_header.
6389
6390 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 Add few new tests.
6393
6394 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 Enforce disabling of firmware disk drivers when native drivers kick in.
6397
6398 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/commands/nativedisk.c: Customize the list of modules on
6401 platform. Don't try to search for disks already using native drivers.
6402
6403 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6406 platforms.
6407
6408 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6411 handling of variables containing backslash.
6412
6413 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6416 dereference.
6417 Reported by: qwertial.
6418
6419 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6422
6423 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6426 dereference.
6427 Reported by: qwertial.
6428
6429 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6432
6433 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6436
6437 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 New command `nativedisk'.
6440
6441 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6444 * grub-core/loader/i386/bsd.c: Likewise.
6445
6446 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6449
6450 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6453 grub_get_unaligned16 rather than shifts.
6454
6455 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/kern/file.c: Use const char * rather than casting to
6458 non-const.
6459
6460 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/commands/probe.c: Add missing grub_device_close.
6463
6464 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * INSTALL: Document linguas.sh.
6467
6468 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 Remove POTFILES.in and regenerate it in autogen.sh.
6471
6472 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 Move --directory/--override-directorry to grub-install_header and unify.
6475
6476 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/term/morse.c: Macroify dih and dah.
6479
6480 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6481
6482 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6483
6484 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/term/ns8250.c: Systematically probe ports by writing
6487 to SR before using them.
6488
6489 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6490
6491 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6492 disks.
6493 (check_sas): Get sas_adress info.
6494
6495 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6498 ports.
6499
6500 2013-04-27 Leon Drugi <eyak>
6501
6502 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6503 BSS clearing.
6504
6505 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 Core compression test.
6508
6509 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 Implement grub_machine_get_bootlocation for ARC.
6512
6513 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 Improve AHCI detection and command issuing.
6516
6517 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 Fix pseries test.
6520
6521 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 Make 'make check' work on emu.
6524
6525 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 Replace libcurses with our own vt100 handling for the ease of testing
6528 and decreasing prerequisites.
6529
6530 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6533
6534 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6537 compile when not needed.
6538
6539 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * tests/pseries_test.in: New test.
6542
6543 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 Add test to check that different boot mediums work.
6546
6547 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6550 ofw limited ISO support.
6551
6552 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * configure.ac: Fix loongson conditional.
6555
6556 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 Enable mipsel-arc.
6559
6560 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 Add serial on ARC platform.
6563
6564 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6567 commit.
6568
6569 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * tests/partmap_test.in: Add missing double semicolon.
6572
6573 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * util/grub-mkrescue.in: Fix loongson filename.
6576
6577 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 * util/grub-mkrescue.in: Move all files that don't have a location
6580 set in stone under /boot/grub. Use ISO hard links rather than copies
6581 to save some space.
6582
6583 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6586 bogus SLOF values.
6587
6588 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 Make check work on mips-arc.
6591
6592 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * util/grub-mkrescue.in: Alias sashARCS as sash.
6595
6596 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6599 it's serial.
6600
6601 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * util/grub-install.in: Fix target fo qemu_mips.
6604 Fix extension on EFI.
6605
6606 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6609 in front of chosen entry to mark it even if highlighting is lost.
6610
6611 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6614 gfxpayload=keep if cbfb is active.
6615
6616 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6619
6620 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 Add missing video ids to coreboot and ieee1275 video.
6623
6624 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * util/grub-mkrescue.in: Add mips-arc support.
6627
6628 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6631
6632 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 Move mips-arc link address. Previous link address was chosen
6635 in belief that RAM on SGI platforms grows down while in fact it
6636 grows up from an unusual base.
6637
6638 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6641 Fix a type which prevented CD-ROM and floppy boot.
6642
6643 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 Support coreboot framebuffer.
6646
6647 * grub-core/video/i386/coreboot/cbfb.c: New file.
6648
6649 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6652 detecting too small regions.
6653
6654 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6657
6658 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6661 Remove dprintf.
6662 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6663
6664 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6667 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6668 * grub-core/loader/powerpc/ieee1275/linux.c
6669 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6670
6671 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6674 Look for /boot-rom as well as /rom/boot-rom.
6675
6676 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6679 handling when creating text_layer failed.
6680 * grub-core/video/video.c (grub_video_create_render_target):
6681 Set result to 0 on error.
6682 (grub_video_delete_render_target): Do not dereference NULL.
6683
6684 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6687 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6688 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6689 (grub_linux_load64): Mask out 2 high bits.
6690
6691 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6692
6693 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6694 more place.
6695
6696 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Add support for pseries and other bootinfo machines to grub-mkrescue.
6699
6700 Tested by: Paulo Flabiano Smorigo.
6701
6702 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * util/grub-mkrescue.in: Add GPT for EFI boot.
6705
6706 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6709 It improves performance in qemu.
6710
6711 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * build-aux/snippet: Add missing gnulib files.
6714
6715 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6716
6717 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6718
6719 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6720
6721 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6722
6723 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6724 2013-04-15 Peter Jones <pjones@redhat.com>
6725
6726 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6727 sectors.
6728 Based on patch by Peter Jones.
6729
6730 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 Fix DMRAID partition handling.
6733
6734 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * tests/grub_cmd_date.in: Skip on sparc64.
6737
6738 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6741 firmware error messages.
6742
6743 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6746 source and destination differ.
6747
6748 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6751 detection.
6752
6753 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6756 match config-util.h to avoid warnings and increase compatibility.
6757
6758 2013-04-14 Szymon Janc <szymon@janc.net.pl>
6759 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 Add option to compress files on install/image creation.
6762
6763 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * docs/grub-dev.texi: Rearrange menu to match the section order.
6766 Reported by: Bryan Hundven.
6767
6768 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6771
6772 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 Move GRUB out of system area when using xorriso 1.2.9 or later.
6775
6776 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * tests/grub_cmd_date.in: Add missing exit 1.
6779
6780 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * tests/partmap_test.in: Skip on sparc64.
6783
6784 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 Support grub-shell on sparc64.
6787
6788 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 Support mkrescue on sparc64.
6791
6792 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6795 Needed on OpenBIOS due to incomplete device tree.
6796
6797 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6800 would be otherwise excluded.
6801
6802 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6805 Inline name defines used only once.
6806
6807 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 Fix memory leaks in ofnet.
6810 Reported by: Francesco Lavra.
6811
6812 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * docs/man/grub-glue-efi.h2m: Add missing file.
6815
6816 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6819
6820 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 Better support Apple Intel Macs on CD.
6823
6824 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 Replace stpcpy with grub_stpcpy in tools.
6827
6828 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 Handle Japanese special keys.
6831 Reported by: Hiroyuki YAMAMORI.
6832 Codes supplied by: Hiroyuki YAMAMORI.
6833
6834 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * util/grub-mkimage.c: Document memdisk implying --prefix.
6837
6838 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6841 much we can do about it anyway.
6842
6843 2013-04-12 Aleš Nesrsta <starous@volny.cz>
6844
6845 Fix handling of split transfers.
6846
6847 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/net/http.c: Fix bad free.
6850
6851 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6854 than buffer size.
6855
6856 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6859
6860 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * tests/util/grub-shell.in: Fix it on powerpc.
6863
6864 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 Turn off QEMU ACPI-way since new releases don't have shutdown port
6867 anymore.
6868
6869 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * docs/grub.texi: Update coreboot status info.
6872
6873 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * tests/grub_cmd_date.in: New test for datetime.
6876
6877 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * tests/partmap_test.in: Fix missing qemudisk setting.
6880
6881 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 Support i386-ieee1275 grub-mkrescue and make check on it.
6884
6885 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6888 feature for it.
6889
6890 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6893 GRUB_CMDLINE_XEN_DEFAULT.
6894 Reported by: Marc Warne (GigaTux) <gigatux>
6895
6896 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 Import new gnulib.
6899
6900 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 Use ACPI shutdown intests as traditional port was removed.
6903
6904 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6905
6906 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6907 distinction.
6908
6909 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6912 Fix few warining messages and leaks while on it.
6913
6914 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6915
6916 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6917 links under grub-core/lib/libgcrypt-grub/mpi.
6918
6919 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 Fix ia64-efi image generation on big-endian machines. Deduplicate
6922 some code while on it.
6923 Reported by: Leif Lindholm.
6924
6925 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6926
6927 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6928 as extra_dist.
6929
6930 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6931
6932 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6933
6934 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6935
6936 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6937 texinfo-5.1.
6938
6939 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * grub-core/normal/term.c: Few more fixes for menu entry editor
6942 rendering.
6943 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6944
6945 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * grub-core/normal/term.c: Few more fixes for menu entry editor
6948 rendering.
6949 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6950
6951 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6952
6953 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6954 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6955
6956 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6957
6958 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6959 instead of hardcoding grub.mo.
6960
6961 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6962
6963 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6964
6965 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6968 grub-core/disk/geli.c.
6969
6970 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * util/grub-mkfont.c: Prefer enum to #define.
6973
6974 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
6977
6978 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
6981
6982 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
6985
6986 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
6989
6990 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * include/grub/bsdlabel.h: Use enums.
6993
6994 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 Move GRUB_CHAR_BIT to types.h.
6997
6998 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
6999
7000 * docs/grub.texi: Document more user commands.
7001
7002 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7003
7004 * docs/grub.texi: Document menuentry --id option.
7005
7006 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7007
7008 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7009
7010 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 Unify file copying setup across different install scripts. Add
7013 options for performing partial install.
7014
7015 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7016 2013-04-04 Peter Jones <pjones@redhat.com>
7017
7018 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7019
7020 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 Use TSC as a possible time source on i386-ieee1275.
7023
7024 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7027 Init err.
7028
7029 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * util/grub-setup.c (setup): Handle some corner cases.
7032
7033 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7036
7037 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * grub-core/commands/verify.c: Save verified file to avoid it being
7040 tampered with after verification was done.
7041
7042 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7045 reported width by one to compensate for curesor algorithm problem.
7046
7047 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 Fix screen corruption in menu entry editor and simplify the code
7050 flow while on it.
7051
7052 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7053
7054 * util/grub-mount.c (fuse_init): Return error if fuse_main
7055 failed.
7056
7057 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7058
7059 * include/grub/elf.h: Add missing ARM relocation codes and fix
7060 existing ones.
7061
7062 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7063
7064 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7065
7066 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7067 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7070 into account when calculating radius.
7071
7072 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7073
7074 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7075
7076 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7077
7078 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7079
7080 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7081
7082 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7083 missing closing bracket.
7084
7085 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7086
7087 * INSTALL: Mention xorriso requirement.
7088
7089 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7090
7091 * grub-core/commands/verify.c: Fix hash algorithms values for
7092 the first three hashes - they start with 1, not with 0.
7093
7094 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7097 Try terminating EFI services several times due to quirks in some
7098 implementations.
7099
7100 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
7101
7102 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7103 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7104 BankField extended opcodes.
7105 (get_sleep_type): Add minimal scope handling (just enough to
7106 handle setting the scope to the root path).
7107 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7108 * include/grub/acpi.h: Add enumeration values for Event, Device,
7109 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7110
7111 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7112
7113 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7114 memory leak.
7115
7116 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * grub-core/disk/ahci.c: Give more time for AHCI request.
7119
7120 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7123 command.
7124
7125 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 Replace the region at 0 from coreboot tables to available in BSD
7128 memory map.
7129
7130 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7133 non-BIOS platforms.
7134
7135 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7138 platforms.
7139
7140 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7143 handling of multi-device filesystems.
7144
7145 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7148 platforms.
7149
7150 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 Add new 'proc' filesystem framework and put luks_script into it.
7153
7154 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7157 and qemu.
7158
7159 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7162
7163 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 Add ability to generate newc additions on runtime.
7166
7167 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7170 description.
7171
7172 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * po/POTFILES.in: Regenerate.
7175
7176 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/commands/verify.c (hashes): Add several hashes
7179 from the spec.
7180
7181 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 Slight improve in USB-related boot-time checkpoints.
7184
7185 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/commands/boottime.c: Fix copyright header.
7188
7189 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7192 coreboot tables content. Support for cbmemc.
7193
7194 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 Fix a conflict between ports structures with 2 controllers of
7197 same kind.
7198
7199 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * include/grub/boottime.h: Add missing file.
7202
7203 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 Initialize USB ports in parallel to speed-up boot.
7206
7207 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 Fix USB devices not being detected when requested
7210 due to delayed attach.
7211
7212 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Implement boot time analysis framework.
7215
7216 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 Remove get_endpoint_descriptor and change all functions needing
7219 descriptor to just receive it as argument rather than endpoint
7220 address.
7221
7222 2013-03-19 Aleš Nesrsta <starous@volny.cz>
7223
7224 Better estimate the maximum USB transfer size.
7225
7226 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 Resend a packet if we got the wrong buffer in status.
7229
7230 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7233 multiplication rather than division.
7234
7235 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7238 than divisions.
7239
7240 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7243 operations to have intended shifts and not divisions.
7244
7245 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7248 intended shifts rather than division.
7249
7250 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7253 computation for some years before epoch. Avode confusing division
7254 while on it.
7255
7256 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/video/i386/pc/vbe.c
7259 (grub_video_vbe_print_adapter_specific_info): Replace division by
7260 shifts.
7261
7262 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 Adjust types in gdb module to have intended unsigned shifts rather than
7265 signed divisions.
7266
7267 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7268
7269 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7270 maximum size is 4G - 1 on hfs
7271
7272 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7275
7276 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7279 function.
7280
7281 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7282
7283 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7284 causing gcc error with gcc 4.7.1.
7285
7286 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7287
7288 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7289 dereference null pointer. While the code is technically correct, gcc
7290 may eliminate a null check if pointer is already dereferenced.
7291
7292 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7293
7294 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7295 OOM check.
7296 * grub-core/normal/term.c (read_terminal_list): Likewise.
7297
7298 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 Lift up core size limits on some platforms. Fix potential memory
7301 corruption with big core on small memory systems. Document remaining
7302 limits.
7303
7304 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7307 gotoxy to 0,0.
7308
7309 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 Remove all trampoline support. Add -Wtrampolines when
7312 present. Remove symbols used for trampolines to make
7313 link fail if trampolines are present.
7314
7315 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7318 append out of its parent.
7319
7320 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7323 parent.
7324
7325 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7328 all vars to a macro. All users updated.
7329
7330 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7333 i386-ieee1275.
7334
7335 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7338
7339 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7342
7343 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 Move to more hookless approach in IEEE1275 devices handling.
7346
7347 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/kern/term.c (grub_term_normal_color),
7350 (grub_term_highlight_color): Add back lost defaults.
7351
7352 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Make elfload not use hooks. Opt for flags and iterators instead.
7355
7356 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7359 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7360
7361 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7364
7365 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7368 hook pass-through parameter. All users updated and unnested.
7369
7370 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7373 out of its parent.
7374
7375 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/fs/hfs.c: Remove nested functions.
7378
7379 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7382 the context through.
7383 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7384
7385 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * util/grub-editenv.c (list_variables): Move print_var out of its
7388 parent.
7389
7390 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7393 function.
7394
7395 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/gentrigtables.c: Make tables const.
7398
7399 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 Remove nested functions from videoinfo iterators.
7402
7403 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7406 for 64-bit platforms.
7407
7408 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7411 a FOR_CHILDREN macro.
7412
7413 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7416 platform from firmware path.
7417
7418 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 Enable linux16 on non-BIOS systems for i.a. memtest.
7421
7422 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7423 correctly.
7424 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7425
7426 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7429 Fix end of table condition.
7430
7431 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7434 out of its parent.
7435
7436 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 * grub-core/fs/jfs.c: Remove nested functions.
7439
7440 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * grub-core/fs/minix.c: Remove nested functions.
7443
7444 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * grub-core/fs/iso9660.c: Remove nested functions.
7447
7448 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7451 of parent function.
7452
7453 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * util/grub-fstest.c: Remove nested functions.
7456
7457 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/loader/machoXX.c: Remove nested functions.
7460
7461 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
7462
7463 Remove nested functions from disk and file read hooks.
7464
7465 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7466 (struct grub_disk): Add read_hook_data member.
7467 * include/grub/file.h (struct grub_file): Likewise.
7468 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7469 argument.
7470
7471 Update all callers.
7472
7473 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7474
7475 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7476 Fix off by one error in enumerating extended partitions.
7477
7478 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7479
7480 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7481 memory leak if device name is not found.
7482
7483 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7484
7485 * grub-core/normal/menu_entry.c (update_screen): remove
7486 unused variable `off' which caused scroll down arrow to be always shown.
7487
7488 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7489
7490 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7491 access to unallocated memory.
7492
7493 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7494
7495 * Makefile.util.def: Add partmap/msdos.c to common library.
7496 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7497 * grub-core/disk/ldm.c: Check for existence of
7498 GRUB_PC_PARTITION_TYPE_LDM.
7499
7500 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7503 sizes and display sector size.
7504
7505 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 Implement new command cmosdump.
7508
7509 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7510
7511 Support Openfirmware disks with non-512B sectors.
7512
7513 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7514 size of the disk.
7515 * (grub_ofdisk_get_block_size): New function.
7516 * (grub_ofdisk_prepare): Use the correct block size.
7517 * (grub_ofdisk_read): Likewise.
7518 * (grub_ofdisk_write): Likewise.
7519 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7520 New proto.
7521
7522 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7525
7526 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7529 on first error.
7530
7531 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7534 freeing it.
7535
7536 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 Implement USBDebug (full USB stack variant).
7539
7540 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7543 unless they have unexpected values.
7544
7545 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7548 grub_print_error.
7549
7550 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7553 zero-out of port structure.
7554
7555 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7558 of extended attributes.
7559
7560 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7561
7562 * util/grub-install.in: change misleading comment about
7563 device.map creation
7564
7565 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7568 when menu highlight color isn't set.
7569
7570 2013-01-27 C. Masloch <pushbx@38.de>
7571
7572 Improve FreeDOS direct loading support compatibility.
7573
7574 * include/grub/i386/relocator.h (grub_relocator16_state):
7575 New member ebp.
7576 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7577 variable.
7578 (grub_relocator16_boot): Handle %ebp.
7579 * grub-core/lib/i386/relocator16.S: Likewise.
7580 * grub-core/loader/i386/pc/freedos.c:
7581 Load BPB to pass kernel which partition to load from.
7582 Check that kernel file is not too large.
7583 Set register dl to BIOS unit number as well.
7584
7585 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
7586
7587 * util/grub-reboot.in (usage): Document the need for
7588 GRUB_DEFAULT=saved.
7589 * util/grub-set-default.in (usage): Likewise.
7590 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7591
7592 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7595 than defining WORDS_BIGENDIAN manually.
7596
7597 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7600 invariants.
7601
7602 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7603
7604 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7605 nested.
7606 (blit_comb: add_device_width): Likewise.
7607
7608 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7609
7610 Remove nested functions from USB iterators.
7611
7612 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7613 (grub_usb_controller_iterate_hook_t): Likewise.
7614 (grub_usb_iterate): Add hook_data argument.
7615 (grub_usb_controller_iterate): Likewise.
7616 (struct grub_usb_controller_dev.iterate): Likewise.
7617
7618 Update all implementations and callers.
7619
7620 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7623 margin when not needed.
7624
7625 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 Make color variables global instead of it being per-terminal.
7628
7629 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7632 asterisk.
7633
7634 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7635
7636 Fix powerpc and sparc64 build failures caused by un-nesting memory
7637 map iterators.
7638
7639 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7640
7641 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7642 parameter declarations.
7643
7644 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7647
7648 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 Improve spkmomdem reliability by adding a separator between bytes.
7651
7652 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7653
7654 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7655 an Acer registration utility with several sightings in the wild.
7656 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7657
7658 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7659
7660 Remove nested functions from filesystem directory iterators.
7661
7662 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7663 (struct grub_fs.dir): Add hook_data argument.
7664
7665 Update all implementations and callers.
7666
7667 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7668
7669 * docs/grub.texi (Multi-boot manual config): Fix typo for
7670 "recommended".
7671
7672 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7673
7674 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7675 until after its use in generate_image.
7676
7677 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7678
7679 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7680 initrd size to addr_min, since the initrd will be allocated after
7681 this address.
7682
7683 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7684
7685 * conf/Makefile.common: Fix autogen rules to pass definition
7686 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7687
7688 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7689
7690 * include/grub/elf.h: Update ARM definitions based on binutils.
7691
7692 2013-01-20 Aleš Nesrsta <starous@volny.cz>
7693
7694 Split long USB transfers into short ones.
7695
7696 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7697
7698 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7699 is interrupted by ESC.
7700
7701 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * util/grub-script-check.c (main): Uniform the error message.
7704
7705 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7706
7707 Remove nested functions from ELF iterators.
7708
7709 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7710
7711 Remove nested functions from device iterators.
7712
7713 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7714 (grub_arc_iterate_devs): Add hook_data argument.
7715 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7716 (struct grub_ata_dev.iterate): Add hook_data argument.
7717 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7718 (grub_device_iterate): Add hook_data argument.
7719 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7720 (struct grub_disk_dev.iterate): Add hook_data argument.
7721 (grub_disk_dev_iterate): Likewise.
7722 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7723 Likewise.
7724 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7725 Likewise.
7726 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7727 type.
7728 (struct grub_partition_map.iterate): Add hook_data argument.
7729 (grub_partition_iterate): Likewise.
7730 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7731 (struct grub_scsi_dev.iterate): Add hook_data argument.
7732
7733 Update all callers.
7734
7735 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7736
7737 Fix typos for "developer" and "development".
7738
7739 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 Add license header to spkmodem-recv.c.
7742
7743 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 Rewrite spkmodem to use PIT for timing. Double the speed.
7746
7747 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 Add new command pcidump.
7750
7751 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 New terminal outputs using serial: morse and spkmodem.
7754
7755 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 Improve bidi handling in entry editor.
7758
7759 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7762 argument to prevent name collision.
7763
7764 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7765
7766 Remove nested functions from script reading and parsing.
7767
7768 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7769 getline_data argument, passed to getline.
7770 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7771 getline_data argument, passed to grub_parser_split_cmdline.
7772 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7773 lexerstate->getline_data to lexerstate->getline.
7774 (grub_script_lexer_init): Add getline_data argument, saved in
7775 lexerstate->getline_data.
7776 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7777 argument, passed to grub_script_parse.
7778 * grub-core/script/script.c (grub_script_parse): Add getline_data
7779 argument, passed to grub_script_lexer_init.
7780 * include/grub/parser.h (grub_parser_split_cmdline): Update
7781 prototype. Update all callers to pass appropriate getline data.
7782 (struct grub_parser.parse_line): Likewise.
7783 (grub_rescue_parse_line): Likewise.
7784 * include/grub/reader.h (grub_reader_getline_t): Add void *
7785 argument.
7786 * include/grub/script_sh.h (struct grub_lexer_param): Add
7787 getline_data member.
7788 (grub_script_parse): Update prototype. Update all callers to pass
7789 appropriate getline data.
7790 (grub_script_lexer_init): Likewise.
7791 (grub_normal_parse_line): Likewise.
7792
7793 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7794 data argument.
7795 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7796 static instead of nested. Rename to ...
7797 (grub_parser_execute_getline): ... this.
7798 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7799 data argument.
7800 * grub-core/normal/main.c (read_config_file: getline): Make static
7801 instead of nested. Rename to ...
7802 (read_config_file_getline): ... this.
7803 (grub_normal_read_line): Add unused data argument.
7804 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7805 getline): Make static instead of nested. Rename to ...
7806 (grub_script_execute_sourcecode_getline): ... this.
7807 * util/grub-script-check.c (main: get_config_line): Make static
7808 instead of nested.
7809
7810 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7811
7812 Remove nested functions from memory map iterators.
7813
7814 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7815 argument, passed to hook.
7816 * grub-core/kern/i386/coreboot/mmap.c
7817 (grub_linuxbios_table_iterate): Likewise.
7818 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7819 instead of nested.
7820 (grub_machine_mmap_iterate): Add hook_data argument.
7821 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7822 Add hook_data argument, passed to hook.
7823 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7824 Likewise.
7825 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7826 Likewise.
7827 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7828 Likewise.
7829 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7830 Likewise.
7831 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7832 Likewise.
7833 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7834 Likewise.
7835 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7836 (grub_machine_mmap_iterate): Likewise.
7837 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7838 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7839 prototype.
7840 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7841 Remove NESTED_FUNC_ATTR from here and from all users.
7842 (grub_mmap_iterate): Update prototype.
7843 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7844 pass appropriate hook data.
7845 (grub_machine_mmap_iterate): Likewise.
7846
7847 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7848 static instead of nested.
7849 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7850 Rename to ...
7851 (lsmmap_hook): ... this.
7852 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7853 Likewise.
7854 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7855 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7856 heap_init): Likewise.
7857 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7858 Rename to ...
7859 (mmap_iterate_hook): ... this.
7860 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7861 Likewise.
7862 * grub-core/lib/ieee1275/relocator.c
7863 (grub_relocator_firmware_get_max_events: count): Likewise.
7864 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7865 to ...
7866 (grub_relocator_firmware_fill_events_iter): ... this.
7867 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7868 hook): Likewise. Rename to ...
7869 (grub_relocator_alloc_chunk_align_iter): ... this.
7870 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7871 Rename to ...
7872 (generate_e820_mmap_iter): ... this.
7873 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7874 Rename to ...
7875 (count_hook): ... this.
7876 (grub_linux_boot: hook): Likewise. Rename to ...
7877 (grub_linux_boot_mmap_find): ... this.
7878 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7879 (grub_linux_boot_mmap_fill): ... this.
7880 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7881 hook): Likewise. Rename to ...
7882 (grub_fill_multiboot_mmap_iter): ... this.
7883 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7884 hook): Likewise. Rename to ...
7885 (count_hook): ... this.
7886 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7887 hook): Likewise. Rename to ...
7888 (grub_fill_multiboot_mmap_iter): ... this.
7889 * grub-core/loader/powerpc/ieee1275/linux.c
7890 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7891 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7892 Likewise. Rename to ...
7893 (alloc_phys_choose): ... this.
7894 (determine_phys_base: get_physbase): Likewise.
7895 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7896 find_hook): Likewise.
7897 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7898 (malloc_hook: count_hook): Likewise.
7899 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7900 Likewise. Rename to ...
7901 (lower_hook): ... this.
7902 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7903 (upper_hook): ... this.
7904 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7905 (post64_hook): ... this.
7906 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7907 Likewise. Rename to ...
7908 (lower_hook): ... this.
7909 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7910 (upper_hook): ... this.
7911 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7912 (grub_mmap_iterate: fill_hook): Likewise.
7913 (fill_mask): Pass addr and mask within a single struct.
7914 (grub_cmd_badram: hook): Make static instead of nested. Rename
7915 to ...
7916 (badram_iter): ... this.
7917 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7918 (cutmem_iter): ... this.
7919
7920 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7923 delimit path in strings using quotes.
7924 * util/getroot.c (grub_guess_root_devices): Likewise.
7925 (grub_make_system_path_relative_to_its_root): Likewise.
7926 * util/grub-probe.c (probe): Likewise.
7927 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7928 (xrealpath): Likewise.
7929
7930 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 Fix compilation with older compilers.
7933
7934 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7935 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7936 declarations.
7937 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7938 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7939 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7940 identifier with b.
7941 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7942 * include/grub/crypto.h: Add type defines.
7943 * util/import_gcrypth.sed: Remove duplicate type defines.
7944
7945 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 New command list_trusted.
7948
7949 * grub-core/commands/verify.c (grub_cmd_list): New function.
7950
7951 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
7952
7953 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7954 info message.
7955
7956 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
7957
7958 Remove nested functions from PCI iterators.
7959
7960 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7961 passed to hook. Update all callers to pass appropriate hook data.
7962 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7963 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7964 Remove NESTED_FUNC_ATTR from here and from all users.
7965 (grub_pci_iterate): Update prototype.
7966 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7967 instead of nested. Rename to ...
7968 (grub_cs5536_find_iter): ... this.
7969 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7970 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7971 Likewise.
7972 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
7973 Likewise.
7974 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
7975 Likewise.
7976 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
7977 Likewise.
7978 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
7979 * grub-core/video/radeon_fuloong2e.c
7980 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
7981 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
7982 find_card): Likewise.
7983 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
7984 Likewise.
7985
7986 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7987
7988 * grub-core/commands/verify.c: Mark messages for translating.
7989
7990 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
7993 fatal.
7994
7995 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
7998 fatal.
7999
8000 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * autogen.sh: Do not try to delete nonexistant files.
8003 * util/import_gcrypth.sed: Add some missing header removals.
8004
8005 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
8006
8007 Clean up dangling references to grub-setup.
8008 Fixes Ubuntu bug #1082045.
8009
8010 * docs/grub.texi (Images): Refer generally to grub-install rather
8011 than directly to grub-setup.
8012 (Installing GRUB using grub-install): Remove direct reference to
8013 grub-setup.
8014 (Device map) Likewise.
8015 (Invoking grub-install): Likewise.
8016 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8017 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8018 * util/grub-install.in (usage): Likewise.
8019
8020 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8021 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8022 grub-setup.
8023 * configure.ac: Remove grub_setup output variable.
8024
8025 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8026 to grub-bios-setup.
8027 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8028 grub-setup to grub-sparc64-setup.
8029
8030 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 Import gcrypt public-key cryptography and implement signature checking.
8033
8034 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * grub-core/fs/ntfs.c: Ue more appropriate types.
8037 * grub-core/fs/ntfscomp.c: Likewise.
8038 * include/grub/ntfs.h: Likewise.
8039
8040 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 Support Apple FAT binaries on non-Apple platforms.
8043
8044 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8045 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8046 Likewise.
8047 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8048 Apple FAT binaries.
8049
8050 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8053 sector devices.
8054
8055 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8056
8057 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8058 explicitly zeroing elements.
8059 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8060 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8061 of elements in a structure already allocated using grub_zalloc.
8062 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8063
8064 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8065
8066 * docs/grub.texi (grub_cpu): New subsection.
8067 (grub_platform): Likewise.
8068
8069 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8072
8073 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8076 divisions.
8077
8078 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8081 * grub-core/fs/ntfscomp.c: Likewise.
8082 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8083 (grub_ntfs_comp): Likewise.
8084
8085 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8088 Rename to ...
8089 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8090 of groups_per_block. All users updated.
8091
8092 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8095 grub_error properly.
8096 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8097 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8098
8099 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8102 always in /boot/zfs.
8103 Reported by: Yuta Satoh.
8104
8105 2013-01-03 Yuta Satoh <nigoro>
8106
8107 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8108 ${grub_probe}
8109
8110 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * configure.ac: Extend -Wno-trampolines to host.
8113
8114 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8117 entry->len = 0.
8118
8119 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8120
8121 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8122 (Invoking grub-script-check): Likewise.
8123
8124 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8125
8126 * docs/grub.texi (Invoking grub-mount): New section.
8127 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8128
8129 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8130
8131 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8132 test failures, so that a failing unit test correctly causes 'make
8133 check' to fail.
8134
8135 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8136
8137 Fix failing printf test.
8138
8139 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8140 '$' in the correct order when collecting type information.
8141
8142 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8143
8144 * docs/grub.texi (configfile): Explain environment variable
8145 handling.
8146 (source): New section.
8147 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8148
8149 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
8150
8151 Remove several trivially-unnecessary uses of nested functions.
8152
8153 * grub-core/commands/i386/pc/sendkey.c
8154 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8155 instead of nested.
8156 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8157 Rename to ...
8158 (legacy_file_getline): ... this.
8159 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8160 Likewise.
8161 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8162 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8163 to ...
8164 (probe_dummy_iter): ... this.
8165 * grub-core/kern/i386/coreboot/mmap.c
8166 (grub_linuxbios_table_iterate: check_signature): Likewise.
8167 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8168 check_varstate): Likewise. Mark inline.
8169 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8170 an additional parameter.
8171 (find_long: fnd_long): Likewise. Pass two additional parameters.
8172 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8173 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8174 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8175 Likewise. Rename to ...
8176 (grub_cmos_find_port_iter): ... this.
8177 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8178 Rename to ...
8179 (find_rtc_iter): ... this.
8180
8181 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8182 function directly into the function body, since it is only called
8183 once.
8184
8185 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
8186
8187 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8188 __attribute__ ((unused)).
8189 * grub-core/video/bochs.c (find_card): Likewise.
8190 * grub-core/video/cirrus.c (find_card): Likewise.
8191 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8192 * grub-core/video/sis315pro.c (find_card): Likewise.
8193 * grub-core/video/sm712.c (find_card): Likewise.
8194
8195 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8196
8197 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8198 Fixes Savannah bug #37821.
8199
8200 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8201
8202 Apply program name transformations at build-time rather than at
8203 run-time. Fixes Debian bug #696465.
8204
8205 * acinclude.m4 (grub_TRANSFORM): New macro.
8206 * configure.ac: Create output variables with transformed names for
8207 most programs.
8208 * util/bash-completion.d/grub-completion.bash.in: Use
8209 pre-transformed variables for program names.
8210 * util/grub-install.in: Likewise.
8211 * util/grub-kbdcomp.in: Likewise.
8212 * util/grub-mkconfig.in: Likewise.
8213 * util/grub-mkconfig_lib.in: Likewise.
8214 * util/grub-mknetdir.in: Likewise.
8215 * util/grub-mkrescue.in: Likewise.
8216 * util/grub-mkstandalone.in: Likewise.
8217 * util/grub-reboot.in: Likewise.
8218 * util/grub-set-default.in: Likewise.
8219 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8220 * tests/util/grub-shell-tester.in: Remove unused assignment.
8221 * tests/util/grub-shell.in: Likewise.
8222 * util/grub.d/00_header.in: Likewise.
8223
8224 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8225
8226 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8227
8228 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8229 HAVE_RAW_DECL_GETS.
8230 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8231
8232 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8235 Reported by: Eriks Latosheks <foresterlv>.
8236
8237 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * docs/grub.texi (Network): Update instructions on generating netboot
8240 image.
8241
8242 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8245 around device name if necessarry.
8246
8247 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8248
8249 * util/grub-install.in: Follow the symbolic link parameter added
8250 to the file command.
8251
8252 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8253
8254 * util/grub-install.in: Remove stale TODO.
8255
8256 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8257
8258 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8259 dynamic allocation for the bootpath buffer.
8260
8261 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8262
8263 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8264 window too small.
8265
8266 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8269 argument rather than font name. All users updated.
8270 (grub_gfxterm_set_window): Likewise.
8271
8272 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8273
8274 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8275 from working.
8276
8277 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * util/getroot.c (convert_system_partition_to_system_disk): Support
8280 nbd disks.
8281
8282 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8285 infinite loop on corrupted FS.
8286
8287 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 Fix big-endian mtime.
8290
8291 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8292 together sec and usec.
8293 (grub_ufs_dir): Use correct byteswapping for UFS time.
8294
8295 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 Support big-endian UFS1.
8298
8299 * Makefile.util.def (libgrubmods): Add ufs_be.c
8300 * grub-core/Makefile.core.def (ufs1_be): New module.
8301 * grub-core/fs/ufs_be.c: New file.
8302 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8303 the file.
8304
8305 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8306
8307 * include/grub/types.h: Fix functionality unaffecting typo in
8308 GRUB_TARGET_WORDSIZE conditional macro.
8309
8310 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8311
8312 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8313
8314 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8315
8316 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8317 that /netbsd appears first (when it exists).
8318
8319 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
8320
8321 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8322 Fixes Savannah bug #37558.
8323
8324 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
8325
8326 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8327 description of extract_entries_configfile.
8328
8329 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
8330
8331 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8332 preferred_address.
8333 (grub_cmd_linux): Likewise.
8334 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8335 preferred_lifetime. Update all users.
8336
8337 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8338
8339 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8340 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8341
8342 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8343
8344 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8345 errors from grub-probe to /dev/null, not stdout.
8346
8347 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8350 sector 1.
8351
8352 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
8353
8354 * util/grub-install.in: Make the error message if $source_dir
8355 doesn't exist more useful.
8356
8357 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
8358
8359 Fix grub-emu build on FreeBSD.
8360
8361 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8362 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8363 headers on Linux.
8364 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8365 implementation is currently Linux-specific.
8366 * util/getroot.c (exec_pipe): Define only on Linux or when either
8367 libzfs or libnvpair is unavailable.
8368 (find_root_devices_from_poolname): Remove unused path variable.
8369
8370 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8371
8372 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8373 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8374 should fit before end == 63.
8375
8376 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8377
8378 * util/grub-setup.c (write_rootdev): Remove unused core_img
8379 parameter. Update all callers.
8380 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8381 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8382 GRUB_SETUP_BIOS.
8383
8384 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8387 (grub_add_tab): New function.
8388 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8389 * util/grub.d/10_illumos.in: Likewise.
8390 * util/grub.d/10_kfreebsd.in: Likewise.
8391 * util/grub.d/10_linux.in: Likewise.
8392 * util/grub.d/10_netbsd.in: Likewise.
8393 * util/grub.d/10_windows.in: Likewise.
8394 * util/grub.d/10_xnu.in: Likewise.
8395 * util/grub.d/20_linux_xen.in: Likewise.
8396 * util/grub.d/30_os-prober.in: Likewise.
8397
8398 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8401 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8402 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8403 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8404 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8405 ieee1275-nocursor.
8406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8407 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8408
8409 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8412 le-conversion.
8413 Reported by: BURETTE, Bernard.
8414
8415 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
8416
8417 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8418 from comment.
8419
8420 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
8421
8422 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8423 IEEE1275 machines. Fixes powerpc-emu compilation.
8424 * include/grub/terminfo.h: Likewise.
8425
8426 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8429 a const pointer.
8430 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8431 const pointer.
8432 (efiemu_set_variable): Make vendor_guid a const pointer.
8433
8434 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 Don't require grub-mkconfig_lib to generate manpages for programs.
8437
8438 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8439 dependencies, don't add grub-mkconfig_lib.
8440 (program): Pass empty adddeps.
8441 (script): Pass grub-mkconfig_lib as adddeps.
8442
8443 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8446 * util/getroot.c (grub_find_device): Likewise.
8447 (get_mdadm_uuid): Likewise.
8448 (grub_util_is_imsm): Likewise.
8449 (grub_util_pull_device): Likewise.
8450 * util/grub-probe.c (probe): Likewise.
8451
8452 2012-09-10 Benoit Gschwind <gschwind>
8453
8454 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8455 (devs): Add devpath_8.
8456
8457 2012-09-08 Peter Jones <pjones@redhat.com>
8458
8459 * grub-core/Makefile.core.def (efifwsetup): New module.
8460 * grub-core/commands/efi/efifwsetup.c: New file.
8461 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8462 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8463 New define.
8464 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8465
8466 2012-09-05 Jiri Slaby <jslaby@suse.cz>
8467
8468 * configure.ac: Add SuSe path.
8469
8470 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8471
8472 * NEWS: Fix typo.
8473
8474 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8475
8476 * util/import_gcry.py: Sort cipher_files, to make build system
8477 generation more deterministic.
8478
8479 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8482 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8483 (grub_set_datetime): Likewise.
8484
8485 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8488 warnings.
8489
8490 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8493
8494 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8497
8498 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8499
8500 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8501 required for checkouts from bzr, but it may be useful for users or
8502 distributors wishing to update translations against a tarball
8503 distribution, and it can be helpful for the tarball to be a superset
8504 of what's in bzr.
8505
8506 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8507
8508 * Makefile.am (EXTRA_DIST): Add
8509 grub-core/tests/boot/linux.init-mips.S,
8510 grub-core/tests/boot/linux.init-ppc.S, and
8511 grub-core/tests/boot/linux-ppc.cfg.
8512
8513 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8514
8515 * grub-core/mmap/mips/loongson: Remove empty directory.
8516
8517 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8518
8519 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8520 gone.
8521
8522 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8523
8524 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8525 grub-sparc64-setup.
8526
8527 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8528
8529 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8530
8531 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8532
8533 * po/POTFILES.in: Regenerated.
8534
8535 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8536
8537 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8538 (NetBSD): New subsection.
8539
8540 2012-07-22 Ales Nesrsta <starous@volny.cz>
8541
8542 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8543 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8544
8545 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8548 * util/grub.d/10_hurd.in: Add missing quoting.
8549 * util/grub.d/10_illumos.in: Likewise.
8550 * util/grub.d/10_kfreebsd.in: Likewise.
8551 * util/grub.d/10_linux.in: Likewise.
8552 * util/grub.d/20_linux_xen.in: Likewise.
8553
8554 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 New command `lsefi'.
8557
8558 * grub-core/Makefile.core.def (lsefi): New module.
8559 * grub-core/commands/efi/lsefi.c: New file.
8560 * include/grub/efi/api.h: Add more GUIDs.
8561
8562 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8565 (grub_bsd_elf32_hook): Likewise.
8566 (grub_bsd_elf64_size_hook): Likewise.
8567 (grub_bsd_elf64_hook): Likewise.
8568 (grub_bsd_load_elf): Likewise.
8569
8570 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8573 if hash function is unavailable.
8574 (dec_stream_header): Likewise.
8575
8576 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8579 filter state.
8580
8581 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 Fix coreboot compilation.
8584
8585 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8586 (grub_vga_text_init_real): ... this.
8587 (grub_vga_text_fini): Rename to ...
8588 (grub_vga_text_fini_real): ... this.
8589
8590 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8593
8594 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * grub-core/lib/legacy_parse.c: Support clear and testload.
8597
8598 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8601
8602 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8605
8606 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/net/tftp.c (ack): Fix endianness problem.
8609 (tftp_receive): Likewise.
8610 Reported by: Michael Davidsaver.
8611
8612 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8615
8616 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8619 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8620 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8621
8622 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8623
8624 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8625 efi_mmap_size.
8626 Reported by: Stuart Hayes.
8627
8628 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8631
8632 * grub-core/Makefile.core.def (mda_text): New module.
8633 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8634 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8635 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8636 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8637 here.
8638 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8639 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8640 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8641 here.
8642 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8643 to ..
8644 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8645 ... here
8646 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8647 here.
8648 * grub-core/term/i386/vga_common.c: Removed.
8649 * include/grub/i386/vga_common.h: Likewise.
8650 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8651 (grub_vga_cr_bw_read): Likewise.
8652 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8653 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8654 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8655 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8656 grub_vga_cr_read/grub_vga_cr_write.
8657 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8658
8659 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * configure.ac: Bump version to 2.00.
8662 * grub-core/normal/main.c (features): Add feature_200_final.
8663
8664 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8665 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8666
8667 * NEWS: Fix unclarity and language mistakes.
8668
8669 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8672 additional size to 3 pages.
8673 Reported by: Stuart Hayes.
8674
8675 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 * NEWS: Add 2.00 entry.
8678
8679 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8682 put explicit "/" for empty path.
8683 (wildcard_expand): Improve dprintf.
8684
8685 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8688 it's equal to currnode. This can happen with "" symlink.
8689
8690 2012-06-27 Yves Blusseau <blusseau@zetam.org>
8691
8692 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8693 echo shell command by printf command.
8694
8695 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8698 the value returned by firmware is the maximal position, not diumension.
8699 (grub_terminfo_output_state): Use a more sane fallback.
8700
8701 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8704
8705 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8708 frequency to 150 MHz.
8709
8710 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 Apple fixes.
8713
8714 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8715 __APPLE_
8716 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8717 definition.
8718 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8719
8720 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 Handle slash in HFS label.
8723
8724 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8725 (grub_hfs_dir): Tanslate slash.
8726 (grub_hfs_label): Don't translate slash.
8727
8728 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8731 network protocol listing since it introduces problematic dependency on
8732 net module.
8733
8734 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8737
8738 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 Init video early on yeeloong to avoid being rebooted by watchdog.
8741
8742 * grub-core/Makefile.am (gensm712): New target.
8743 (sm712_start.S): Likewise.
8744 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8745 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8746 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8747 description.
8748 * include/grub/vga.h: Move registry definitions to...
8749 * include/grub/vgaregs.h: ... here.
8750
8751 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8754 signedness.
8755
8756 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8759 platforms with firmware disk drivers in the core.
8760
8761 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8764 informative verbose message.
8765 (read_lv): Handle 64-bit segment size.
8766
8767 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8770
8771 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8774 character but still remove trainling spaces.
8775 (grub_fat_label): Ignore archive flag.
8776
8777 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8780 cast between linux_kernel_header and linux_kernel_params.
8781
8782 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8785 type for size.
8786 (grub_raid6_recover_func_t): Likewise.
8787 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8788 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8789
8790 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8793
8794 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8795
8796 Fix overflow.
8797
8798 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8799 [__NetBSD__]: Add explicit cast before bitshift.
8800
8801 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 * configure.ac: Bump to 2.00~rc1.
8804
8805 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8808 half of $a0.
8809
8810 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8811 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8812
8813 * docs/grub.texi: Fix search syntax.
8814 (Multi-boot manual config): Put msdos rather than GPT example.
8815 Grammar corrections.
8816
8817 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8820
8821 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8824
8825 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8828 message on double free. Put the value of magic in case of mismatch.
8829
8830 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 Speed-up video on yeeloong.
8833
8834 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8835 add cached_ptr.
8836 (grub_video_sm712_video_fini): Unmap cached_ptr.
8837 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8838 (grub_video_sm712_set_active_render_target): Removed.
8839 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8840 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8841 sync caches.
8842
8843 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 Avoid flushing the same line multiple times on loongson.
8846
8847 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8848 Step in 32 bytes and not 1 byte.
8849 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8850 Likewise.
8851
8852 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8855 subvolumes.
8856
8857 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 Implement flow control for http.
8860
8861 * grub-core/net/http.c (parse_line): Handle response 206.
8862 (http_receive): Stall if too many packets are in the queue.
8863 (http_establish): Fix range header.
8864 (http_seek): Fix double free.
8865 (http_close): Likewise.
8866 (http_packets_pulled): New function.
8867 (grub_http_protocol): Set http_seek
8868 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8869 (ack_real): Set window depending on i_stall.
8870 (grub_net_send_tcp_packet): Likewise.
8871 (grub_net_tcp_stall): New function.
8872 (grub_net_tcp_unstall): Likewise.
8873 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8874 (grub_net_tcp_unstall): Likewise.
8875
8876 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8879
8880 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8883
8884 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * tests/util/grub-shell.in: Fix a typo.
8887
8888 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 Implement flow control for tftp.
8891
8892 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8893 packets but stop only if stop condition is satisfied.
8894 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8895 `stall' instead of `eof' as stop condition.
8896 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8897 (http_err): Likewise.
8898 * grub-core/net/tftp.c (ack): Replace the first argument with data
8899 instead of socket.
8900 (tftp_receive): Stall if too many packets are in wait queue.
8901 (tftp_packets_pulled): New function.
8902 (grub_tftp_protocol): Set packets_pulled.
8903 * include/grub/net.h (grub_net_packets): New field count.
8904 (grub_net_put_packet): Increment count.
8905 (grub_net_remove_packet): Likewise.
8906 (grub_net_app_protocol): New field `packets_pulled'.
8907 (grub_net): New field `stall'.
8908
8909 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8912 sync part to handle them.
8913
8914 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8917 * grub-core/net/drivers/ieee1275/ofnet.c
8918 (grub_ieee1275_net_config_real): Likewise.
8919
8920 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8923 the direct route for server/gateway.
8924
8925 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8928 IP address to server name since we may not hame the DNS.
8929
8930 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8933 freeing random buffer on failure.
8934 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8935
8936 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8939
8940 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8943 reserved bytes.
8944 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8945 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8946 Handle malloc error correctly.
8947
8948 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8951 blocks.
8952
8953 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8956 increment.
8957
8958 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8961 none is explicitly specified.
8962
8963 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8966 while reallocating.
8967
8968 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 Respect netmask from bootp/dhcp.
8971
8972 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8973 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
8974 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
8975 into ...
8976 (grub_net_add_ipv4_local): ... this.
8977 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
8978 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
8979 (grub_net_add_ipv4_local): New proto.
8980
8981 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
8984 determining EFI memory map size.
8985
8986 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
8989
8990 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
8993 when looking for partition separator.
8994
8995 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8998 Escape commas.
8999
9000 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 Restructure FAT driver to avoid hook in label reading as it hits a
9003 GCC bug.
9004
9005 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9006 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9007 (grub_fat_iterate_dir): Split into ...
9008 (grub_fat_iterate_init): ... this, ...
9009 (grub_fat_iterate_fini): ... this, ...
9010 (grub_fat_iterate_dir_next): ... and this. All users updated.
9011
9012 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9015 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9016 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9017 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9018 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9019 New fields last_key and last_key_time.
9020 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9021 extended key-esc into extended key-extended key.
9022
9023 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 Avoid unnecessary memcpy of whole video buffer.
9026
9027 * grub-core/video/fb/video_fb.c (dirty): New struct.
9028 (framebuffer): Add members current_dirty and previous_dirty.
9029 (dirty): New function.
9030 (grub_video_fb_fill_rect): Update dirty.
9031 (common_blitter): Likewise.
9032 (grub_video_fb_scroll): Likewise.
9033 (doublebuf_blit_update_screen): Copy only dirty part.
9034 (doublebuf_pageflipping_update_screen): Likewise.
9035 (grub_video_fb_doublebuf_blit_init): Init dirty.
9036 (doublebuf_pageflipping_init): Likewise.
9037 (grub_video_fb_setup): Likewise.
9038
9039 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9042 poll rate.
9043
9044 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 Fix wildcard regexp dot and other special characters handling.
9047 Reported by: Robert Mabee.
9048
9049 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9050 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9051 (split_path): Trigger expansion on '?'.
9052 (unescape): New function.
9053 (wildcard_expand): Unescape parts copied without globbing.
9054 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9055 (grub_script_arglist_to_argv): Don't unescape expansions.
9056
9057 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * include/grub/net.h (grub_net_card): New member txbufsize.
9060 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9061 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9062 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9063 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9064 txbufsize.
9065 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9066 compatible property to check for macs. Set
9067 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9068 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9069 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9070 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9071 (send_card_buffer): Use txbuf.
9072 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9073 nested function out of the parent while on it.
9074
9075 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9078 presence check.
9079 (grub_ieee1275_net_config_real): Fix config pointer.
9080
9081 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9084 filename parsing to non-block devices.
9085
9086 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9089
9090 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9093 All users updated.
9094
9095 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9098 UUID search command even if hints probing failed.
9099
9100 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * po/POTFILES.in: Regenerated.
9103
9104 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 Speed-up video on fuloong.
9107
9108 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9109 New function.
9110 (grub_pci_device_unmap_range): Handle non-cached address.
9111 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9112 add direct_ptr.
9113 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9114 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9115 (grub_video_sis315pro_set_active_render_target): Removed.
9116 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9117 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9118 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9119 sync caches.
9120 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9121 New proto.
9122
9123 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * docs/grub.texi (Multi-boot manual config): New section.
9126
9127 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 Avoid slow read-back from VRAM.
9130
9131 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9132 Move from here ...
9133 * grub-core/video/fb/video_fb.c
9134 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9135 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9136 (front_target): Remove front_target. Add pages.
9137 (grub_video_fb_init): Skip setting front_pages.
9138 (grub_video_fb_fini): Likewise.
9139 (doublebuf_blit_update_screen): Use pages.
9140 (grub_video_fb_doublebuf_blit_init): Likewise.
9141 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9142 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9143 (grub_video_fb_setup): Prefer doublebuffing.
9144
9145 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9148 gzio.
9149
9150 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 Add loongson tests.
9153
9154 * tests/util/grub-shell.in: Handle loongson.
9155 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9156 drivers.
9157 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9158 Reboot instead of shutdown if REBOOT is defined.
9159
9160 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9163 sized ports since unlike on real hardware qemu supports only 32-bit
9164 regs.
9165
9166 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9169 * util/grub-mkrescue.in: Handle loongson.
9170
9171 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9174 Set is_part appropriately.
9175 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9176 names. Canonicalize partition without full disk.
9177
9178 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 Revert usb-quiesce since it's wrong.
9181
9182 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9183 (grub_ofdisk_init): Don't do quiesce.
9184
9185 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9188 PowerMac workaround to Xserves as well.
9189 Information supplied by: Benjamin Herrenschmidt.
9190
9191 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 Don't assume that beginning address is also the entry point on ppc.
9194
9195 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9196 (grub_linux_boot): Use linux_entry.
9197 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9198 (grub_linux_load64): Likewise.
9199
9200 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9203
9204 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9207 needlessly lose the console.
9208
9209 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9212 space.
9213
9214 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9217 than current grub_get_rtc() not implemented when booted with
9218 coreboot without TSC.
9219
9220 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9221 Add machine/time.h to kernel headers on loongson.
9222 * grub-core/Makefile.core.def (kernel): Remove
9223 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9224 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9225 (grub_get_rtc): Likewise.
9226 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9227 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9228 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9229 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9230 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9231 rather than installing known non-working time source.
9232 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9233 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9234 * include/grub/time.h: Don't include machine/time.h.
9235 * include/grub/efi/time.h: Removed.
9236 * include/grub/i386/efi/time.h: Likewise.
9237 * include/grub/i386/ieee1275/time.h: Likewise.
9238 * include/grub/powerpc/ieee1275/time.h: Likewise.
9239 * include/grub/sparc64/ieee1275/time.h: Likewise.
9240 * include/grub/x86_64/efi/time.h: Likewise.
9241
9242 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 Remove dot on i and j when combining with above diacritics.
9245
9246 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9247 value.
9248 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9249 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9250 with dotless variants when any combining above is present.
9251
9252 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9255 text and not binary.
9256
9257 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 Stop polling as soon as we have the packet we were waiting for.
9260
9261 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9262 All users updated.
9263 * grub-core/net/arp.c (have_pending): New var.
9264 (pending_req): Likewise.
9265 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9266 stop indicator.
9267 (grub_net_arp_receive): Set have_pending.
9268 * grub-core/net/dns.c (recv_data): New field stop.
9269 (recv_hook): Set stop.
9270 (grub_net_dns_lookup): Init stop and use as stop condition.
9271 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9272 condition.
9273 * grub-core/net/net.c (grub_net_poll_cards): New argument
9274 stop_condition. Stop when it goes true.
9275 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9276 indicator.
9277 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9278
9279 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 Keep TX and RX buffers on EFI rather than always allocate new ones.
9282
9283 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9284 card. All users updated.
9285 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9286 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9287 (get_card_packet): Likewise.
9288 (grub_efinet_findcards): Init new fields.
9289
9290 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9293 compilation error on sparc64.
9294
9295 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 Use ITC on IA64 rather than broken routine based on daytime.
9298
9299 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9300 ia64.
9301 (grub_get_rtc) [__ia64__]: Likewise.
9302 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9303 (get_itc): New function.
9304 (grub_rtc_get_time_ms): Likewise.
9305 (grub_machine_init): Calibrate ITC.
9306 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9307 Keep only on non-ia64. Don't export since it's broken and used only
9308 if TSC is unavailable.
9309
9310 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9313 even if it's used.
9314 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9315 Skip if parent is unused.
9316
9317 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9320
9321 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Fix wildcard escaping.
9324
9325 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9326 * grub-core/script/execute.c (wildcard_escape): .. to here.
9327 Don't escape dot.
9328 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9329 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9330 Don't escape dot.
9331 * grub-core/script/execute.c (gettext_append): Always escape.
9332 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9333 * grub-core/script/yylex.l: Don't cut away the escaping.
9334 * tests/grub_script_echo1.in: Add tests with wildcard.
9335
9336 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9339 (ftdi_hw_configure): Likewise.
9340 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9341 define.
9342 (real_config): Handle 1.5 stop bits.
9343 (pl2303_hw_configure): Likewise.
9344
9345 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 * Makefile.am: Add ppc linux bootcheck.
9348 * grub-core/tests/boot/linux-ppc.cfg: New file.
9349 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9350
9351 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * tests/grub_script_expansion.in: Skip network protocols.
9354
9355 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9358
9359 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9362 --rom-directory.
9363 Add -graft-points.
9364
9365 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 ESCC serial driver for conducting sautomated tests in qemu.
9368 Not tested on real hardware.
9369
9370 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9371 * grub-core/term/ieee1275/escc.c: New file.
9372 * grub-core/Makefile.core.def (escc): New module.
9373
9374 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9377 invalid on error.
9378 (serial_hw_fetch): Don't read invalid handle.
9379 (serial_hw_put): Don't write into invalid handle.
9380
9381 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 Add a 1.5 stop bits value.
9384
9385 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9386 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9387 GRUB_SERIAL_STOP_BITS_1_5.
9388
9389 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9392 value rather than let it uninited.
9393
9394 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9395
9396 * grub-core/commands/wildcard.c (+check_file): New function.
9397 (wildcard_expand): Don't expand to non-existing files, expand with
9398 suffix and not attempt to expand if not needed.
9399
9400 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9403 out of partitions containing other partitions.
9404
9405 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9406
9407 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9408 on some qemu versions with GRUB.
9409
9410 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9411 define.
9412 (grub_openbsd_bootarg_pcibios): New struct.
9413 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9414 Add PCIINFO.
9415
9416 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * tests/util/grub-shell.in: Trim firmware output on EFI.
9419
9420 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9423 and coreboot since it's already in kernel.
9424
9425 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9428 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9429 to here. New return value start. All users updated.
9430 Recursively scan linear mappings.
9431 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9432 proto.
9433 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9434 Use grub_util_get_dm_node_linear_info.
9435 * util/getroot.c (convert_system_partition_to_system_disk): Use
9436 grub_util_info rather than grub_dprintf.
9437 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9438
9439 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9442
9443 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9444 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9445
9446 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * include/grub/types.h (grub_set_unaligned64): New function.
9449 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9450 (setup): Likewise.
9451
9452 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9455 (grub_ofdisk_fini): Quiesce USB devices.
9456
9457 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9460 caches.
9461
9462 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9465
9466 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/disk/pata.c (grub_pata_pio_read)
9469 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9470 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9471
9472 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 Extend automated tests to qemu-mips.
9475
9476 * Makefile.am: reorganise tests and enable qemu-mips.
9477 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9478 * grub-core/tests/boot/linux.init-mips.S: New file.
9479 * tests/partmap_test.in: Handle ata0 disks.
9480 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9481 non-pc i386.
9482
9483 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9486 ia64.
9487 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9488 quotes while on it.
9489
9490 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9493 (grub_halt): Likewise.
9494 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9495
9496 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/term/serial.c (grub_serial_register)
9499 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9500 the behaviour in line with x86 platforms.
9501
9502 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9505 (grub_ata_strncpy): Likewise.
9506 (grub_ata_identify): Add missing byteswaps.
9507
9508 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9511 byte-swap.
9512 (screen_read_char): Likewise.
9513 (grub_vga_text_cls): Likewise.
9514
9515 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9518 filenames.
9519 (make_file_path): Likewise.
9520
9521 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9524 machines.
9525 Tested by: Paulo Flabiano Smorigo.
9526 Crucial information about API supplied by: Coleen <Last name unknown>.
9527 Reviewed by: Coleen <Last name unknown>.
9528
9529 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * util/grub-mkimage.c: Disable -Wcast-align.
9532
9533 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9536 as they are fatal.
9537
9538 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9541
9542 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * util/grub-probe.c (escape_of_path): Fix double free.
9545
9546 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * grub-core/commands/videoinfo.c (hook): Show pitch.
9549
9550 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9553
9554 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9557 (probe): Add ieee1275 to OFW devices.
9558
9559 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9562
9563 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 Handle IBM OFW path.
9566
9567 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9568 available.
9569 (of_path_of_scsi): Handle vdevice.
9570
9571 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9574 Allocate in multiples of 16 to avoid adding a few bytes free region the
9575 windows bugs upon.
9576
9577 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9580 Allocate in multiples of 16 to avoid adding a few bytes free region the
9581 windows bugs upon.
9582 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9583
9584 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9587 resolutions.
9588 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9589 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9590
9591 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9592
9593 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9594
9595 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9598 resulted in \\ at the end of the line.
9599
9600 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9603 (grub_parser_cmdline_state): Likewise.
9604 (grub_parser_split_cmdline): Likewise.
9605
9606 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9609 /dev/root and /dev/dm-*.
9610
9611 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9614 fix partially stale display.
9615
9616 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9619 substraction.
9620
9621 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9624 Fix MBR remapping workaround.
9625 (grub_util_biosdisk_read) [__linux__]: Likewise.
9626
9627 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9630
9631 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * configure.ac: Bump to beta6.
9634
9635 2012-05-31 Christer Weinigel <christer@weinigel.se>
9636
9637 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9638
9639 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9642 (grub_cmd_linux): Likewise.
9643
9644 2012-05-31 Christer Weinigel <christer@weinigel.se>
9645
9646 Fix EHCI low-speed.
9647
9648 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9649 (GRUB_EHCI_MULT_TWO): Likewise.
9650 (GRUB_EHCI_MULT_THREE): Likewise.
9651 (GRUB_EHCI_CMASK_MASK): New enum value.
9652 (GRUB_EHCI_SMASK_MASK): Likewise.
9653 (GRUB_EHCI_CMASK_OFF): Likewise.
9654 (GRUB_EHCI_SMASK_OFF): Likewise.
9655 (grub_ehci_pci_iter): Enable periodic schedule.
9656 (grub_ehci_parse_notrun): Likewise.
9657 (grub_ehci_restore_hw): Likewise.
9658 (grub_ehci_setup_qh): Set flags for low speed transfers.
9659 (grub_ehci_find_qh): Use periodic list for low speed.
9660 (grub_ehci_setup_transfer): Check periodic queue as well.
9661 (grub_ehci_check_transfer): Likewise.
9662 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9663
9664 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9665
9666 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9667 parameter is used.
9668
9669 2012-05-31 Peter Jones <pjones@redhat.com>
9670
9671 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9672 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9673 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9674
9675 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9678 uninited variable. Allocate at least setup_sects.
9679
9680 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 Fix handling of EFI with big memory maps.
9683
9684 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9685 (real_mode_mem): Likewise.
9686 (real_mode_target): Likewise.
9687 (real_mode_pages): Likewise.
9688 (prot_mode_pages): Likewise.
9689 (linux_params): New var.
9690 (linux_cmdline): Likewise.
9691 (free_pages): Don't set real mode variables.
9692 (allocate_pages): Don't allocate real mode memory.
9693 (grub_e820_add_region): Remove the limit.
9694 (grub_linux_boot): Allocate and copy real mode memory.
9695 (grub_linux_unload): Free linux_cmdline.
9696 (grub_cmd_linux): Use temporary storage for parameters.
9697 (grub_cmd_initrd): Likewise.
9698 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9699 (linux_kernel_params): Make it 1K big.
9700
9701 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * Makefile.util.def: Remove -Wno-format.
9704 * grub-core/Makefile.core.def: Likewise.
9705
9706 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9707
9708 * tests/cmp_unit_test.c: Add missing failure message.
9709 * tests/example_unit_test.c: Likewise.
9710 * tests/printf_unit_test.c: Likewise.
9711
9712 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9715 relaxation of protective MBR requirements.
9716
9717 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * configure.ac: Add condition for COND_HOST_XNU.
9720 * Makefile.util.def (10_xnu): New script.
9721 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9722
9723 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9726 objconv bug.
9727
9728 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9731 Binary on other platforms stays identical.
9732
9733 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9736 Apple.
9737
9738 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9741
9742 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9745 rather than defining size_t ourselves to avoid conflict.
9746
9747 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9748
9749 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9750 initialisation to avoid __bzero reference.
9751
9752 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9755 version.
9756 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9757 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9758 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9759 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9760 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9761
9762 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9765 * grub-core/kern/misc.c: Likewise.
9766 * grub-core/loader/i386/xnu.c: Likewise.
9767 * include/grub/i386/tsc.h: Likewise.
9768 * include/grub/symbol.h: Likewise.
9769
9770 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9773 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9774 on older compiler.
9775
9776 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9779 Implement Apple flavour.
9780 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9781
9782 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9785 (memmove) [__APPLE__]: Likewise.
9786 (memcpy) [__APPLE__]: Likewise.
9787 (memset) [__APPLE__]: Likewise.
9788 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9789 (memmove) [__APPLE__]: Likewise.
9790 (memcpy) [__APPLE__]: Likewise.
9791 (memset) [__APPLE__]: Likewise.
9792
9793 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9796 dependency discard.
9797
9798 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/normal/main.c (read_config_file): Provide config_file and
9801 config_directory.
9802 * util/grub.d/41_custom.in: Use config_directoy when available.
9803
9804 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9807 (grub_bfs_dir): Likewise.
9808
9809 2012-05-27 Peter Jones <pjones@redhat.com>
9810
9811 The old code gives arguments to a printf function which can't work
9812 correctly, and the compiler complains.
9813
9814 * grub-core/tests/example_functional_test.c (example_test): Add
9815 missing text.
9816 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9817 * include/grub/test.h (grub_test_assert_helper): New declaration.
9818 (grub_test_assert): Use grub_test_assert_helper.
9819
9820 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9823 (exfctest): ... this to avoid overlong filenames.
9824 All users updated.
9825
9826 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 Handle "." and ".." on squashfs.
9829
9830 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9831 Make inode numbers into stack.
9832 (grub_squash_read_symlink): Use stack.
9833 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9834 (make_root_node): Fill stack.
9835 (grub_squash_open): Use stack.
9836
9837 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9840 freeing.
9841
9842 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9845 stderr on test calls.
9846
9847 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9850
9851 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9852
9853 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9854
9855 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9858 "..".
9859
9860 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9863 (grub_hfsplus_iterate_dir): Add "." and "..".
9864
9865 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9868 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9869
9870 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9873 (find_path): Handle "." and "..".
9874
9875 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9878 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9879 (grub_affs_iterate_dir): Handle hardlinks.
9880
9881 2012-05-26 Matthew Garrett <mjg@redhat.com>
9882
9883 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9884 (grub_efi_console_fini): Likewise.
9885 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9886 (grub_video_gop_fill_mode_info): Rename to ...
9887 (grub_video_gop_fill_real_mode_info): ... this.
9888 (grub_video_gop_fill_mode_info): New function.
9889 (grub_video_gop_setup): Setup double framebuffer.
9890 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9891 Free offscreen.
9892 (grub_video_gop_swap_buffers): Copy framebuffer.
9893 (grub_video_gop_fini): Free offscreen buffer.
9894 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9895 New enum.
9896 (grub_efi_gop_blt_pixel): New struct.
9897
9898 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * gentpl.py: Remove error disabling for objconv.
9901
9902 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * configure.ac: Remove -Wunitialized as it's not available on older
9905 compilers.
9906
9907 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 Fix extent overflow comparator.
9910
9911 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9912 (grub_hfsplus_read_block): Set type.
9913 (grub_hfsplus_cmp_extkey): Compare type.
9914
9915 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9918
9919 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9922 than 0.
9923
9924 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9927 (dejavu_bold_14.pf2): New target.
9928
9929 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * configure.ac: Fix djvu font detection.
9932
9933 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9936 ext* instead of ext2.
9937
9938 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9941 name with \0.
9942
9943 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9944
9945 * docs/grub-dev.texi: Remove dot from .png.
9946
9947 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9950 protective entry in any slot.
9951 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9952 if protective entry is found in any slot.
9953
9954 Protective entry in non-first slot make no sense but is a widespread
9955 brain damage.
9956
9957 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9960
9961 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9964 with old reiserfs.
9965 (grub_reiserfs_open): Don't free root.
9966
9967 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9970 after freeing for safety.
9971
9972 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
9975 Reported by: Jordan Uggla.
9976
9977 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
9978
9979 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
9980 actual implementation. Specifically, clarify that the grub menu will
9981 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
9982 passed.
9983
9984 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
9985
9986 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
9987 of r0.
9988
9989 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 Remove unjustified hard dependency of normal.mod on gfxterm.
9992
9993 * include/grub/term.h (grub_term_output): New member fullscreen.
9994 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
9995 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
9996 (grub_gfxterm): Set .fullscreen.
9997 * grub-core/normal/menu.c (menu_init): Use fullscreen.
9998 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
9999
10000 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10003 mentioning possible problems with non-ASCII (non-compliant) ISOs.
10004 Mention case-insensitive AFFS, SFS and JFS.
10005
10006 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10009
10010 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10013 a bad FS.
10014
10015 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10018 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10019
10020 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10023 (grub_jfs_mount): Fill caseins.
10024 (grub_jfs_find_file): Respect caseins.
10025
10026 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10029 through UTF-16.
10030
10031 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10034 New argument origpath. All users updated.
10035
10036 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10039 (read_attr): Ensure that we read start of possibly compressed block.
10040
10041 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10044 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10045 All users updated.
10046
10047 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10048
10049 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10050 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10051 (dejavu.pf2): Replace with ...
10052 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10053 this.
10054
10055 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * util/grub.d/20_linux_xen.in: Add missing line.
10058
10059 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10062 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10063 (grub_utf16_to_utf8): Likewise.
10064
10065 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10068 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10069 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10070 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10071 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10072 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10073
10074 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10077 a bad FS.
10078
10079 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10082 (grub_udf_read_symlink): Handle read_string failure.
10083
10084 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10087 comment.
10088
10089 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 Fix handling of UDF symlinks.
10092
10093 * grub-core/fs/udf.c (read_string): New argument outbuf.
10094 All users updated.
10095 (grub_ufs_read_symlink): Rename to ...
10096 (grub_udf_read_symlink): ... this. All users updated.
10097 Handle symlinks with more than one component.
10098
10099 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10102 symlinks. Replace leading colon with a slash.
10103
10104 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10107 filename.
10108
10109 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10112 match in inner node.
10113
10114 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10115
10116 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10117 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10118 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10119 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10120 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10121 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10122 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10123 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10124 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10125
10126 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 Use grub-probe and not cmp to check that disk is empty.
10129
10130 * util/grub-install.in: Use grub-probe for zero-check.
10131 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10132 (probe): Handle PRINT_ZERO_CHECK.
10133 (argp_parser): Handle -t zero_check.
10134
10135 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 Flush block cache on adding disk to device map.
10138
10139 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10140 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10141 adding.
10142 (read_device_map): Likewise.
10143 (open_device): Flush on opening.
10144
10145 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10148 (handle_symlink): Fix off-by-one error.
10149 Canonicalize the target.
10150 (grub_cpio_dir): Canonicalize the name.
10151 Fix memory leak.
10152 Set directory.
10153 (grub_cpio_open): Canonicalize the name.
10154
10155 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10158 handling.
10159
10160 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10163 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10164
10165 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10168 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
10169 All users updated.
10170
10171 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10172
10173 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10174 counterpart.
10175
10176 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 Fix UFS1 big file support.
10179
10180 * grub-core/fs/ufs.c (INODE): Removed.
10181 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10182 64-bit.
10183 (INODE_MODE): Simplify.
10184 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10185 (grub_ufs_lookup_symlink): Don't use INODE.
10186
10187 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10190
10191 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10192 (grub_minix_data): Replace log_block_size with block_size.
10193 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10194 (grub_minix_mount): Fill block_size.
10195
10196 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * configure.ac: Bump to beta5.
10199
10200 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 Fix wrapped HFS+ handling.
10203
10204 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10205 blocks_start. All users updated.
10206 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10207 wrapping offset.
10208 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10209
10210 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 Fix long symlinks on reiserfs.
10213
10214 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10215 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10216 (grub_reiserfs_iterate_dir): Save size for non-directories.
10217 (grub_reiserfs_open): Don't reread stat block as we already know the
10218 size.
10219 (grub_reiserfs_read): Split into...
10220 (grub_reiserfs_read_real): ... and ...
10221 (grub_reiserfs_read): ...this.
10222
10223 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 Fix non-indexed JFS.
10226
10227 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10228 (grub_jfs_data): New field namecomponentlen.
10229 (grub_jfs_mount): Fill namecomponentlen.
10230 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10231
10232 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10235 * tests/grub_script_echo1.in: Add tests.
10236
10237 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * util/grub-install.in: Ignore empty devicetree directory.
10240
10241 2012-05-08 Bean <bean123ch@gmail.com>
10242
10243 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10244 All users updated.
10245 (free_rsm): Free header as well.
10246 (free_old_fragments): Fix memory leak.
10247 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10248 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10249 (destroy_pq): Likewise.
10250 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10251
10252 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10255 resulting hash as a precaution.
10256
10257 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10260 '_' in variable names.
10261 * grub-core/net/net.c (grub_net_network_level_interface_register):
10262 Likewise.
10263
10264 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 Fix AFFS with non-512B blocks.
10267
10268 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10269 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10270 (grub_affs_data): Replace blocksize with log_blocksize.
10271 (grub_affs_read_block): Fix non-512B blocks.
10272 (grub_affs_read_symlink): Likewise.
10273 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10274 (grub_affs_read): Fix non-512B blocks.
10275 (grub_affs_label): Likewise.
10276 (grub_affs_mtime): Likewise.
10277 (grub_affs_mount): Fix block detection routine.
10278
10279 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 Add filesystem mtime to AFFS.
10282
10283 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10284 (aftime2ctime): New function.
10285 (grub_affs_dir): Use aftime2ctime.
10286 (grub_affs_label): Fix return value.
10287 (grub_affs_mtime): New function.
10288 (grub_affs_fs): Add mtime.
10289
10290 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10293 UTF-8.
10294
10295 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10298 UTF-8.
10299
10300 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10303
10304 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10307 flags.
10308 (FLAGS_CASE_SENSITIVE): New enum value.
10309 (cache_entry): New struct.
10310 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10311 cache_size and cache.
10312 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10313 Add log_blocksize and fshelp_flags.
10314 (grub_sfs_read_extent): Handle non-512 blocks.
10315 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10316 (grub_sfs_read_file): Handle non-512 blocks.
10317 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10318 fshelp_flags.
10319 (grub_sfs_read_symlink): Handle non-512 blocks.
10320 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10321 (grub_sfs_dir): Free cache.
10322 (grub_sfs_close): Likewise.
10323
10324 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10327 filesystems.
10328
10329 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10332
10333 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10336
10337 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10340 (grub_sfs_read_extent): Likewise.
10341 (grub_sfs_read_block): Likewise.
10342 (grub_sfs_mount): Likewise.
10343 (grub_sfs_iterate_dir): Likewise.
10344 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10345 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10346
10347 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 Fix errors on compressed NTFS with 512B clusters.
10350
10351 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10352 types.
10353 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10354 not 0.
10355 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10356 Relax check for inline extents.
10357 (ntfscomp): Return correct -1 on error and not 0.
10358
10359 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * util/grub-install.in: Fix handling of prefix containing spaces.
10362
10363 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10366 (grub_squash_read_data): Fix offset byte-swapping.
10367
10368 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10371 per common usage and preffered in several parts of code.
10372 (grub_memcmp): Likewise.
10373 (grub_strncmp): Likewise.
10374 * include/grub/misc.h (grub_strcasecmp): Likewise.
10375 (grub_strncasecmp): Likewise.
10376 * Makefile.util.def (cmp_test): New test.
10377 (grub_script_strcmp): Likewise.
10378 * tests/cmp_unit_test.c: New file.
10379 * tests/grub_script_strcmp.in: Likewise.
10380 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10381
10382 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * include/grub/pci.h: Move enums into no-asm part.
10385
10386 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10387
10388 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10389
10390 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10391
10392 * util/getroot.c (find_hurd_root_device): Try to make error message
10393 and comments to translators clearer.
10394
10395 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10396
10397 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10398
10399 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10402 btrfs.
10403
10404 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * docs/grub.cfg: Update.
10407
10408 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * docs/grub.texi (PXE): Remove not present variables.
10411
10412 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * grub-core/net/net.c (defserver_set_env): New function.
10415 (defserver_get_env): Likewise.
10416 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10417
10418 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10421 entries.
10422
10423 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10426 * grub-core/kern/emu/hostdisk.c: Likewise.
10427
10428 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10429
10430 Handle hurd userspace partitions.
10431
10432 * util/getroot.c (find_hurd_root_device): New function.
10433 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10434
10435 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10438 names.
10439 Reported by: Bastian Blank.
10440
10441 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10444 crossing page boundary.
10445
10446 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 Fix B-tree search in BFS, especially in presence of non-ASCII
10449 characters.
10450
10451 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10452 (find_in_b_tree): Use standard bsearch + btree algorithm.
10453
10454 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10457 and so on.
10458
10459 2012-05-03 Matthew Garrett <mjg@redhat.com>
10460 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 Suspend broadcom cards in order to stop their DMA.
10463
10464 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10465 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10466 (pci): Don't build on x86 EFI.
10467 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10468 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10469 New function.
10470 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10471 stop_broadcom if running on EFI.
10472 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10473 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10474 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10475 (grub_pci_find_capability): New proto.
10476
10477 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * docs/grub.texi: Remove dot from the extension as it apparently
10480 doesn't work with some makeinfo versions.
10481
10482 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10485 with GRUB expectance.
10486
10487 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10490
10491 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10494 zero after directory block since last entry may be not 0-terminated if
10495 it ends on block boundary. Use continue instead of if spanning whole
10496 loop.
10497
10498 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Support 4K sectors UDF inline files.
10501
10502 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10503 (grub_udf_extended_file_entry): Likewise.
10504 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10505 All users updated.
10506 (get_fshelp_size): New function.
10507 (grub_udf_read_icb): Read whole block.
10508 (grub_udf_iterate_dir): Likewise.
10509 (grub_udf_dir): Likewise.
10510 (grub_udf_open): Likewise.
10511
10512 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10515
10516 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10519 inline symlinks in addition to workaround.
10520
10521 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10524
10525 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10528
10529 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10532
10533 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 Fix reiserfs big seek times.
10536
10537 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10538 exact. All users updated.
10539 (grub_reiserfs_read): Use nearest btree search for seeking.
10540 Fix return value on error.
10541
10542 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10545 entries.
10546 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10547 * docs/grub.texi: Update menuentry description.
10548
10549 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10552 crash when embedding onto filesystem.
10553
10554 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10557 name.
10558
10559 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10562
10563 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10566 commit.
10567
10568 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10569 2012-05-01 Bean <bean123ch@gmail.com>
10570
10571 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10572
10573 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10576 Special behaviour for len = 0 to read whole file isn't used anywhere and
10577 can cause buffer ovewrflows in several places.
10578
10579 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10582
10583 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 Handle RAIDZ on non-512B sectors.
10586
10587 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10588 max_children_ashift.
10589 (fill_vdev_info_real): Fill max_children_ashift.
10590 (read_device): Use max_children_ashift.
10591
10592 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10595
10596 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10599 disk names.
10600 * docs/grub.texi: Update device.map parts.
10601
10602 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 Don't scan into non-diskfilter devices having diskfilter names.
10605
10606 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10607 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10608 handling.
10609 (scan_disk_hook): New function.
10610
10611 2012-04-29 Bean <bean123ch@gmail.com>
10612
10613 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10614 allocation.
10615
10616 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10617
10618 * configure.ac: Detect starfield theme font path
10619 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10620
10621 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10622
10623 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10624 geometry on serial consoles.
10625
10626 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10629 because of network consoles.
10630
10631 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10634 handling.
10635
10636 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10639 falls on Q syndrom.
10640
10641 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10644 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10645
10646 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10649 Allocate at lest 8192 for temporary buffer as required for lzo.
10650
10651 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10654 to cluster_bits, since it's already added in.
10655 (grub_fat_read_data): Likewise.
10656
10657 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10660 as long as cluster size is multiple of 512 bytes.
10661
10662 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * util/grub-mkrescue.in: Fix locale directory.
10665
10666 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/kern/emu/hostdisk.c (map): Make static.
10669
10670 2012-04-23 Bean <bean123ch@gmail.com>
10671
10672 * util/grub-fstest.c (fstest): Add missing break.
10673
10674 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10675
10676 Fix hurd build.
10677
10678 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10679 not define nr variable.
10680 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10681 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10682 grub_find_device): Do not define.
10683
10684 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 Fix kfreebsd compile and behaviour.
10687
10688 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10689 format-security.
10690 * util/getroot.c: Fix wait.h include.
10691 (grub_guess_root_devices): Error if grub_find_device fails.
10692 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10693 (grub_util_get_dev_abstraction): Likewise.
10694 (grub_util_pull_device): Likewise.
10695 (grub_util_get_grub_dev): Likewise.
10696 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10697
10698 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 Fix and unify wholedisk detection.
10701
10702 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10703 is_part. All users updated.
10704 (device_is_wholedisk): Removed.
10705 (grub_util_biosdisk_get_grub_dev): Use is_part.
10706
10707 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10710 mode.
10711
10712 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * configure.ac: Bump to beta4.
10715
10716 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10719 --fs-uuid --set UUID syntax.
10720
10721 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10724 disunification.
10725
10726 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10729
10730 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
10731
10732 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10733
10734 2012-04-18 Mike Gilbert <floppym@gentoo.org>
10735
10736 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10737
10738 2012-04-18 Bean <bean123ch@gmail.com>
10739
10740 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10741 place.
10742
10743 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10746 users updated.
10747 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10748 corresponding to GRUB partitions.
10749 (grub_util_biosdisk_write): Likewise.
10750
10751 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 Scan mdraid before LVM.
10754
10755 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10756 (grub_diskfilter_register_front): ... this.
10757 (grub_diskfilter_register_back): New function.
10758 All users of grub_diskfilter_register updated.
10759
10760 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * util/grub-install.in: Fix an automatic target detection bug.
10763
10764 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * util/grub-install.in: New option --efi-directory.
10767
10768 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10771 boot services if we have no other choice.
10772
10773 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10774
10775 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10776 document it.
10777 * tests/util/grub-shell.in: Update to --directory.
10778
10779 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10782
10783 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10786 (grub_minix_read_file): Likewise.
10787 (grub_minix_read_inode): Likewise.
10788 (grub_minix_find_file): Likewise.
10789 (grub_minix_dir): Likewise.
10790
10791 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * util/grub-setup.c (setup): Fix partition handling and blocklist
10794 check.
10795
10796 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10799 redundant buggy overlap check.
10800
10801 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10804 and grub-mknetdir.
10805
10806 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10809 kh.loadflags on pre-2.00 kernels.
10810
10811 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 Terminate UNDI and PXE before launching the payload to avoid problems
10814 with DMA.
10815
10816 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10817 (grub_loader_flags): ... this. All users updated.
10818 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10819 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10820 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10821 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10822 function.
10823 (grub_pxe_restore): Likewise.
10824 (fini_hnd): New var.
10825 (GRUB_MOD_INIT): Register shutdown hook.
10826 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10827 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10828 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10829 (grub_loader_set): Rename second argument to flags.
10830
10831 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10834 written bytes.
10835 (grub_get_num_of_utf8_bytes): New function.
10836 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10837 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10838 executing it.
10839 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10840 (grub_ucs4_to_utf8): Change return type.
10841
10842 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10845 warning.
10846 * grub-core/fs/bfs.c (hop_level): Likewise.
10847 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
10848
10849 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10850
10851 * grub-core/lib/adler32.c: Recode due to license unclearness.
10852
10853 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10856 (test_header): Likewise.
10857
10858 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 Fix --help formatting.
10861
10862 * util/grub-mkconfig_lib.in (print_option_help): New function.
10863 (grub_fmt): Likewise.
10864 * util/grub-install.in: Use print_option_help and grub_fmt.
10865 * util/grub-kbdcomp.in: Likewise.
10866 * util/grub-mkconfig.in: Likewise.
10867 * util/grub-mknetdir.in: Likewise.
10868 * util/grub-mkrescue.in: Likewise.
10869 * util/grub-mkstandalone.in: Likewise.
10870 * util/grub-reboot.in: Likewise.
10871 * util/grub-set-default.in: Likewise.
10872 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10873
10874 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * linguas.sh: Remove autogenerated *.po.
10877
10878 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * po/README: Move language fetcing to ...
10881 * linguas.sh: ... here.
10882 * po/README: Point to linguas.sh.
10883
10884 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * po/README: Exclude ko.po due to disclaimer problems.
10887
10888 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10891 len = 0.
10892 (grub_gettext_translate_real): Handle 0th string.
10893 (grub_gettext_translate): Ensure that "" isn't translated.
10894
10895 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10898 TRANSLATORS comment.
10899 (grub_diskfilter_print_partmap): Propagate changing of error into
10900 warning.
10901
10902 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10905 to uint64_t to prevent overflow.
10906 (grub_diskfilter_lv): Increase start_extent and extent_count
10907 to uint64_t to prevent overflow.
10908
10909 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * configure.ac: Increase version.
10912
10913 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10916
10917 * po/Rules-translit: New file.
10918 * po/arabic.sed: Likewise.
10919 * po/cyrillic.sed: Likewise.
10920 * po/greek.sed: Likewise.
10921 * po/hebrew.sed: Likewise.
10922 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10923 * po/Makefile.in.in: Add extra_dist4.
10924
10925 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10928
10929 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10930 modify names. Introduce MODE_BIGENDIAN.
10931 * grub-core/fs/minix_be.c: New file.
10932 * grub-core/fs/minix2_be.c: Likewise
10933 * grub-core/fs/minix3_be.c: Likewise.
10934 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10935 minix3_be.
10936 * grub-core/Makefile.core.def (minix_be): New module.
10937 (minix2_be): Likewise.
10938 (minix3_be): Likewise.
10939
10940 2012-04-01 Felix <email@hamburg.de>
10941
10942 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10943 (devs): Add MBP 2011.
10944
10945 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10948
10949 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * grub-core/normal/cmdline.c (print_completion): New field
10952 prompt_len.
10953 (grub_cmdline_get): Handle width properly.
10954
10955 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10958
10959 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
10962 after 29th of February.
10963
10964 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10965
10966 Fix exfat endianness handling.
10967
10968 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10969 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10970 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10971 Byte-swap utf16 when necessary.
10972 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
10973
10974 2012-03-31 Anton Blanchard <anton@samba.org>
10975 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 Fix btrfs endianness handling.
10978
10979 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
10980 (lower_bound): Make root uint64_t. Use root in le.
10981 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
10982 (find_path): Fix template key init.
10983 (grub_btrfs_dir): Fix mtime byteswap.
10984 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
10985
10986 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
10989 recursion_depth. Break infinite resursions. All users updated.
10990
10991 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
10994 after free.
10995 Reported by: Peter Jones.
10996
10997 2012-03-31 Anton Blanchard <anton@samba.org>
10998
10999 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11000 8 bit values.
11001
11002 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * util/grub-install.in: Fix nvram call for PreP.
11005
11006 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11009 the error when some elements are missing into a warning.
11010
11011 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11012
11013 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11014
11015 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
11016
11017 * docs/grub.texi (Invoking grub-probe): New section.
11018 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11019
11020 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 Fix tab and wide character handling in editor and menu.
11023
11024 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11025 agglomerate control characters with combining marks.
11026 (bidi_line_wrap): Allow break on tab.
11027 (grub_unicode_get_comb_start): New function.
11028 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11029 and tab correctly.
11030 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11031 with a space.
11032 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11033 fixed_tab_size. All users updated.
11034 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11035 (grub_term_getcharwidth): Handle \t.
11036 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11037 and copy.
11038
11039 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 Handle big-endian mdraid.
11042
11043 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11044 * grub-core/Makefile.core.def (mdraid09_be): New module.
11045 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11046 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11047 * grub-core/disk/mdraid_linux_be.c: New file.
11048
11049 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11052
11053 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11056 missing quotes which caused confusion among translators.
11057
11058 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * util/grub-mkconfig_lib.in: Fix typo.
11061
11062 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11065 spaces.
11066 * tests/grub_script_leading_whitespace.in: New file.
11067 * Makefile.util.def (grub_script_leading_whitespace): New test.
11068
11069 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11070
11071 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11072 to work.
11073
11074 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11077 starts with control character.
11078
11079 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11082 overflow.
11083 (grub_gdb_outbuf): Likewise.
11084
11085 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11088 zero terminator. Fixes a crash.
11089
11090 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11093 beyond 4 GiB.
11094 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11095 images independently of preffered adderss field.
11096
11097 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11100 * grub-core/commands/regexp.c: Likewise.
11101 * grub-core/loader/i386/linux.c: Likewise.
11102 * grub-core/partmap/msdos.c: Likewise.
11103 * grub-core/script/execute.c: Likewise.
11104 * grub-core/term/gfxterm.c: Likewise.
11105
11106 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 Add variable parsing in $"..." and fix several mismatches with bash.
11109
11110 * Makefile.util.def (grub_script_gettext): New test.
11111 * grub-core/script/execute.c (parse_string): New function.
11112 (gettext_append): Likewise.
11113 (grub_script_arglist_to_argv): Use gettext_append.
11114 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11115 * tests/grub_script_gettext.in: New file.
11116
11117 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 Fix handling of leading spaces in scripts.
11120
11121 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11122 spaces.
11123 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11124 other than skipping \r. All users updated.
11125 * tests/grub_script_echo1.in: Add space-related tests.
11126 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11127
11128 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11129
11130 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11131
11132 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * configure.ac: Bump up the version to beta2.
11135
11136 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 Fix gettext reload bugs (e.g. inability to disable gettext
11139 once enabled).
11140
11141 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11142 main_context and secondary_context. All functions updated.
11143 (grub_gettext_translate): Rename to ...
11144 (grub_gettext_translate_real): ... this. Return NULL on failed
11145 translate.
11146 (grub_gettext_translate): Handle secondary context.
11147 (grub_gettext_delete_list): Close file and zero-out the context.
11148 (grub_mofile_open): Don't call grub_gettext_delete_list.
11149 Don't close file.
11150 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11151 if locale="" to avoid pointless error message.
11152 (grub_gettext_env_write_lang): Update lang even if load fails.
11153 Handle secondary context.
11154 (grub_gettext_reread_prefix): New function.
11155 (read_main): Likewise.
11156 (read_secondary): Likewise.
11157 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11158 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11159 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11160 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11161
11162 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * configure.ac: Decrease warning level to avoid spurious warnings and
11165 to be able to compile with GCC 4.2.
11166 * Makefile.util.def: Remove -Wno-error=logical-op.
11167
11168 2012-03-10 William Bittner <william.bittner@gmail.com>
11169
11170 * util/import_unicode.py: Add missing brackets around string for
11171 python 3 support.
11172
11173 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 Fix efi chainloader on network root.
11176
11177 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11178 network devices.
11179 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11180 New function.
11181
11182 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11185 unused show_text member.
11186 * docs/grub.texi: Document "text" property.
11187
11188 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11191 in dprintf.
11192
11193 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 Fix IMSM handling on Fedora.
11196
11197 * util/getroot.c (grub_util_is_imsm): New function.
11198 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11199
11200 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * Makefile.am: Strip gold section.
11203 * conf/Makefile.common: Likewise.
11204 * gentpl.py: Likewise.
11205 * grub-core/Makefile.core.def: Likewise.
11206 * grub-core/genmod.sh.in: Likewise.
11207
11208 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11211 * util/grub.d/20_linux_xen.in: Likewise.
11212 Based on Debian patch.
11213
11214 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * util/grub.d/10_linux.in: Fix syntax error resulting in
11217 Richard Laager's patch.
11218 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11219
11220 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11223 dependencies.
11224
11225 2012-03-10 Richard Laager <rlaager@wiktel.com>
11226
11227 * util/grub.d/10_linux.in: Fix ZFS root passing.
11228
11229 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11232 * grub-core/commands/xnu_uuid.c: Likewise.
11233 * grub-core/loader/efi/appleloader.c: Likewise.
11234 * grub-core/script/execute.c: Likewise.
11235 * grub-core/script/main.c: Likewise.
11236 * util/grub-mkfont.c: Likewise.
11237
11238 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * util/grub-mkfont.c (options): Use more appropriate "select" that
11241 "set" for face index.
11242
11243 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * util/grub-editenv.c (options): Gettextize command summaries.
11246
11247 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11250 "out of memory" error messagge.
11251
11252 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11255 of diskfilter for diskfilter on diskfilter support.
11256
11257 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11260
11261 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11264 themes/starfield.
11265
11266 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11269
11270 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11273
11274 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11277 of error message.
11278
11279 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11282
11283 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11286 message.
11287 * util/grub-install.in: Fix and gettextize error message.
11288
11289 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11292 Gettextize.
11293 * util/grub-mount.c (options): Likewise.
11294
11295 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11298 gettextize.
11299 * grub-core/commands/search_wrap.c (options): Likewise.
11300
11301 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11304
11305 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11308 size calculation.
11309 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11310 none is known.
11311
11312 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11315 "temporary" since it's used in identifier and is limited in space.
11316
11317 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * po/POTFILES.in: Regenerate. Include *.h since they contain
11320 translatable strings as well.
11321
11322 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11325 byte-swap on big-endian.
11326 Reported by: Lennart Sorensen
11327
11328 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11331 (allocate_pages): Improve dprintf.
11332 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11333 code32_start. Fill code32_start and kernel_alignment in params.
11334 (grub_cmd_initrd): Use prot_init_space.
11335
11336 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11339
11340 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 * util/grub-install.in: Add missing dot at the end of sentence.
11343
11344 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11347 * grub-core/commands/videotest.c: Likewise.
11348 * grub-core/loader/i386/linux.c: Likewise.
11349
11350 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11353 sentence.
11354 Reported by: Milo Casagrande.
11355
11356 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11359 * grub-core/commands/gptsync.c: Likewise.
11360 * grub-core/commands/hashsum.c: Likewise.
11361 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11362 * grub-core/commands/legacycfg.c: Likewise.
11363 * grub-core/io/gzio.c: Likewise.
11364 * grub-core/net/net.c: Likewise.
11365 * grub-core/term/gfxterm.c: Likewise.
11366 * grub-core/term/terminfo.c: Likewise.
11367 * grub-core/tests/test_blockarg.c: Likewise.
11368 * grub-core/video/video.c: Likewise.
11369 * util/grub-install.in: Likewise.
11370 * util/grub-mkfont.c: Likewise.
11371
11372 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11375
11376 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * grub-core/commands/search_wrap.c (options): Fix a typo.
11379 Reported by: David Prévot.
11380
11381 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11384 description.
11385
11386 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * util/grub-script-check.c (main): Fix a syntax error message which was
11389 unclear.
11390
11391 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11394
11395 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11398 messages.
11399
11400 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11403 without argument.
11404 * util/grub-mount.c (options): Likewise.
11405
11406 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11409
11410 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * grub-core/net/http.c: Add TRANSLATORS comments.
11413 * grub-core/normal/cmdline.c: Likewise.
11414 * grub-core/normal/misc.c: Likewise.
11415 * grub-core/partmap/msdos.c: Likewise.
11416 * grub-core/parttool/msdospart.c: Likewise.
11417 * grub-core/script/execute.c: Likewise.
11418 * grub-core/script/main.c: Likewise.
11419 * grub-core/term/terminfo.c: Likewise.
11420 * grub-core/video/bitmap.c: Likewise.
11421 * util/grub-install.in: Likewise.
11422 * util/grub-mkimage.c: Likewise.
11423 * util/grub-mklayout.c: Likewise.
11424 * util/grub-setup.c: Likewise.
11425
11426 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11429 with similar messages in grub-fstest.
11430
11431 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * util/grub-install.in: Unify "option requires an argument" message
11434 with similar messages in other files.
11435 * util/grub-mkconfig.in: Likewise.
11436
11437 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * util/grub-set-default.in: Replace printf with gettext_printf (the
11440 string in in question is already translated from grub-reboot)
11441
11442 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * configure.ac: Bump up the version to beta1.
11445
11446 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11449 case when min_align = 0.
11450
11451 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11454 and fix a case when line_start overflows.
11455
11456 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * util/grub-reboot.in (usage): Mention id posibility.
11459 * util/grub-set-default.in (usage): Likewise.
11460
11461 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11464 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11465 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11466 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11467 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11468 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11469 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11470
11471 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * grub-core/commands/menuentry.c (options): Remove
11474 GRUB_ARG_OPTION_REPEATABLE.
11475 Reported by: Andreas Vogel
11476
11477 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11478
11479 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11480
11481 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11482
11483 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11484 error.
11485
11486 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11487
11488 Use sort -V by the idea of Georgi Georgiev.
11489
11490 * util/grub-mkconfig_lib.in (version_sort): New function.
11491 (version_test_numeric): Use version_sort.
11492
11493 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 Use submenus in grub-mkconfig.
11496
11497 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11498 * util/grub-mkconfig_lib.in (grub_quote): New function.
11499 (gettext_printf): Use gettext and not gettext_quoted to fix several
11500 messages.
11501 * util/grub.d/10_hurd.in: Use submenus.
11502 * util/grub.d/10_kfreebsd.in: Likewise.
11503 * util/grub.d/10_linux.in: Likewise.
11504 * util/grub.d/10_netbsd.in: Likewise.
11505 * util/grub.d/20_linux_xen.in: Likewise.
11506 * util/grub.d/30_os-prober.in: Likewise.
11507 * util/grub.d/10_illumos.in: Add missing quoting.
11508 * util/grub.d/10_windows.in: Likewise.
11509
11510 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 Fix menu title instability bug.
11513
11514 * grub-core/commands/menuentry.c (options): New option --id.
11515 (grub_normal_add_menu_entry): New argument id. All users updated.
11516 (grub_cmd_menuentry): Handle --id.
11517 (grub_menu_init): Accept unknown arguments.
11518 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11519 feature_menuentry_options.
11520 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11521 saved_entry.
11522 (get_entry_number): Match with id as well.
11523 * include/grub/menu.h (grub_menu_entry): New member id.
11524 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11525 * util/grub.d/00_header.in: Define menuentry_id_option.
11526 * util/grub.d/10_hurd.in: Define id.
11527 * util/grub.d/10_illumos.in: Likewise.
11528 * util/grub.d/10_kfreebsd.in: Likewise.
11529 * util/grub.d/10_linux.in: Likewise.
11530 * util/grub.d/10_netbsd.in: Likewise.
11531 * util/grub.d/10_windows.in: Likewise.
11532 * util/grub.d/20_linux_xen.in: Likewise.
11533 * util/grub.d/30_os-prober.in: Likewise.
11534
11535 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11538 "scope" with "body".
11539
11540 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11543 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11544 prot_size and prot_file_size.
11545
11546 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11549 All users updated. If easily=1 require raid-5/-6 to be full.
11550 (is_node_readable): Likewise.
11551 (scan_devices): Scan incomplete but readable LVs at the end.
11552 (grub_diskfilter_memberlist): Pull missing devices.
11553 (insert_array): Skip scanning until device is complete or scan is
11554 done otherwise.
11555 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11556 check.
11557 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11558 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11559
11560 2012-03-03 Matthew Garrett <mjg@redhat.com>
11561 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 Avoid EFI boot services when loading Linux.
11564
11565 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11566 avoid_efi_bootservices. All users updated.
11567 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11568 argument avoid_efi_bootservices. All users updated.
11569 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11570 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11571 align, min_align, relocatable, prefered_address. All users updated.
11572 Allocate avoiding boot services if kernel is relocatable.
11573 (grub_cmd_linux): Check if kernel is relocatable.
11574 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11575 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11576 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11577 avoid_efi_boot_services.
11578 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11579 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11580 (linux_kernel_params): Likewise.
11581
11582 2012-03-03 Matthew Garrett <mjg@redhat.com>
11583 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 Use EDID on EFI.
11586
11587 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11588 datasize_out.
11589 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11590 modes. Set gop_handle.
11591 (grub_video_gop_get_edid): New function.
11592 (grub_gop_get_preferred_mode): Likewise.
11593 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11594 (grub_video_efi_gop_adapter): Set .get_edid.
11595 * include/grub/efi/edid.h: New file.
11596 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11597
11598 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * util/grub-install.in: Load efivars unconditionally.
11601
11602 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * po/Rules-piglatin: Change suffix from .po-update-en to
11605 .po-update-en-piglatin.
11606
11607 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 Add a pig farm.
11610
11611 * po/piglatin.sed: New file.
11612 * po/en@piglatin.header: Likewise.
11613 * po/Rules-piglatin: Likewise.
11614 * po/README: Add en@piglatin to autogenerated languages.
11615
11616 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11619 "Command for ...".
11620 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11621 "Check" since we don't check anything.
11622 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11623 is 64-bit one.
11624 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11625 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11626 (grub_md_sha512_real): Likewise.
11627
11628 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * grub-core/commands/gptsync.c: Fix typographic quoting.
11631 * grub-core/commands/ieee1275/suspend.c: Likewise.
11632 * grub-core/commands/parttool.c: Likewise.
11633 * grub-core/commands/search_wrap.c: Likewise.
11634 * grub-core/commands/videoinfo.c: Likewise.
11635 * grub-core/gfxmenu/gui_label.c: Likewise.
11636 * grub-core/hello/hello.c: Likewise.
11637 * grub-core/kern/emu/main.c: Likewise.
11638 * grub-core/net/net.c: Likewise.
11639 * grub-core/normal/menu.c: Likewise.
11640 * grub-core/normal/menu_text.c: Likewise.
11641 * grub-core/normal/misc.c: Likewise.
11642 * util/grub-editenv.c: Likewise.
11643 * util/grub-install.in: Likewise.
11644 * util/grub-kbdcomp.in: Likewise.
11645 * util/grub-mkconfig.in: Likewise.
11646 * util/grub-mknetdir.in: Likewise.
11647 * util/grub-mkrescue.in: Likewise.
11648 * util/grub-mkstandalone.in: Likewise.
11649 * util/grub-reboot.in: Likewise.
11650 * util/grub-set-default.in: Likewise.
11651 * util/grub-setup.c: Likewise.
11652 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11653
11654 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11657 * grub-core/commands/keystatus.c: Likewise.
11658 * grub-core/commands/loadenv.c: Likewise.
11659 * grub-core/commands/probe.c: Likewise.
11660 * grub-core/commands/regexp.c: Likewise.
11661 * grub-core/commands/true.c: Likewise.
11662 * grub-core/commands/videoinfo.c: Likewise.
11663 * grub-core/disk/cryptodisk.c: Likewise.
11664 * grub-core/disk/ldm.c: Likewise.
11665 * grub-core/disk/loopback.c: Likewise.
11666 * grub-core/disk/luks.c: Likewise.
11667 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11668 * grub-core/kern/disk.c: Likewise.
11669 * grub-core/kern/emu/hostdisk.c: Likewise.
11670
11671 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11674 * util/grub-install.in: Add missing quote in the comment.
11675
11676 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11679 * grub-core/commands/lsmmap.c: Likewise.
11680 * grub-core/commands/minicmd.c: Likewise.
11681 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11682 * grub-core/commands/regexp.c: Likewise.
11683 * grub-core/gdb/gdb.c: Likewise.
11684 * grub-core/term/gfxterm.c: Likewise.
11685 * util/grub-mkconfig.in: Likewise.
11686 * util/grub-mkfont.c: Likewise.
11687 * util/grub-mklayout.c: Likewise.
11688 * util/grub-mknetdir.in: Likewise.
11689 * util/grub-mkrescue.in: Likewise.
11690 * util/grub.d/30_os-prober.in: Likewise.
11691
11692 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11695 with "Direct color" and "Packed" with "Packed pixel".
11696 (grub_cmd_videoinfo): Simplify legend.
11697
11698 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11701 absolutely unclear error message.
11702
11703 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * util/grub-mkstandalone.in: Remove confusing leftover print.
11706
11707 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11710 comments.
11711 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11712 (GRUB_MOD_INIT): Likewise.
11713 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11714 VGA mode.
11715 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11716 comments.
11717 * util/grub-install.in (usage): Likewise.
11718 Spell ID in whole letters.
11719 Add missing ending dot.
11720 Quote variables.
11721 * util/grub-reboot.in: Fix capitalisation.
11722 * util/grub-set-default.in: Likewise.
11723
11724 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11727 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11728 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11729 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11730 Disable -Werror for -Wdeprecated-declarations.
11731 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11732 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11733 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11734 (grub_util_get_grub_dev): Make luks handling dependent on
11735 HAVE_DEVICE_MAPPER and not __linux__.
11736 (get_win32_path): Fix format security.
11737 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11738 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11739 Don't try grub_find_zpool_from_dir.
11740 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11741 #ifdef-out paresdir.
11742
11743 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 * util/grub-pe2elf.c (usage): Add missing noreturn.
11746 (write_section_data): Rename name to shname to avoid shadowing.
11747 (write_symbol_table): Rename name to symname to avoid shadowing.
11748 Fix write_reloc_section call.
11749
11750 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11753 to ensure that it's after the last byte of .text.
11754
11755 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * util/ieee1275/ofpath.c (my_isdigit): New function.
11758 (trailing_digits): Use my_isdigit.
11759 (strip_trailing_digits): Likewise.
11760
11761 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11764 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11765
11766 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11767
11768 * grub-core/kern/i386/pc/startup.S: Define __start.
11769
11770 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11771
11772 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11773 strip already transforms he format.
11774
11775 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11776
11777 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11778
11779 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * util/grub-install.in: Add missing gettext init.
11782 * util/grub-kbdcomp.in: Likewise.
11783 * util/grub-mkconfig.in: Likewise.
11784 * util/grub-mknetdir.in: Likewise.
11785 * util/grub-mkrescue.in: Likewise.
11786 * util/grub-mkstandalone.in: Likewise.
11787 * util/grub-reboot.in: Likewise.
11788 * util/grub-set-default.in: Likewise.
11789 * util/grub.d/00_header.in: Likewise.
11790 * util/grub.d/10_hurd.in: Likewise.
11791 * util/grub.d/10_windows.in: Likewise.
11792 * util/grub.d/30_os-prober.in: Likewise.
11793 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11794
11795 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * po/Rules-swiss: Fix header comment.
11798
11799 2012-02-29 Andreas Vogel <anvoit>
11800
11801 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11802 resulted in leak of arguments.
11803
11804 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11807 reed_solomon_size const definition instead of computing it since
11808 Apple assembler doesn't support the later.
11809
11810 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * gentpl.py (kernel): Rewrite Apple part.
11813
11814 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11817
11818 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11821 ELF section gap.
11822 (load_image): Likewise.
11823
11824 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11825
11826 * configure.ac: Fix a typo in previous commit.
11827
11828 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 Don't add -Wl,-N on Apple platform.
11831
11832 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11833 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11834
11835 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11836
11837 * grub-core/Makefile.core.def (lzma_decompress): Use
11838 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11839
11840 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11841
11842 * grub-core/genmod.sh.in: Rewrite the Apple part.
11843
11844 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11847 comparison.
11848
11849 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11850
11851 * acinclude.m4 (grub_CHECK_PIC): New test.
11852 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11853
11854 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11857 to avoid the warning.
11858
11859 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11860
11861 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11862 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11863 after. All users updated.
11864
11865 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 Use the common size routine in hostfs so we can read disks as well.
11868
11869 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11870 (grub_util_get_fd_size): ... this. Return size in bytes.
11871 All users updated.
11872 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11873 grub_util_get_fd_size.
11874
11875 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11878 Add blocksize retrieval.
11879
11880 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * configure.ac: Restore CFLAGS after efiemu check.
11883
11884 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11887 Apple bug.
11888
11889 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11892
11893 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11896 (grub_cmd_halt): Likewise.
11897
11898 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11901 for local arithmetics.
11902 Break %sp init into 2 instructions.
11903 Add 0 byte at the end.
11904
11905 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11908 before loops.
11909
11910 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11913 for context.
11914
11915 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/disk/ldm.c (make_vg): Init part.name.
11918 (grub_ldm_detect): Silence spurious warning.
11919 (grub_util_is_ldm): Likewise.
11920
11921 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11924 sane value to avoid a spurious warning.
11925
11926 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11929 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11930
11931 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11934 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11935
11936 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11939 hardcoding the relevant info.
11940
11941 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11944 missing const qualifiers.
11945 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11946
11947 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * util/getroot.c [__APPLE__]: Add missing includes.
11950 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11951
11952 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11955
11956 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11957
11958 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11959 avoid conflicts.
11960
11961 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11964
11965 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11968 and grub_file_close call.
11969
11970 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 Add LZSS Mach-O support (needed for new xnu kernelcache).
11973
11974 * grub-core/Makefile.core.def (xnu): Add file lzss.c
11975 * grub-core/loader/lzss.c: New file.
11976 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
11977 on Mach-O open failure.
11978 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
11979 Don't free cmdsXX in uncompressedXX is set.
11980 (grub_macho_file): Init new fields.
11981 New argument is_64bit. All users updated.
11982 Handle compressed. Error out if no suitable architecture is found.
11983 Don't close file.
11984 (grub_macho_open): New argument is_64bit. All users updated.
11985 * grub-core/loader/macho32.c: Add defines for new fields.
11986 * grub-core/loader/macho64.c: Likewise.
11987 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
11988 (grub_macho_parse): Handle compressed.
11989 Defer actual processing if compressed.
11990 (grub_macho_cmds_iterate): Decompress if compressed. New argument
11991 "filename". All users updated.
11992 (grub_macho_size): New argument "filename". All users updated.
11993 (grub_macho_get_entry_point): Likewise.
11994 (grub_macho_load): Handle compressed.
11995 * include/grub/macho.h (grub_macho_lzss_header): New struct.
11996 (GRUB_MACHO_LZSS_OFFSET): New define.
11997 (grub_decompress_lzss): New proto.
11998 * include/grub/machoload.h (grub_macho_file): New fields to handle
11999 compressed.
12000 (grub_macho_contains_macho64): Remove proto.
12001 (grub_macho_contains_macho32): Likewise.
12002 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12003
12004 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12007
12008 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 Fix make dist.
12011
12012 * Makefile.am (starfield_theme_files): New var.
12013 (starfield_DATA): Use starfield_theme_files.
12014 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12015 Add bootcheck-related files.
12016 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12017 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12018 and font_char_metrics.txt.
12019 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12020 (setjmp): Add lib/ia64/longjmp.S.
12021 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12022 * po/POTFILES.in: Regenerate.
12023 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12024 DISTFILES.common.extra1.
12025 * util/devicemap.c: Removed.
12026 * grub-core/lib/i386/relocator_backward.S: Likewise.
12027 * util/import_gcry.py: Remove unused files. Add extra_dist for
12028 ChangeLog.
12029
12030 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12033 grub_gettext_delete_list before changing grub_gettext_max to avoid
12034 running out of array bounds.
12035
12036 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12039 grub_vga_text_init/grub_vga_text_fini.
12040
12041 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12044
12045 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * configure.ac: Bump to 2.00~beta0.
12048
12049 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12052 missing initialisation.
12053
12054 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12057
12058 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 Support v2 xnu boot arguments.
12061
12062 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12063 New argument fsbfreq_out.
12064 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12065 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12066 be used.
12067 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12068 darwin_version.
12069 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12070 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12071 (grub_xnu_boot_params): Rename to ...
12072 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12073 (grub_xnu_boot_params_v2): New struct.
12074
12075 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12078 zeroing of CRC field before computing CRC.
12079
12080 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12083 Change order of allocations to decrease fragmentation.
12084
12085 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12088
12089 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12090
12091 Use write-combining MTRR to speed up video with buggy BIOSes.
12092
12093 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12094 (cpuid): New define.
12095 (rdmsr): Likewise.
12096 (wrmsr): Likewise.
12097 (mtrr_base): Likewise.
12098 (mtrr_mask): Likewise.
12099 (grub_vbe_enable_mtrr_entry): New function.
12100 (grub_vbe_enable_mtrr): Likewise.
12101 (grub_vbe_disable_mtrr): Likewise.
12102 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12103 control off to BIOS.
12104 (grub_video_vbe_init): Fill mtrr.
12105 (grub_video_vbe_fini): Disable mtrr.
12106 (grub_video_vbe_get_info_and_fini): Likewise.
12107 (grub_video_vbe_setup): Enable mtrr.
12108
12109 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12110
12111 * include/grub/partition.h (grub_partition_map): Change prototype of
12112 embed to take a maximum value for nsectors.
12113 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12114 * include/grub/fs.h (grub_fs): Likewise.
12115 * grub-core/partmap/msdos.c (embed_signatures): New array.
12116 (pc_partition_map_embed): Check for and avoid sectors matching any
12117 of the signatures in embed_signatures, up to max_nsectors.
12118 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12119 returned sector map to max_nsectors.
12120 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12121 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12122 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12123 * util/grub-setup.c (setup): Allow for the embedding area being
12124 split into multiple blocklists. Tell dest_partmap->embed the
12125 maximum number of sectors we care about.
12126
12127 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12130 Specify blocklist_install and reserver_first_sector for all fs.
12131 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12132 blocklists.
12133
12134 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * util/grub-install.in: Clarify strings.
12137 Fix source dir check.
12138
12139 2012-02-27 Richard Laager <rlaager@wiktel.com>
12140
12141 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12142 "zfs" and "fuse.zfs" as synonyms.
12143
12144 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * configure.ac: Put platform and target_cpu substitutions back since
12147 they are used for directories.
12148
12149 2012-02-27 Richard Laager <rlaager@wiktel.com>
12150 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12153 * util/grub.d/20_linux_xen.in: Likewise.
12154
12155 2012-02-27 Richard Laager <rlaager@wiktel.com>
12156
12157 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12158 with full paths.
12159
12160 2012-02-27 Richard Laager <rlaager@wiktel.com>
12161
12162 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12163 unescape.
12164
12165 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 Don't use insecure popen in getroot.
12168
12169 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12170 (exec_pipe): ... here.
12171 (find_root_devices_from_poolname): Use exec_pipe.
12172
12173 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 Remove platform and target_cpu replacement.
12176
12177 * configure.ac: Remove platform and target_cpu substitutions.
12178 * tests/util/grub-shell.in: Use modinfo.
12179 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12180 explicitly.
12181
12182 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 Autodetect platform in grub-install but allow override.
12185
12186 * util/grub-install.in: Autodetect platform. Support --target and
12187 --directory. Read platform from modinfo.sh.
12188
12189 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 Support btrfs multi-volume probe.
12192
12193 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12194 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12195 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12196 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12197 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12198 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12199 grub_find_root_devices_from_btrfs if on btrfs.
12200
12201 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 Remove any awareness of *.c util files about target.
12204
12205 * Makefile.util.def (grub-setup): Split to ...
12206 (grub-bios-setup): ... and this.
12207 (grub-sparc64-setup): ... and this.
12208 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12209 * docs/man/grub-setup.h2m: Split into ...
12210 * docs/man/grub-sparc64-setup.h2m: ... this.
12211 * docs/man/grub-bios-setup.h2m: ... and this.
12212 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12213 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12214 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12215 (grub_target_addr_t): Remove.
12216 (grub_target_size_t): Remove.
12217 (grub_target_ssize_t): Remove.
12218 * util/grub-install.in: Use new grub-*-setup.
12219 * util/grub-mkimagexx.c (Elf_Word): New define.
12220 (Elf_Half): Likewise.
12221 (Elf_Section): Likewise.
12222 (ELF_ST_TYPE): Likewise.
12223 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12224 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12225
12226 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 Replace grub_target_addr with more appropriate types.
12229
12230 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12231 grub_target_addr with grub_addr.
12232 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12233 grub_target_addr with grub_port.
12234 (grub_cmd_write): Likewise.
12235 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12236 grub_target_addr with grub_addr.
12237 (grub_cmd_write): Likewise.
12238 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12239
12240 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12243 const qualifier for vendor_guid.
12244
12245 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12248 const qualifier.
12249 (efiemu_memequal): Likewise.
12250 (find_variable): Likewise.
12251
12252 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Fix missing console prototype on qemu-mips.
12255
12256 * include/grub/mips/qemu_mips/console.h: New file.
12257
12258 2012-02-27 Matthew Garrett <mjg@redhat.com>
12259 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12262 * include/grub/efi/efi.h: Likewise.
12263 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12264 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12265 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12266 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12267 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12268 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12269
12270 2012-02-27 Matthew Garrett <mjg@redhat.com>
12271
12272 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12273
12274 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12277 error.
12278
12279 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * configure.ac: Remove inappropriate use of program_transform_name
12282 on grubdir and bootdir but allow explicit specification of those
12283 variables.
12284
12285 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * util/grub-mknetdir.in (grub_prefix): Removed.
12288 (subdir): Use @bootdirname@ and @grubdirname@.
12289
12290 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12293
12294 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 * po/POTFILES.in: Regenerated.
12297
12298 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 Remove improper use of program_transform_name on pkglibrootdir.
12301
12302 * configure.ac (pkglibrootdir): Removed.
12303 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12304 * util/grub-mkimage.c: Likewise.
12305
12306 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12309 warning.
12310
12311 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * util/grub-install.in: Use file identifier if no UUID is available
12314 or user explicitly prompted for it.
12315
12316 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
12317
12318 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12319 (freebsd_get_zfs): New function.
12320 (grub_freebsd_boot): Pass zfs UUID.
12321 (grub_cmd_freebsd): Set zfs UUID.
12322
12323 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12326 pkglibrootdir.
12327
12328 2012-02-27 Mike Gilbert <floppym@gentoo.org>
12329
12330 Add configure flag to control libzfs integration.
12331
12332 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12333
12334 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12335
12336 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12337 device.
12338 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12339 small devices.
12340
12341 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12344 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12345 be used on non-modules.
12346
12347 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12348 Rename to grub_boot_init.
12349 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12350 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12351 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12352 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12353 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12354 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12355 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12356 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12357 includes.
12358 (grub_machine_init): Remove empty inits.
12359 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12360 includes.
12361 (grub_machine_init): Remove empty inits.
12362 * grub-core/term/arc/console.c: Remove explicit proto.
12363 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12364 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12365 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12366 grub_at_keyboard_fini.
12367 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12368 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12369 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12370 grub_gfxterm_fini.
12371 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12372 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12373 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12374 grub_vgatext_fini.
12375 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12376 * grub-core/term/serial.c (GRUB_MOD_INIT)
12377 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12378 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12379 grub_serial_fini.
12380 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12381 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12382 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12383 grub_terminfo_fini.
12384 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12385 (GRUB_MOD_FINI): Likewise.
12386 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12387 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12388 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12389 grub_video_radeon_fuloong2e_fini.
12390 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12391 [LOONGSON]: Rename to grub_video_sis315pro_init.
12392 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12393 grub_video_sis315pro_fini.
12394 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12395 [LOONGSON]: Rename to grub_video_sm712_init.
12396 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12397 grub_video_sm712_fini.
12398 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12399 (grub_at_keyboard_fini): Likewise.
12400 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12401 Don't declare grub_{modname}_init.
12402 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12403 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12404 New proto.
12405 (grub_keylayouts_fini) [!EMU]: Likewise.
12406 * include/grub/serial.h (grub_serial_init) [!EMU]:
12407 New proto.
12408 (grub_serial_fini) [!EMU]: Likewise.
12409 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12410 New proto.
12411 (grub_terminfo_fini) [!EMU]: Likewise.
12412 * include/grub/video.h (grub_font_init) [!EMU]:
12413 New proto.
12414 (grub_font_fini) [!EMU]: Likewise.
12415 (grub_gfxterm_init) [!EMU]: Likewise.
12416 (grub_gfxterm_fini) [!EMU]: Likewise.
12417 (grub_video_sm712_init) [!EMU]: Likewise.
12418 (grub_video_sm712_fini) [!EMU]: Likewise.
12419 (grub_video_sis315pro_init) [!EMU]: Likewise.
12420 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12421 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12422 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12423
12424 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 Make nand a prefix for nand devices.
12427
12428 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12429
12430 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12433 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12434
12435 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * include/grub/env.h (grub_env_find): Remove prototype.
12438 * grub-core/kern/env.c (grub_env_find): Make static.
12439 (grub_env_set): Remove useless set.
12440
12441 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12442
12443 * grub-core/kern/i386/realmode.S: Remove useless align.
12444
12445 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12446
12447 * include/grub/dl.h (grub_dl_load_file): Don't export.
12448
12449 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12452 grub_dprintf.
12453
12454 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12457 grub_errors.
12458 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12459 not reloading whole superblock but only the part which is really needed.
12460 Remove useless grub_errors.
12461 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12462 grub_errors.
12463
12464 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 Don't export grub_get_rtc.
12467
12468 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12469 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12470
12471 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12474
12475 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
12478 argument since it can be deduced from diskfilter. All users updated.
12479
12480 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 Remove prio_list.
12483
12484 * include/grub/list.h (grub_prio_list): Removed.
12485 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12486 GRUB_COMMAND_PRIO_MASK.
12487 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12488 GRUB_COMMAND_FLAG_ACTIVE.
12489 (grub_prio_list_insert): Removed.
12490 (grub_prio_list_remove): Likewise.
12491 (GRUB_AS_PRIO_LIST): Likewise.
12492 (GRUB_AS_PRIO_LIST_P): Likewise.
12493 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12494 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12495 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12496 * grub-core/kern/command.c (grub_register_command_prio): Inline
12497 the prio_list code.
12498 (grub_unregister_command): Likewise.
12499
12500 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12501
12502 Fix interrupt mixup from previous commit.
12503
12504 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12505 (grub_realidt): New var.
12506 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12507 Load idt.
12508 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12509 New declaration.
12510 (grub_relocator16_boot): Set grub_relocator16_idt.
12511 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12512 (LOCAL(realidt)): ... this.
12513 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12514 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12515 (grub_realidt): New variable.
12516
12517 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12520 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12521 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12522 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12523 Gettextize.
12524 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12525 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12526 * po/POTFILES.in: Regenerate.
12527
12528 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12529
12530 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12531 errors.
12532
12533 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12534
12535 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12536 \0.
12537 (add_length): Likewise.
12538
12539 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12540 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12541
12542 GDB serial and backtrace support.
12543
12544 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12545 (prot_to_real): Likewise.
12546 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12547 * grub-core/Makefile.core.def (backtrace): New module.
12548 (gdb): Likewise.
12549 * grub-core/gdb/cstub.c: New file.
12550 * grub-core/gdb/gdb.c: Likewise.
12551 * grub-core/gdb/i386/idt.c: Likewise.
12552 * grub-core/gdb/i386/machdep.S: Likewise.
12553 * grub-core/gdb/i386/signal.c: Likewise.
12554 * grub-core/lib/i386/backtrace.c: Likewise.
12555 * grub-core/lib/backtrace.c: Likewise.
12556 * include/grub/backtrace.h: Likewise.
12557 * include/grub/gdb.h: Likewise.
12558 * include/grub/i386/gdb.h: Likewise.
12559
12560 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12563 New function.
12564 (add_length): Likewise.
12565 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12566 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12567 proto.
12568 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12569 __argp_get_display_len.
12570
12571 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 $"..." support in scripts.
12574
12575 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12576 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12577 * grub-core/script/yylex.l: Likewise.
12578 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12579 value.
12580
12581 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 * gentpl.py: Remove obsolete pkglib_DATA handling.
12584
12585 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12588 mailing list.
12589
12590 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12591 * util/grub-kbdcomp.in: Likewise.
12592 * util/grub-mkconfig.in: Likewise.
12593 * util/grub-mkconfig_lib.in: Likewise.
12594 * util/grub-mknetdir.in: Likewise.
12595 * util/grub-mkrescue.in: Likewise.
12596 * util/grub-mkstandalone.in: Likewise.
12597 * util/grub-reboot.in: Likewise.
12598 * util/grub-set-default.in: Likewise.
12599 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12600
12601 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 Remove GRUB_PREFIX.
12604
12605 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12606 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12607 used for backward compatibility.
12608
12609 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 Add new all_video module.
12612
12613 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12614 * grub-core/Makefile.core.def (all_video): New module.
12615 * grub-core/genmoddep.awk: Generate dependency of all_video from
12616 video.lst.
12617 * grub-core/lib/fake_module.c: New file.
12618 * grub-core/normal/main.c (features): Add feature_all_video_module.
12619 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12620 don't do explicit search again.
12621 insmod all_video in load_video if available.
12622
12623 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 Another round of string clarification and adding TRANSLATORS comments.
12626
12627 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12630
12631 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12634 to grub_ssize_t.
12635 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12636 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12637
12638 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12641 trailing newline implicitly. All users updated.
12642
12643 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 Implement serial on IEEE1275 and EFI.
12646
12647 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12648 on emu. Mention arc and emu as the only platforms without serial
12649 support.
12650 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12651 ieee1275 platforms.
12652 * grub-core/term/efi/serial.c: New file.
12653 * grub-core/term/ieee1275/serial.c: Likewise.
12654 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12655 specification if no ns8250 driver is available.
12656 (grub_cmd_serial): Likewise.
12657 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12658 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12659 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12660 (grub_efi_parity_type_t): New type.
12661 (grub_efi_stop_bits_t): Likewise.
12662 (grub_efi_serial_io_interface): New struct.
12663 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12664 available for all interfaces.
12665 Add EFI and IEEE1275 fields.
12666 (grub_ofserial_init): New proto.
12667 (grub_efiserial_init): Likeiwse.
12668 * util/grub.d/00_header.in: Don't check for the presence of serial
12669 module.
12670
12671 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12674 name as if it was an alias.
12675
12676 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * grub-core/commands/lsacpi.c (options): Fix typo.
12679
12680 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 Convert grub-emu to argp.
12683
12684 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12685 emu.
12686 * util/argp_common.c: Rename to ...
12687 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12688 Add missing includes.
12689 * grub-core/kern/emu/main.c: Convert to argp.
12690 * po/POTFILES.in: Regenerate.
12691 * util/grub-install.in (usage): Make first letter lowcase in messages
12692 for uniformity.
12693 * util/grub-setup.c (options): Likewise.
12694
12695 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12698 Put back accidently commented-out code.
12699
12700 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12703 loop check using Brent algorithm.
12704 (grub_hfsplus_btree_search): Likewise.
12705
12706 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * util/grub-install.in: Fix usage of wrong device for PreP install.
12709
12710 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * conf/Makefile.common (CFLAGS_GNULIB): Add
12713 -Wno-unsafe-loop-optimizations.
12714 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12715 on tools.
12716 * grub-core/commands/legacycfg.c: Add pragma to skip
12717 -Wunsafe-loop-optimizations.
12718 (check_password_md5_real): Fix loop counter type.
12719 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12720 reading.
12721 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12722 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12723 loop condition.
12724 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12725 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12726 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12727 condition.
12728 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12729 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12730 avoid possible infinite loops.
12731 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12732 and -Wunsafe-loop-optimizations.
12733 * grub-core/script/yylex.l: Likewise.
12734 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12735 (print_glyphs): Avoid infinite loops.
12736 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12737
12738 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12739
12740 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12741 to avoid infinite loop.
12742 (disp_acpi_rsdt_table): Likewise.
12743
12744 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * grub-core/font/font.c (grub_font_load): Add support for default
12747 path for fonts ($prefix/fonts).
12748 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12749 for checking if string is a path.
12750 * grub-core/normal/main.c (features): Add feature_default_font_path.
12751 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12752 * util/grub.d/00_header.in: Use default directory if possible.
12753 * util/grub-install.in: Install unicode.pf2.
12754
12755 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12758 * po/Rules-swiss: New file.
12759 * po/swiss.sed: Likewise.
12760
12761 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * grub-core/fs/btrfs.c (find_device): Fix typos.
12764 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12765 * util/grub-mkrelpath.c (argp_parser): Likewise.
12766 Reported by: Yuri Chornoivan.
12767
12768 2012-02-23 Dalet Omega <daletomega@gmail.com>
12769
12770 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12771 for usual informative messages.
12772
12773 2012-02-23 Dalet Omega <daletomega@gmail.com>
12774
12775 Starfield theme.
12776
12777 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12778 * conf/Makefile.common: Define starfielddir.
12779 * configure.ac: Configure starfield.
12780 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12781 * themes/starfield/README: Likewise.
12782 * themes/starfield/blob_w.png: Likewise.
12783 * themes/starfield/boot_menu_c.png: Likewise.
12784 * themes/starfield/boot_menu_e.png: Likewise.
12785 * themes/starfield/boot_menu_n.png: Likewise.
12786 * themes/starfield/boot_menu_ne.png: Likewise.
12787 * themes/starfield/boot_menu_nw.png: Likewise.
12788 * themes/starfield/boot_menu_s.png: Likewise.
12789 * themes/starfield/boot_menu_se.png: Likewise.
12790 * themes/starfield/boot_menu_sw.png: Likewise.
12791 * themes/starfield/boot_menu_w.png: Likewise.
12792 * themes/starfield/slider_c.png: Likewise.
12793 * themes/starfield/slider_n.png: Likewise.
12794 * themes/starfield/slider_s.png: Likewise.
12795 * themes/starfield/src/blob_nw.xcf: Likewise.
12796 * themes/starfield/src/bootmenu/: Likewise.
12797 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12798 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12799 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12800 * themes/starfield/src/slider_c.xcf: Likewise.
12801 * themes/starfield/src/slider_n.xcf: Likewise.
12802 * themes/starfield/src/slider_s.xcf: Likewise.
12803 * themes/starfield/src/terminalbox/: Likewise.
12804 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12805 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12806 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12807 * themes/starfield/starfield.png: Likewise.
12808 * themes/starfield/terminal_box_c.png: Likewise.
12809 * themes/starfield/terminal_box_e.png: Likewise.
12810 * themes/starfield/terminal_box_n.png: Likewise.
12811 * themes/starfield/terminal_box_ne.png: Likewise.
12812 * themes/starfield/terminal_box_nw.png: Likewise.
12813 * themes/starfield/terminal_box_s.png: Likewise.
12814 * themes/starfield/terminal_box_se.png: Likewise.
12815 * themes/starfield/terminal_box_sw.png: Likewise.
12816 * themes/starfield/terminal_box_w.png: Likewise.
12817 * themes/starfield/theme.txt: Likewise.
12818
12819 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * util/grub.d/00_header.in: Add missing export theme.
12822
12823 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12826 already included.
12827 Reported by: Eren D.
12828
12829 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * conf/Makefile.common (grubdatadir): Removed.
12832 (Makefile.am): Move eveything grubdata to pkgdata.
12833
12834 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/commands/acpihalt.c (get_sleep_type):
12837 Remove unused variable.
12838
12839 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12842 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12843 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12844 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12845 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12846 i18n with gettext no-op.
12847 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12848 GRUB_ACPI_OPCODE_STRING_CONST.
12849 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12850 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12851
12852 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * po/POTFILES.in: Regenerate.
12855
12856 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12859 -Wno-error=missing-noreturn.
12860
12861 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12864 condition to avoid possibly infinite loops.
12865 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12866 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12867
12868 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12871 condition to avoid possibly infinite loops.
12872
12873 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12876 on show_error.
12877
12878 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12881
12882 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12885
12886 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * util/bin2h.c (usage): Add missing attribute noreturn.
12889
12890 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12893 if the size isn't divisible by 512.
12894
12895 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 Make list_push and list_remove functions rather than inline functions
12898 to decrease size and avoid aliasing violations.
12899
12900 * include/grub/list.h (grub_list_push): Move to ...
12901 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12902 * include/grub/list.h (grub_list_remove): Move to ...
12903 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12904
12905 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12908 and -Wunused-result.
12909
12910 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12913 Reported by: Seth Goldberg
12914
12915 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12918
12919 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12920
12921 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12922 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12923 command line.
12924 * docs/grub.texi (Simple configuration): Document
12925 GRUB_CMDLINE_GNUMACH.
12926
12927 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * conf/Makefile.common (platform_SCRIPTS): New variable.
12930 (platform_PROGRAMS): Likewise.
12931 * gentpl.py: Mark *,module and *.image for install.
12932 * grub-core/gdb_grub.in: Add a notice of expected environment.
12933 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12934 (gmodule.pl): Likewise.
12935
12936 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 Replace grub_checkkey with grub_getkey_noblock.
12939
12940 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12941 (grub_getkey_noblock): ... this. All users updated.
12942
12943 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 * grub-core/kern/emu/console.c: Move to ...
12946 * grub-core/term/emu/console.c: ...here.
12947 (grub_ncurses_getkey): Fix return value if no key is detected.
12948
12949 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12952 (grub_unit_test_fini): Likewise.
12953 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12954
12955 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12956
12957 * include/grub/test.h (GRUB_UNIT_TEST)
12958
12959 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12962 Better error handling.
12963 (grub_script_return): Likewise.
12964 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12965
12966 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12969 rimplicit redifinition.
12970
12971 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
12974 GRUB.
12975
12976 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12977
12978 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
12979 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
12980 prompt here.
12981
12982 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
12985 as GRUB_ERR_BUG. Don't malloc if no device is available.
12986
12987 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
12990 Mark calling with invalid term as GRUB_ERR_BUG.
12991
12992 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
12995 packets rather than raising an error.
12996
12997 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13000 in if.
13001
13002 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13005 diagnostic to dprintf.
13006 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13007
13008 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13011 device name.
13012
13013 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13016 (grub_ntfs_iterate_dir): Likewise.
13017
13018 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 Efiemu stylistic fixes and gettext.
13021
13022 * grub-core/efiemu/i386/loadcore32.c
13023 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13024 * grub-core/efiemu/i386/loadcore64.c
13025 (grub_arch_efiemu_relocate_symbols64): Likewise.
13026 * grub-core/efiemu/i386/pc/cfgtables.c
13027 (grub_machine_efiemu_init_tables): Likewise.
13028 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13029 (grub_efiemu_loadcore_initXX): Add a filename argument.
13030 All users updated.
13031 Improved error message.
13032 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13033 Add a filename argument.
13034 All users updated.
13035 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13036 Reclassify double relocation as GRUB_ERR_BUG.
13037
13038 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13041 handling.
13042
13043 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13046 on partition.
13047
13048 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13051
13052 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 Improve string. Gettextize.
13055
13056 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13059 utils.
13060 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13061
13062 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13065 [GRUB_UTIL]: New function.
13066 (insert_array) [GRUB_UTIL]: Store partmaps.
13067 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13068 partmaps.
13069 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13070 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13071 (probe_abstraction): Print diskfilter and not raid.
13072 Reported by: Lennart Sorensen
13073
13074 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13075
13076 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13077 * util/grub-mkimagexx.c (MASK3): New define.
13078 (add_value_to_slot_20b): Use MASK3.
13079 (add_value_to_slot_21): Likewise.
13080 (relocate_addresses): Fix format specification.
13081 (load_image): Explicitly init symtab_section.
13082
13083 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13086 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13087
13088 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13091 on powerpc.
13092 Reported by: Lennart Sorensen
13093
13094 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * gentpl.py: Add missing license header.
13097 * docs/grub.texi: Update copyright year.
13098
13099 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13100
13101 Source grub-mkconfig_lib from the build directory at build time.
13102 Suggested by: Vladimir Serbinenko.
13103
13104 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13105 * util/grub-install.in: Define pkgdatadir if not already set, and source
13106 grub-mkconfig_lib from there.
13107 * util/grub-kbdcomp.in: Likewise.
13108 * util/grub-mkconfig.in: Likewise.
13109 * util/grub-mknetdir.in: Likewise.
13110 * util/grub-mkrescue.in: Likewise.
13111 * util/grub-mkstandalone.in: Likewise.
13112 * util/grub-reboot.in: Likewise.
13113 * util/grub-set-default.in: Likewise.
13114 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13115
13116 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13117
13118 Increase warning level.
13119
13120 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13121 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13122 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13123 (TARGET_CFLAGS): Likewise.
13124 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13125 * grub-core/Makefile.core.def (decompressor_xz): Add
13126 -Wno-unreachable-code.
13127 (normal): Add -Wno-redundant-decls.
13128 (xzio): Add -Wno-unreachable-code.
13129 (lzopio): Add -Wno-redundant-decls -Wno-error.
13130 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13131 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13132 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13133 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13134 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13135 * grub-core/kern/i386/coreboot/init.c: Add exception to
13136 -Wsuggest-attribute=noreturn.
13137 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13138 * grub-core/kern/ia64/dl_helper.c: Likewise.
13139 * grub-core/kern/mips/dl.c: Likewise.
13140 * grub-core/kern/sparc64/dl.c: Likewise.
13141 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13142 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13143 (memcmp): Likewise.
13144 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13145 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13146 * grub-core/loader/mips/linux.c: Likewise.
13147 * grub-core/loader/multiboot_elfxx.c: Likewise.
13148 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13149 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13150 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13151 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13152 fixme.
13153 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13154 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13155 Fix prototype.
13156
13157 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13160 address.
13161
13162 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13165 Avoid improper use of strings.
13166 (grub_cmd_legacy_initrdnounzip): Likewise.
13167
13168 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13171 attribute.
13172 (grub_util_info): Likewise.
13173 (grub_util_error): Likewise.
13174
13175 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13178 * util/grub-fstest.c (fstest): Likewise.
13179
13180 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13183 (grub_md_sha512_real): Likewise.
13184 (grub_util_get_geli_uuid): Likewise.
13185 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13186 (grub_util_biosdisk_open): Fix format specification.
13187 Respect format security.
13188 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13189 (xrealloc): Likewise.
13190 (xasprintf): Likewise.
13191
13192 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * util/import_gcry.py: Include grub/crypto.h in init.c.
13195
13196 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13199 (generate_image): Make prefix a const char *.
13200 Fix format specifications. Respect format security.
13201 Avoid void * arithmetics.
13202 Avoid shadowing.
13203 (argp_parser): Remove unused variable. Respect format security.
13204 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13205 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13206 (count_funcs): Remove unused variable.
13207 (relocate_addresses): Fix format specification.
13208 Disable x86-64 with elf32. Remove unused variables.
13209 (add_fixup_entry): Avoid shadowing.
13210 (make_reloc_section): Fix format specification.
13211 Use assert.
13212 (locate_sections): Fix format specifications.
13213 (load_image): Avoid shadowing.
13214
13215 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13216
13217 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13218 Fix format specifications. Respect format security.
13219 Don't translate already translated grub_errmsg.
13220 (argp_parser): Remove unused variable
13221
13222 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13225
13226 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13229 (main): Likewise. Use xmalloc. Respect format security.
13230
13231 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13234 a const char *.
13235 (argp_parser): Remove unused variable.
13236
13237 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13240 (add_pixel): Make static.
13241 (add_font): Likewise.
13242 (write_string_section): Make name and str a const char *.
13243 (write_be16_section): Make name a const char *.
13244 (print_glyphs): Make static.
13245 (write_font_ascii_bitmap): Likewise.
13246 (write_font_width_spec): Likewise.
13247 (write_font_pf2): Likewise.
13248 (argp_parser): Remove unused variable.
13249 Respect format security.
13250 (main): Avoid shadowing. Respect format security.
13251
13252 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * util/grub-editenv.c (argp_parser): Make static.
13255 (create_envblk_file): Use xmalloc.
13256 (open_envblk_file): Likewise.
13257 Resepect format security.
13258 (set_variables): Respect format security.
13259
13260 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * util/getroot.c (grub_find_device): Respect format security.
13263 (get_mdadm_uuid): Remove unused variable.
13264 (grub_util_pull_device): Dont call gettext on already translated
13265 grub_errmsg.
13266 (find_system_device): Remove unused variable.
13267 (grub_util_get_grub_dev): Likewise.
13268 (grub_make_system_path_relative_to_its_root): Respect format security.
13269
13270 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * util/grub-fstest.c (execute_command): Make first argument
13273 a const char *.
13274 (read_file): Avoid shadowing.
13275 Reuse underlying error message if device open fails.
13276 (cmd_cmp): Respect format security.
13277 (root): Make const char *.
13278 (fstest): Remove args argument and use global copy.
13279 Respect format security.
13280 (argp_parser): Make static.
13281 (main): Make default_root const char *.
13282
13283 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 * util/grub-mount.c (root): Make const char *.
13286 (execute_command): Make first argument a const char *.
13287 (fuse_init): Respect format security.
13288 (argp_parser): Make static. Remove unused variable.
13289 (main): Make default_root a const char *.
13290 Respect format security.
13291
13292 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * util/grub-probe.c (probe): Don't call gettext on already translated
13295 grub_errmsg.
13296 Remove unused variables.
13297 (argp_parser): Remove unused variable.
13298
13299 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * util/grub-script-check.c (argp_parser): Remove unused variable.
13302 (main): Rename read to curread to avoid shadowing.
13303
13304 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 * util/misc.c (grub_util_write_image_at): Fix format specification.
13307 (grub_util_write_image): Likewise.
13308 (grub_script_execute_argument_to_string): Removed (unused).
13309 (grub_script_execute_menuentry): Likewise.
13310 (grub_putchar): Likewise.
13311
13312 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13315 (FUNCTION) [GRUB_UTIL]: Likewise.
13316 (VARIABLE) [GRUB_UTIL]: Likewise.
13317
13318 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13321 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13322
13323 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13326 buffer.
13327
13328 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13331 (LzmaEnc_SaveState): Removed (unused).
13332 (LzmaEnc_RestoreState): Likewise.
13333 (LzmaEnc_InitPriceTables): Made static.
13334 (LzmaEnc_Construct): Likewise.
13335 (LzmaEnc_FreeLits): Likewise.
13336 (LzmaEnc_Destruct): Likewise.
13337 (LzmaEnc_Init): Likewise.
13338 (LzmaEnc_InitPrices): Likewise.
13339 (LzmaEnc_Finish): Likewise.
13340 (LzmaEnc_PrepareForLzma2): Removed (unused).
13341 (LzmaEnc_MemPrepare): Likewise.
13342 (LzmaEnc_GetNumAvailableBytes): Likewise.
13343 (LzmaEnc_GetCurBuf): Likewise.
13344 (LzmaEnc_CodeOneMemBlock): Likewise.
13345
13346 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13349 (grub_util_ldm_embed): Likewise.
13350
13351 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * util/grub-editenv.c (print_var): Rename name to varname to
13354 avoid shadowing.
13355 (main): Rename index to curindex to avoid shadowing.
13356 Make filename a const char *.
13357
13358 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13361 to arg_getline to avoid shadowing.
13362
13363 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13364
13365 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13366 disk_ to avoid shadowing.
13367
13368 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13371 curindex to avoid shadowing.
13372 Make static.
13373 (MatchFinder_GetNumAvailableBytes): Make static.
13374
13375 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13378 avoid shadowing.
13379
13380 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13381
13382 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13383 argument from encrypt to do_encrypt to avoid shadowing.
13384
13385 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13388 incorrect nesting of #if's.
13389
13390 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13393 checks which are always false on some platforms.
13394 (grub_cmd_lsacpi): Likewise.
13395 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13396 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13397 Likewise.
13398
13399 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13402 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13403
13404 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13407 re_dfa_t to avoid breaking alignment invariants.
13408 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13409 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13410
13411 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13414 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13415
13416 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13419 Fix declaration.
13420
13421 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13422
13423 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13424 conserve alignment invariants.
13425 (grub_ehci_ehcc_read16): Likewise.
13426 (grub_ehci_oper_read32): Likewise.
13427 (grub_ehci_oper_write32): Likewise.
13428 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13429 Conserve alignment invariants.
13430
13431 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13434 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13435 declarations.
13436
13437 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13440 Remove unused variable.
13441
13442 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13443
13444 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13445 Remove set in if.
13446
13447 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 * include/grub/net.h: Remove double declarations.
13450
13451 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 Remove "payload" command in ia64 Linux loader since I couldn't
13454 find any evidence of it being used for anything.
13455 Replace "relocate" command with an environment variable
13456
13457 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13458 fields.
13459 (ia64_boot_payload): Removed.
13460 (last_payload): Likewise.
13461 (RELOCATE_OFF): Likewise.
13462 (RELOCATE_ON): Likewise.
13463 (RELOCATE_FORCE): Likewise.
13464 (relocate): Likewise.
13465 (free_pages): Don't free payloads.
13466 (grub_load_elf64): Use common error messages.
13467 Use "linux_relocate" variable.
13468 Increase the space after boot_params.
13469 (grub_cmd_payload): Removed.
13470 (grub_cmd_relocate): Likewise.
13471 (grub_cmd_fpswa): Improve messages.
13472 (cmd_payload): Removed.
13473 (cmd_relocate): Likewise.
13474 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13475 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13476
13477 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 Convert UHCI to DMA framework.
13480
13481 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13482 (grub_uhci_pci_iter): Fill new members
13483 (grub_alloc_td): Use P2V and V2P functions.
13484 (grub_free_queue): Likewise.
13485 (grub_alloc_qh): Likewise.
13486 (grub_uhci_setup_transfer): Likewise.
13487 (grub_uhci_check_transfer): Likewise.
13488
13489 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13492 Remove assignment in if while on it.
13493
13494 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * util/grub-mkstandalone.in: Fix modules directory.
13497
13498 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13501 on i386-pc target.
13502 (argp_parser): Accept "auto" as compression specification.
13503
13504 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 Fix `help' with unloaded modules.
13507
13508 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13509 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13510 (grub_dyncmd_dispatcher): Small stylistic fix.
13511 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13512 explicit help is requested.
13513
13514 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13517 Explicitly init restart while on it.
13518
13519 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13522 uninited variable.
13523
13524 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * util/grub-mknetdir.in: Use . rather than source for POSIX
13527 compatibility.
13528
13529 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13532
13533 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13536 variable.
13537
13538 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13541 without quotes.
13542
13543 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13546
13547 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13550 iteration of partitions.
13551
13552 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 Improve gettext support. Stylistic fixes and error handling fixes while
13555 on it.
13556
13557 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13558
13559 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13560 part. Instead setup the correct stack in RM.
13561 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13562 for stack.
13563 * include/grub/i386/relocator_private.h: New file.
13564
13565 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13568 argument.
13569 * util/grub-fstest.c (options): Add missing DEVICE part.
13570
13571 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 Clarify and unify messages.
13574
13575 * grub-core/commands/hashsum.c (options): Unify messages.
13576 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13577 literal-only message as translatable.
13578 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13579 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13580 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13581 commands.
13582 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13583 key, not the key used to unlock. Clarify what it's used for.
13584 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13585 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13586 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13587 * util/grub-editenv.c (options): Unify "verbose" message.
13588 * util/grub-fstest.c (read_file): Unify error message.
13589 (fstest): Add quotes around commands.
13590 (options): Unify "verbose" message.
13591 * util/grub-install.in: Add quotes around variable name.
13592 * util/grub-kbdcomp.in: Unify error message.
13593 * util/grub-mkfont.c (main): Likewise.
13594 * util/grub-mkrescue.in: Likewise.
13595 * util/grub-mklayout.c (options): Unify "verbose" message.
13596 * util/grub-mkstandalone.in: Unify help and verbose messages.
13597 * util/grub-mount.c (options): Unify "verbose" message.
13598 * util/grub-probe.c (options): Likewise.
13599 * util/grub-script-check.c (options): Likewise.
13600 * util/grub-setup.c (setup): Unify no-terminator message.
13601 (options): Use DEVICE and not DEV.
13602 Unify "verbose" message.
13603 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13604
13605 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 Improve and unify messages.
13608
13609 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13610 name. All users updated.
13611 Print filename in error.
13612 (read_device_map): Print filename in error.
13613 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13614 (grub_util_get_os_disk): Likewise.
13615 (grub_util_biosdisk_get_grub_dev): Likewise.
13616 (grub_util_check_block_device): Likewise.
13617 (grub_util_check_char_device): Likewise.
13618 (grub_make_system_path_relative_to_its_root): Likewise.
13619 * util/grub-editenv.c (create_envblk_file): Likewise.
13620 (open_envblk_file): Likewise.
13621 (write_envblk): Likewise.
13622 * util/grub-fstest.c (cmd_cp): Likewise.
13623 (cmd_cat): Likewise.
13624 (cmd_cmp): Likewise.
13625 * util/grub-menulst2cfg.c (main): Likewise.
13626 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13627 (write_font_width_spec): Likewise.
13628 (write_font_pf2): Likewise.
13629 * util/grub-mkimage.c (generate_image): New argument outname.
13630 All users updated.
13631 Remove unreacheable message.
13632 (options): Unify messages.
13633 (help_filter): Likewise.
13634 * util/grub-mklayout.c (usage): Removed (unused).
13635 (main): Print filename in error.
13636 * util/grub-mkrescue.in: Fix wrong quoting.
13637 * util/grub-setup.c (setup): Print filename in error.
13638 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13639 (check_sas): Likewise.
13640 * util/misc.c (grub_util_get_fp_size): Removed.
13641 (grub_util_get_image_size): Print filename in error.
13642 (grub_util_read_at): Removed.
13643 (grub_util_read_image): Print filename in error.
13644 (grub_util_load_image): Likewise.
13645 (grub_util_write_image_at): New argument filename. All users updated.
13646 Print filename in error.
13647 (grub_util_write_image): New argument filename. All users updated.
13648 Print filename in error.
13649 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13650 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13651
13652 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * grub-core/Makefile.core.def (pxechain): New module.
13655 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13656 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13657 function.
13658 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13659 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13660
13661 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13664 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13665 * include/grub/err.h (grub_error_saved): New struct.
13666 (grub_errmsg): Make array size explicit.
13667 * include/grub/misc.h (grub_error_save): New function.
13668 (grub_error_load): Likewise.
13669 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13670 (grub_error_push): Update `errno' member name.
13671 (grub_error_pop): Likewise
13672 * grub-core/net/tftp.c (tftp_data): New member save_err.
13673 (tftp_receive): Save error.
13674 (tftp_open): Restore error.
13675
13676 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13679 to real mode down to execute A20-related code in protected mode as
13680 intended.
13681
13682 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13683
13684 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13685 NULL when the argument `level' has an unexpected value.
13686
13687 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 Move platform-dependent files from $prefix to $prefix/$platform.
13690
13691 * config.h.in (GRUB_TARGET_CPU): New definition.
13692 (GRUB_PLATFORM): Likewise.
13693 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13694 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13695 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13696 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13697 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13698 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13699 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13700 * grub-core/normal/term.c (read_terminal_list): Likewise.
13701 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13702 $prefix/locale.
13703 (grub_gettext_init_ext): Likewise.
13704 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13705 grub_platform.
13706 * util/grub-install.in: Update directories.
13707 * util/grub-mknetdir.in: Likewise.
13708 * util/grub-mkrescue.in: Likewise.
13709
13710 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13713 grub_error framework. All users updated.
13714
13715 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13718 lists (by always binsearching), improve caching (cache strings
13719 used for binsearch, not only results), improve
13720 maintainability (by using more structured binary search) and correct
13721 error handling.
13722
13723 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 * grub-core/script/execute.c (grub_script_return): Fix warning.
13726
13727 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * grub-core/script/execute.c (grub_script_return): Fix potential
13730 NULL-dereference.
13731 Reported by: Jim Meyering.
13732
13733 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 * po/POTFILES.in: Regenerate.
13736 * util/grub-install.in: Gettextize the strings missed in first pass.
13737
13738 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * Makefile.util.def (grub-mkdevicemap): Removed.
13741 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13742 * include/grub/util/deviceiter.h: Removed.
13743 * util/deviceiter.c: Likewise.
13744 * util/getroot.c (grub_util_get_os_disk): New function.
13745 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13746 replacement for EFI.
13747 * util/grub-mkdevicemap.c: Removed.
13748 * util/grub-probe.c (probe): Handle PRINT_DISK.
13749 (argp_parser): Handle -t disk.
13750
13751 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * util/grub-mkfont.c: Migrate to argp.
13754 * util/grub-mklayout.c: Likewise.
13755 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13756 * util/grub-mkrelpath.c: Likewise.
13757 * util/grub-probe.c: Likewise.
13758 * util/grub-script-check.c: Likewise.
13759
13760 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 * util/grub-reboot.in: Add missing datarootdir.
13763 Add missing newline.
13764 * util/grub-set-default.in: Add missing datarootdir.
13765 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13766 * util/grub-mkrescue.in: Likewise.
13767
13768 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13771
13772 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 * util/grub-kbdcomp.in: Add decent help and gettextize.
13775 * docs/man/grub-kbdcomp.h2m: New file.
13776
13777 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 Migrate grub-mkimage.c to argp.
13780
13781 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13782 (grub-setup): Likewise.
13783 * util/grub-setup.c (print_version): Move to ...
13784 * util/argp_common.c (print_version): ... here.
13785 * util/grub-setup.c (argp_program_version_hook): Move to ...
13786 * util/argp_common.c (argp_program_version_hook): ... here.
13787 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13788 safety.
13789 * util/grub-mkimage.c (main): Migrate to argp.
13790
13791 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * util/grub-mkrescue.in: Use same message as
13794 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13795 for better translations.
13796
13797 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13800 options with generic grub-mkrescue.in with the goal of future
13801 merge.
13802
13803 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * grub-core/kern/mm.c: Add missing include of i18n.h
13806 * grub-core/lib/relocator.c: Likewise.
13807
13808 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13811 error.
13812 (allocate_pages): Check return value.
13813 Replace fatal with error.
13814 (grub_linux_boot): Replace printf with dprintf.
13815 Check find_mmap_size return value.
13816 Replace fatal with error.
13817 Don't call grub_machine_fini.
13818 (grub_load_elf64): Replace printf with dprintf.
13819 (grub_cmd_linux): Likewise.
13820 (grub_cmd_initrd): Likewise.
13821 (grub_cmd_payload): Likewise.
13822
13823 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13826 message.
13827 * grub-core/video/radeon_fuloong2e.c
13828 (grub_video_radeon_fuloong2e_setup): Likewise.
13829 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13830 * grub-core/video/video.c (grub_video_set_mode): Don't override
13831 standard out of memory message.
13832
13833 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13834
13835 NetBSD disk wedge support.
13836
13837 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13838 [__NetBSD__]: Handle NetBSD disk wedges.
13839 * util/getroot.c (convert_system_partition_to_system_disk)
13840 [__NetBSD__]: Likewise.
13841
13842 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
13843
13844 * util/grub-mkconfig.in: Use umask rather than chmod to create
13845 grub.cfg.new to avoid insecure grub.cfg.
13846
13847 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13848
13849 * grub-core/commands/ls.c: Gettextize.
13850 * grub-core/commands/setpci.c: Likewise.
13851 * grub-core/commands/videotest.c: Likewise.
13852 * grub-core/disk/geli.c: Likewise.
13853 * grub-core/kern/mm.c: Likewise.
13854 * grub-core/lib/relocator.c: Likewise.
13855 * grub-core/loader/efi/appleloader.c: Likewise.
13856 * grub-core/loader/i386/xnu.c: Likewise.
13857 * grub-core/loader/ia64/efi/linux.c: Likewise.
13858 * grub-core/loader/xnu.c: Likewise.
13859 * grub-core/net/dns.c: Likewise.
13860 * grub-core/net/net.c: Likewise.
13861 * grub-core/script/lexer.c: Likewise.
13862 * grub-core/script/parser.y: Likewise.
13863 * grub-core/script/yylex.l: Likewise.
13864 * util/getroot.c: Likewise.
13865 * util/grub-setup.c: Likewise.
13866
13867 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13870 number.
13871
13872 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13875
13876 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13879 macro.
13880 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13881 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13882
13883 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13886 * util/grub-install.in: Gettextize.
13887 * util/grub-mkconfig.in: Likewise.
13888 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13889 if not available.
13890 (grub_warn): Gettextize.
13891 * util/grub-mknetdir.in: Gettextize.
13892 * util/grub-mkrescue.in: Likewise.
13893 * util/grub-mkstandalone.in: Likewise.
13894 * util/grub-reboot.in: Likewise.
13895 * util/grub-set-default.in: Likewise.
13896 * util/grub.d/00_header.in: Likewise.
13897 * util/grub.d/10_hurd.in: Likewise.
13898 * util/grub.d/10_kfreebsd.in: Likewise.
13899 * util/grub.d/10_linux.in: Likewise.
13900 * util/grub.d/10_netbsd.in: Likewise.
13901 * util/grub.d/10_windows.in: Likewise.
13902 * util/grub.d/20_linux_xen.in: Likewise.
13903 * util/grub.d/30_os-prober.in: Likewise.
13904 * po/POTFILES-shell.in: Regenerate.
13905
13906 2012-02-03 Richard Laager <rlaager@wiktel.com>
13907
13908 * util/grub-mkimage.c (main): Fix format-security warning.
13909 * util/grub-mkrelpath.c (main): Likewise.
13910 * util/grub-probe.c (main): Likewise.
13911
13912 2012-02-03 Richard Laager <rlaager@wiktel.com>
13913
13914 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13915 failure.
13916 Put back lost PRINT_DRIVE.
13917
13918 2012-02-03 Richard Laager <rlaager@wiktel.com>
13919
13920 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13921 (grub_guess_root_devices): Replace strlen with sizeof.
13922 Avoid crash.
13923 (find_root_devices_from_poolname): Remove unused variable.
13924 Handle raidzN.
13925
13926 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 Support install on multi-device filesystems.
13929
13930 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13931 (grub_guess_root_devices): ...this. Return char **. All users updated.
13932 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13933 Removed.
13934 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13935 (find_root_devices_from_poolname): ... here.
13936 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13937 Support zfs-fuse.
13938 (grub_guess_root_device): Rename to ...
13939 (grub_guess_root_devices): ... this. Return char **. All users updated.
13940 * util/grub-install.in: Handle multi-device filesystems.
13941 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13942 argument. All users updated.
13943 Handle multi-device filesystems.
13944 Use 'delim' as separator.
13945 Remove device check to allow filesystems on file.
13946 (main): Support -0 argument. Handle multi-device.
13947 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13948 Fix a cross-device check while on it.
13949 (arguments): Remove root_dev.
13950 (argp_parser): Remove -r.
13951 (main): Remove root_dev.
13952
13953 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13956
13957 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13960 symbol.
13961 Reported by: NODA, Kai <nodakai>.
13962
13963 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 Fix ehci on amd64.
13966
13967 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13968 pointers.
13969 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13970 (grub_ehci_setup_qh): Likewise.
13971 (grub_ehci_find_qh): Likewise.
13972 (grub_ehci_transaction): Likewise.
13973 (grub_ehci_setup_transfer): Likewise.
13974 (grub_ehci_check_transfer): Likewise.
13975 (grub_ehci_portstatus): Likewise.
13976 (grub_ehci_detect_dev): Likewise.
13977 (grub_ehci_transfer_controller_data): New field td_last_phys.
13978 (grub_ehci_setup_transfer): Fill td_last_phys.
13979 (grub_ehci_check_transfer): Use td_last_phys.
13980
13981 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
13982
13983 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
13984 if no submenu is present.
13985
13986 2012-02-01 Aleš Nesrsta <starous@volny.cz>
13987
13988 CBI support.
13989
13990 * include/grub/usb.h (grub_usbms_protocol_t): New values
13991 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
13992 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
13993 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
13994 (grub_usbms_dev): Add subclass, protocol and intrpt.
13995 Remove in_maxsz and out_maxsz.
13996 (grub_usbms_reset): Rename to ...
13997 (grub_usbms_bo_reset): .. this.
13998 (grub_usbms_cbi_cmd): New function.
13999 (grub_usbms_cbi_reset): Likewise.
14000 (grub_usbms_reset): Likewise.
14001 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14002 (grub_usbms_transfer): Rename to ...
14003 (grub_usbms_transfer_bo): ... this.
14004 (grub_usbms_transfer_cbi): Likewise.
14005 (grub_usbms_transfer): Likewise.
14006
14007 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14008 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14011 the support for the CS5536 modification thereos and few bugfixes.
14012
14013 * grub-core/Makefile.core.def (ehci): New module.
14014 * grub-core/bus/usb/ehci.c: New file.
14015 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14016 port and hubaddr. All users updated.
14017 Save port and hubaddr into dev structure.
14018 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14019 define.
14020 * include/grub/pci.h (grub_dma_phys2virt): New function.
14021 (grub_dma_virt2phys): Likewise.
14022 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14023
14024 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14027 check as some mkfs implementations omit it.
14028
14029 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14032
14033 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14036 Add new member volname2.
14037 (grub_jfs_label): Use volname2 if available.
14038
14039 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14042 over last_mounted as seen in image generated by mkfs.nilfs2.
14043 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14044
14045 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14046
14047 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14048 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14049 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14050
14051 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14052
14053 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14054 over the sector.
14055
14056 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14059 subvolume name (by removing a bogus and useless check).
14060
14061 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14064 sizeof while on it.
14065
14066 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14069 (grub_scsi_read_capacity10): ... this.
14070 (grub_scsi_read_capacity16): New function.
14071 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14072 0xffffffff.
14073 Fix off-by-one error.
14074 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14075 64-bit unsigned.
14076 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14077 (grub_scsi_read_capacity10): ... this.
14078 (grub_scsi_read_capacity_data): Rename to ...
14079 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14080 (grub_scsi_read_capacity16): New struct.
14081 (grub_scsi_read_capacity16_data): Likewise.
14082 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14083 grub_scsi_cmd_read_capacity10.
14084 New command grub_scsi_cmd_read_capacity16.
14085
14086 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 SCSI >2TiB support.
14089
14090 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14091 (grub_scsi_write16): Likewise.
14092 (grub_scsi_read): Use read16 when necessary.
14093 (grub_scsi_write): Likewise.
14094 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14095 (grub_scsi_write16): Likewise.
14096 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14097
14098 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 SCSI write support (for usbms mainly).
14101
14102 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14103 a const pointer.
14104 (grub_scsi_write): Implement.
14105 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14106
14107 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14108
14109 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14110 variable.
14111
14112 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14115
14116 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * po/POTFILES.in: Regenerate.
14119
14120 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14123 with grub_printf to avoid unnecessary fatal failure.
14124
14125 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14128 (INT_MAX): Likewise.
14129 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14130 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14131 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14132 (strcpy): Likewise.
14133 (strstr): Likewise.
14134 (strchr): Likewise.
14135 (strncpy): Likewise.
14136 (strcat): Likewise.
14137 (strncat): Likewise.
14138 (strcoll): Likewise.
14139 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14140 (GRUB_INT_MAX): Likewise.
14141
14142 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14145 unexpected error.
14146 (optimize_utf8): Likewise.
14147 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14148
14149 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 * grub-core/boot/i386/pc/lnxboot.S: Use
14152 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14153 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14154 location.
14155 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14156 definition.
14157 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14158
14159 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14162 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14163 now to avoid double free.
14164 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14165 hostdisk.
14166 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14167 * util/grub-probe.c (escape_of_path): Always return a new copy.
14168 (print_full_name): Escape path.
14169 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14170 Fix hints on abstractions.
14171
14172 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14175 Don't add "root" line if no compatibility hont is available.
14176 Suggested by: Seth Goldberg.
14177
14178 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14179
14180 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14181 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14182 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14183 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14184
14185 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14188
14189 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14190
14191 * util/grub-pe2elf.c (ehdr): Make static.
14192 (shdr): Likewise.
14193 (num_sections): Likewise.
14194 (offset): Likewise.
14195
14196 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 Eliminate ofpath limits and possible overflows.
14199
14200 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14201 (OF_PATH_MAX): Removed.
14202 (MAX_DISK_CAT): New const.
14203 (find_obppath): Use allocated rather than preallocated buffer.
14204 Return result. Argument of_path removed. All users updated.
14205 Add missing fdstat.
14206 (xrealpath): New function.
14207 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14208 Allocate rather than use preallocated buffer. All users updated.
14209 (__of_path_common): Use allocated rather than preallocatecd buffer.
14210 Return result. Argument of_path removed. All users updated.
14211 (vendor_is_ATA): Read only needed part form the file.
14212 (check_sas): Allocate depending on contents rather than fixed.
14213 (main) [STANDALONE]: Handle NULL result.
14214
14215 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14218
14219 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 Cryptodisk write support.
14222
14223 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14224 (grub_cryptodisk_decrypt): Moved logic to ...
14225 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14226 (grub_cryptodisk_write): Implement.
14227 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14228 (grub_util_fd_write): ... this. Make global.
14229 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14230
14231 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * include/grub/list.h (grub_list_remove): Don't crash if element is
14234 removed twice.
14235
14236 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 Rename ofconsole to console.
14239
14240 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14241 as sysnonym to console.
14242 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14243 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14244 Rename grub_ofconsole_ to grub_console_. All users updated
14245 (grub_console_term_output): Rename "ofconsole" to "console".
14246 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14247 as "console".
14248
14249 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14252 handling.
14253 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14254 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14255 GRUB_DISK_DEVICE_FILE_ID.
14256
14257 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14258
14259 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14260 and improve performance.
14261
14262 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14265 missing ieee1275/ prefix on whole disk.
14266
14267 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14270 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14271
14272 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14275
14276 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 Merge common RAID and LVM logic to an abstract diskfilter.
14279 Add LDM support using the same framework.
14280
14281 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14282 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14283 (libgrubmods): Remove grub-core/disk/raid.c and
14284 grub-core/partmap/gpt.c.
14285 * grub-core/Makefile.core.def (ldm): New module.
14286 (raid): Renamed to diskfilter. All users updated.
14287 * grub-core/disk/raid.c: Moved to ...
14288 * grub-core/disk/diskfilter.c: ... here.
14289 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14290 (lv_num): New var.
14291 (find_array): Renamed to ...
14292 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14293 (grub_is_array_readable): Renamed to ...
14294 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14295 (insert_array): New argument id.
14296 (is_node_readable): New function.
14297 (scan_device): Rename to ...
14298 (scan_disk): .. this. Restrict to one disk.
14299 (scan_devices): New function.
14300 (grub_diskfilter_iterate): Support multi-LV.
14301 Skip invisible and nameless LVs.
14302 (grub_diskfilter_memberlist): Support multi-LV.
14303 (grub_diskfilter_read_node): New function.
14304 (grub_raid_read): Most of logic moved to ...
14305 (read_segment): ... here
14306 (read_lv): New function.
14307 (grub_diskfilter_get_vg_by_uuid): New function.
14308 (grub_diskfilter_make_raid): Likewise.
14309 * grub-core/disk/ldm.c: New file.
14310 * grub-core/disk/lvm.c (vg_list): Removed.
14311 (lv_count): Likewise.
14312 (scan_depth): Likewise.
14313 (is_lv_readable): Likewise.
14314 (grub_lvm_getvalue): Advance pointer past the number.
14315 (find_lv): Removed.
14316 (do_lvm_scan): Refactored into ...
14317 (grub_lvm_detect): ... this. Support raid.
14318 (grub_lvm_iterate): Removed.
14319 (grub_lvm_memberlist): Likewise.
14320 (grub_lvm_open): Likewise.
14321 (grub_lvm_close): Likewise.
14322 (read_lv): Likewise.
14323 (read_node): Likewise.
14324 (is_node_readable): Likewise.
14325 (is_lv_readable): Likewise.
14326 (grub_lvm_read): Likewise.
14327 (grub_lvm_write): Likewise.
14328 (grub_lvm_dev): Use diskfilter
14329 (GRUB_MOD_INIT): Likewise.
14330 (GRUB_MOD_FINI): Likewise.
14331 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14332 new interface.
14333 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14334 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14335 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14336 grub_diskfilter_read_node.
14337 Fix a bug with xor.
14338 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14339 grub_diskfilter_read_node.
14340 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14341 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14342 (grub_disk_dev_iterate): Move from here...
14343 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14344 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14345 Make global.
14346 (grub_hostdisk_find_partition_start): Likewise.
14347 (grub_hostdisk_os_dev_to_grub_drive): New function.
14348 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14349 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14350 * util/getroot.c (make_device_name): ... here.
14351 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14352 Move to ...
14353 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14354 * grub-core/kern/emu/hostdisk.c
14355 (convert_system_partition_to_system_disk): Move to ...
14356 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14357 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14358 * util/getroot.c (device_is_wholedisk): ... here.
14359 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14360 * util/getroot.c (find_system_device): ... here.
14361 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14362 Move to ...
14363 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14364 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14365 Move to ...
14366 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14367 Handle LDM.
14368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14369 Move to ...
14370 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14371 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14372 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14373 DISKFILTER.
14374 * include/grub/raid.h: Renamed to ...
14375 * include/grub/diskfilter.h: ... this.
14376 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14377 (GRUB_RAID_LAYOUT_*): Make into array.
14378 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14379 (grub_diskfilter_vg): New struct.
14380 (grub_diskfilter_pv_id): Likewise.
14381 (grub_raid_member): Removed.
14382 (grub_raid_array): Likewise.
14383 (grub_diskfilter_pv): New struct.
14384 (grub_diskfilter_lv): Likewise.
14385 (grub_diskfilter_segment): Likewise.
14386 (grub_diskfilter_node): Likewise.
14387 (grub_diskfilter_get_vg_by_uuid): New proto.
14388 (grub_raid_register): Inline.
14389 (grub_diskfilter_unregister): Likewise.
14390 (grub_diskfilter_make_raid): New proto.
14391 (grub_diskfilter_vg_register): Likewise.
14392 (grub_diskfilter_read_node): Likewise.
14393 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14394 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14395 (grub_util_is_ldm): Likewise.
14396 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14397 (grub_hostdisk_find_partition_start): Likewise.
14398 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14399 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14400 New definition.
14401 (grub_gpt_partition_map_iterate): New proto.
14402 * include/grub/lvm.h (grub_lvm_vg): Removed.
14403 (grub_lvm_pv): Likewise.
14404 (grub_lvm_lv): Likewise.
14405 (grub_lvm_segment): Likewise.
14406 (grub_lvm_node): Likewise.
14407 * util/getroot.c [...]
14408 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14409 (probe_abstraction): Likewise.
14410 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14411 (main): Remove dead logic.
14412
14413 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 Simplify root device discover and don't fail when trying to open
14416 incorrect devices.
14417
14418 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14419 function.
14420 (get_diskname_from_path): Likewise.
14421 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14422 of iterating.
14423
14424 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14425
14426 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14427
14428 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14431 pastthe end.
14432
14433 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 * util/grub-install.in: Add missing \.
14436 Reported by: gentoofan
14437
14438 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14441 (direct_read): Use correct compressed size.
14442 (grub_squash_read_data): Likewise.
14443
14444 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * docs/grub.texi (Platform limitations): New section.
14447 (Platform-specific operations): Likewise.
14448 * docs/grub-dev.texi (Porting): Likewise.
14449
14450 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14451
14452 IEEE1275 disk write support.
14453
14454 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14455 const void *.
14456 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14457 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14458 and seek loginc to ...
14459 (grub_ofdisk_prepare): ... here.
14460 (grub_ofdisk_write): Implement.
14461
14462 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 ARC disk write support.
14465
14466 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14467 (reopen): New argument writable. All users updated.
14468 Handle required access mode.
14469 (grub_arcdisk_write): Implement.
14470 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14471 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14472
14473 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14476 (read_sblock): Don't attempt to read superblocks outside the disk size.
14477
14478 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14481 first superblock to find the second one when possible.
14482
14483 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * util/grub-install.in: Fix an ARC bug.
14486 Print a warning if no platform-specific setup is available.
14487
14488 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 Use static allocation rather than scratch pointer in reed_solomon.
14491 It decreases its size significantly and avoids a variable in .text.
14492
14493 * grub-core/lib/reed_solomon.c (scratch): Removed.
14494 (chosenstat): New const or static array.
14495 (sigma): Likewise.
14496 (errpot): Likewise.
14497 (errpos): Likewise.
14498 (sy): Likewise.
14499 (mstat): Likewise.
14500 (errvals): Likewise.
14501 (eqstat): Likewise.
14502 (pol_evaluate): Replace x with log_x argument. All users updated.
14503 (syndroms): Removed.
14504 (gauss_solve): Use statically allocated arrays.
14505 (rs_recover): Likewise.
14506 Calculate syndroms directly.
14507 (decode_block): Use statically allocated arrays.
14508 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14509 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14510
14511 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 Eliminate fixed limit on reed solomon decoder length.
14514
14515 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14516 rather than hardcoding the address.
14517 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14518 no_reed_solomon_length.
14519 Move gate_a20 to no-reed-solomon part.
14520 Don't force a particular size of no reed-solomon part.
14521 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14522 Removed.
14523 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14524 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14525
14526 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * grub-core/commands/wildcard.c (match_files): Handle filenames
14529 without explicit device.
14530 (wildcard_expand): Don't add explicit device if not already present.
14531 * tests/grub_script_echo1.in: Add a new expansion test.
14532
14533 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 Replace single-linked with double-linked lists. It results in more
14536 compact and more efficient code.
14537
14538 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14539 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14540 (grub_list_remove): Moved from here ...
14541 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14542 (grub_prio_list_insert): Set prev.
14543 * include/grub/list.h (grub_list): Add prev. All users updated.
14544
14545 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 Handle newer autotools. Add some missing quotes while on it.
14548
14549 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14550 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14551 (pkgdata_DATA): ... here.
14552 * Makefile.util.def (update-grub_lib): Removed.
14553 * conf/Makefile.common (pkglib_DATA): Removed.
14554 (pkglib_SCRIPTS): Likewise.
14555 (pkgdata_DATA): New variable.
14556 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14557 needed.
14558 Add missing quotes.
14559 Remove unused variable while on it.
14560 * tests/util/grub-shell.in: Likewise.
14561 * util/grub-install.in: Likewise.
14562 * util/grub-mkconfig.in: Likewise.
14563 * util/grub-mknetdir.in: Likewise.
14564 * util/grub-mkrescue.in: Likewise.
14565 * util/grub-mkstandalone.in: Likewise.
14566 * util/grub.d/00_header.in: Likewise.
14567 * util/grub.d/10_hurd.in: Likewise.
14568 * util/grub.d/10_illumos.in: Likewise.
14569 * util/grub.d/10_kfreebsd.in: Likewise.
14570 * util/grub.d/10_linux.in: Likewise.
14571 * util/grub.d/10_netbsd.in: Likewise.
14572 * util/grub.d/10_windows.in: Likewise.
14573 * util/grub.d/20_linux_xen.in: Likewise.
14574 * util/grub.d/30_os-prober.in: Likewise.
14575 * util/update-grub_lib.in: Removed.
14576
14577 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
14578
14579 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14580 a workaround for intel problem.
14581
14582 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
14583 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14584 2012-01-23 pfsmorigo
14585
14586 * util/grub-install.in: Support dd'in into PreP partition.
14587 * util/grub-probe.c (probe): Support discovering partition type.
14588 (main): Support -t msdos_parttype.
14589
14590 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14593 infinite recursion using counter.
14594 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14595 init to skip it if the magic check fails.
14596 (dec_stream_header): Init s->crc32.
14597
14598 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14599 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
14600 2012-01-22 Richard Laager <rlaager@wiktel.com>
14601
14602 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14603 All users updated.
14604 (find_bestub): Determine correct size.
14605 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14606 (scan_disk): Align the size down.
14607 Call check pool before find_bestub to have ashift.
14608
14609 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14612 dprintf in no-malloc zone.
14613
14614 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14615
14616 * configure.ac: Add back in test for limits.h.
14617
14618 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 Support 4K-sector NTFS.
14621
14622 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14623 (grub_ntfs_data): Remove blocksize.
14624 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14625 Remove data argument. All users updated.
14626
14627 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14630 being in .text to avoid dprel references.
14631 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14632 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14633 (grub_arch_highmemsize): Likewise.
14634 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14635 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14636 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14637
14638 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14641
14642 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14643 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14644
14645 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14648 GRUB_UTIL.
14649 (grub_set_datetime_cmos): Likewise.
14650
14651 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 Make XZ compression parameters dependent on target and not host CPU.
14654
14655 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14656 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14657
14658 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14661 set but not used variable.
14662
14663 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14666 created when no uuid support is compiled into mkfs.reiser.
14667
14668 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14671 (utf8_to_macroman): Do the opposite.
14672 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14673
14674 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * configure.ac: Refise build qemu_mips w/o unifont.
14677
14678 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 Eliminate grub_min/grub_max prone to overflow usage.
14681
14682 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14683 (poll_nonroot_hub): Likewise.
14684 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14685 (grub_affs_label): Likewise.
14686 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14687 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14688 (grub_hfs_label): Likewise.
14689 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14690 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14691 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14692 (zap_leaf_array_get): Likewise.
14693 (dnode_get_path): Likewise.
14694 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14695 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14696 * grub-core/script/execute.c (grub_script_break): Likewise.
14697 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14698 grub_max.
14699 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14700 * include/grub/misc.h (grub_min): Removed.
14701 (grub_max): Likewise.
14702
14703 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14704
14705 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14706 direct.inode = 0.
14707
14708 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14711
14712 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14713
14714 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14715
14716 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14719 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14720
14721 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14724 rather than a hack for grub_strncasemap.
14725
14726 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 Support multiple initrds
14729 Note: part of this was accidently committed in r3739.
14730
14731 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14732 initrd.
14733 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14734 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14735 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14736 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14737 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14738
14739 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14742 disks with unknown size.
14743 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14744
14745 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 Remove defines pertaining to arbitrary limits not affecting GRUB
14748 anymore.
14749
14750 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14751 (EXT2_MAX_SYMLINKCNT): Likewise.
14752 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14753 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14754 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14755 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14756 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14757 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14758 (DN_MAX_OBJECT_SHIFT): Likewise.
14759 (DN_MAX_OFFSET_SHIFT): Likewise.
14760 (DN_MAX_OBJECT): Likewise.
14761 (DNODES_PER_LEVEL_SHIFT): Likewise.
14762 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14763 (SPA_MAXBLOCKSIZE): Likewise.
14764 (SPA_BLOCKSIZES): Likewise.
14765 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14766 (MZAP_MAX_BLKSZ): Likewise.
14767
14768 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14771 handle NULL appropriately.
14772 Remove MIN.
14773
14774 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 Fix efiemu.
14777
14778 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14779 cpu/types.h.
14780 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14781 * configure.ac: Fix efiemu check.
14782
14783 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14786 grub_probe.
14787 Reported by: adamwill
14788
14789 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14790
14791 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14792
14793 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 Fix handling of wide characters in gfxterm.
14796
14797 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14798 (clear_char): Likewise.
14799 (paint_char): Skip code == NULL chars.
14800 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14801
14802 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14803
14804 * grub-core/normal/charset.c: Move comment to right place.
14805
14806 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14809 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14810 (grub_affs_mount): Revert the correct version checking.
14811
14812 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 * docs/grub.texi (Unicode): Mention several other unsupported features.
14815
14816 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14819 case statements as compile-time one.
14820 (direct_read): Prevent spurious warnings.
14821 (grub_squash_read_data): Likewise.
14822
14823 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14824
14825 Various squash4 fixes and LZO and XZ support.
14826
14827 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14828 Add xzembed source files.
14829 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14830 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14831 (grub_squash_inode): New subtype long_dir.
14832 (SQUASH_TYPE_LONG_DIR): New inode type.
14833 (COMPRESSION): New enum.
14834 (XZBUFSIZ): New const.
14835 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14836 (read_chunk): Use data->decompress.
14837 (zlib_decompress): New function.
14838 (lzo_decompress): Likewise.
14839 (xz_decompress): Likewise.
14840 (squash_mount): Set new data fields.
14841 (grub_squash_iterate_dir): Handle long dir.
14842 (squash_unmount): Free xzdec and xzbuf.
14843 (grub_squash_open): Check ino type.
14844 (direct_read): Stylistic fixes. Use data->decompress.
14845 (grub_squash_read_data): Likewise.
14846 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14847 (get_byte): Likewise.
14848 (grub_zlib_disk_read): Removed.
14849 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14850 (GRUB_POSIX_BOOL_DEFINED): New define.
14851 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14852 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14853 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14854 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14855
14856 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 Don't override more informative errors.
14859
14860 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14861 * grub-core/font/font.c (open_section): Likewise.
14862 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14863 filename. Don't override errors.
14864 (grub_cmd_openbsd_ramdisk): Don't override errors.
14865 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14866 (grub_cmd_initrd): Likewise.
14867 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14868 (grub_cmd_initrd): Likewise.
14869 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14870 (grub_cmd_linux): Likewise.
14871 (grub_cmd_initrd): Likewise.
14872 (grub_cmd_payload): Likewise.
14873 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14874 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14875 (grub_cmd_module): Likewise.
14876 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14877 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14878 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14879 (grub_cmd_xnu_mkext): Likewise.
14880 (grub_cmd_xnu_ramdisk): Likewise.
14881 (grub_xnu_check_os_bundle_required): Likewise.
14882 (grub_xnu_load_kext_from_dir): Likewise.
14883 (grub_cmd_xnu_kextdir): Likewise.
14884 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14885
14886 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14889 as 1024 in block size field. Found on one of my test images.
14890 Small optimisation while on it.
14891
14892 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14895 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14896 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14897 performance fixes while on it.
14898 (grub_sfs_close): Fix memory leak while on it.
14899 (grub_sfs_label): Convert Latin1 to UTF-8.
14900
14901 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14904 space to avoid overflows.
14905 (grub_hfs_label): Convert from macroman to UTF-8.
14906
14907 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14910
14911 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14914
14915 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * unicode: Import Unicode 6.0 data.
14918
14919 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14922 outside of range.
14923
14924 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 Avoid cutting in the middle of UTF-8 character.
14927
14928 * include/grub/charset.h (grub_getend): New function.
14929 * grub-core/script/function.c (grub_script_function_find): Use
14930 grub_getend.
14931 * grub-core/normal/completion.c (add_completion): Likewise.
14932
14933 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14936 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14937 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14938 (GRUB_UNICODE_TAG_END): Likewise.
14939 (GRUB_UNICODE_LAST_VALID): Likewise.
14940
14941 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14944 len and make it smaller. All users updated.
14945 * util/import_unicode.py: Put length and not end character.
14946 Check length.
14947
14948 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 Make better Unicode-compliant and unify some UTF-8 code pathes.
14951
14952 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14953 valid character.
14954 (grub_is_valid_utf8): Use grub_utf8_process.
14955 Check resulting code range.
14956 (grub_utf8_to_ucs4): Use grub_utf8_process.
14957 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14958 valid character.
14959
14960 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14963
14964 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14965
14966 * docs/grub.texi (Filesystems): Mention AFS.
14967
14968 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * docs/grub.texi (Filesystems): Clarify restrictions.
14971 (Regexp): Mention non-Unicode regexp behaviour.
14972 (Other): Mention non-Unicode matching behaviour.
14973
14974 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 Make HFS implementation use MacRoman.
14977
14978 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
14979 (macroman): New const array.
14980 (macroman_to_utf8): New function.
14981 (utf8_to_macroman): Likewise.
14982 (grub_hfs_find_dir): Use utf8_to_macroman.
14983 (grub_hfs_dir): Use macroman_to_utf8.
14984 Set case_insensitive.
14985
14986 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
14989
14990 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 Integrate hints into autogeneration scripts.
14993
14994 * docs/grub.texi (Filesystems): Add a hostdisk example.
14995 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
14996 (grub-probe): Add ofpath.
14997 * gentpl.py: Remove group nosparc64.
14998 * grub-core/commands/search.c (cache_entry): New struct.
14999 (cache): New var.
15000 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15001 * grub-core/commands/search_wrap.c (options): Add platform-specific
15002 hint options.
15003 (grub_cmd_search): Handle platform-specific hints.
15004 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15005 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15006 (grub_util_biosdisk_data): Likewise.
15007 (grub_util_biosdisk_open): Set device_map.
15008 (read_device_map): Handle "" as indication of no map.
15009 Set device_map.
15010 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15011 (grub_util_biosdisk_get_compatibility_hint): New function.
15012 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15013 * include/grub/emu/hostdisk.h
15014 (grub_util_biosdisk_get_compatibility_hint): New proto.
15015 * util/grub-install.in: Don't call grub-mkdevicemap.
15016 Add platform-specific hint to load.cfg.
15017 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15018 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15019 hints. Set root preliminary to compatibility hint, not to OS name.
15020 * util/grub-probe.c (PRINT_*): Add hints.
15021 (print): Make static.
15022 (escape_of_path): New function.
15023 (guess_bios_drive): Likewise.
15024 (guess_efi_drive): Likewise.
15025 (guess_baremetal_drive): Likewise.
15026 (print_full_name): Likewise.
15027 (probe): Handle hints.
15028 (main): Likewise.
15029 * util/ieee1275/devicemap.c: Removed.
15030 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15031 updated.
15032 (grub_util_devname_to_ofpath): Return NULL on failure.
15033
15034 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15035 resource leak.
15036 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15037
15038 * po/POTFILES.in: Regenerated.
15039
15040 Allow purely long options
15041
15042 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15043 (SHORT_ARG_USAGE): Likewise.
15044 (grub_arg_show_help): Compare opt with help_options.
15045 (parse_option): Receive opt as argument. If makes big simplificatons.
15046 All users updated
15047
15048 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15051 Restructure to avoid warning.
15052
15053 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * util/grub-install.in: Account for possible escaped comma in device
15056 name.
15057
15058 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15061 channel.
15062
15063 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15066 allocation and zero-setting.
15067 (grub_ieee1275_get_devname): Check that alias is complete.
15068
15069 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15070
15071 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15072 unaligned segments.
15073
15074 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15077 prefix.
15078 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15079 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15080 Add ieee1275 prefix.
15081
15082 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * docs/grub.texi (Filesystems): Update.
15085
15086 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 Support odc, newc and bigendian cpio formats.
15089
15090 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15091 * grub-core/Makefile.core.def (newc): New module.
15092 (odc): Likewise.
15093 (cpio_be): Likewise.
15094 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15095 (MAGIC): Likewise.
15096 (MAGIC2): Likewise.
15097 (head) [MODE_ODC]: Adapt for the format.
15098 (head) [MODE_NEWC]: Likewise.
15099 (head) [!MODE_*]: Write fields of interest as arrays.
15100 (MAGIC_USTAR): Removed.
15101 (read_number) [MODE_NEWC]: Change to hex.
15102 (read_number) [!MODE_*]: Parse binary arrays.
15103 (grub_cpio_find_file): Factor out the code for better structure and
15104 always use read_number.
15105 (grub_cpio_mount): Use MAGIC and MAGIC2.
15106 (grub_cpio_dir): Exit on first hook non-0 return.
15107 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15108 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15109 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15110 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15111 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15112 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15113 * grub-core/fs/newc.c: New file.
15114 * grub-core/fs/odc.c: Likewise.
15115 * grub-core/fs/cpio_be.c: Likewise.
15116
15117 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 Fix handling of tar numbers occupying the whole field.
15120
15121 * grub-core/fs/cpio.c (read_number): New function.
15122 (grub_cpio_find_file): Use read_number instead of strtoull.
15123
15124 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15127 occupying the whole field size.
15128
15129 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15130
15131 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15132
15133 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15134
15135 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15136
15137 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15138
15139 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15140 TARGET_IMG_LDFLAGS.
15141
15142 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15145 (mountinfo_entry): Increase the field size to take escaping into
15146 account.
15147 (find_root_device_from_libzfs): Add one byte to size of strings for
15148 security.
15149
15150 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15153 an assert.
15154 * util/grub-setup.c (setup): Likewise.
15155
15156 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15157
15158 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15159 _LzmaDecodeA.
15160
15161 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15162
15163 * docs/grub.texi (Internationalisation): New section.
15164
15165 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 * docs/grub.texi (Loopback booting): New section.
15168
15169 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
15170
15171 * util/grub-mkstandalone.in: Fix minor typo errors.
15172
15173 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15176
15177 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15178 net/icmp.c and net/icmp6.c.
15179 (http): New module.
15180 (priority_queue): Likewise.
15181 * grub-core/io/bufio.c: Rewritten.
15182 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15183 TYPE_WITH_CONFIGFILE_OPTION.
15184 (legacy_commands): Add bootp and dhcp.
15185 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15186 (grub_legacy_parse): Likewise.
15187 * grub-core/lib/priority_queue.c: New file.
15188 * grub-core/net/arp.c: Add missing license header.
15189 (arp_find_entry): Removed.
15190 (arp_find_entry): Likewise.
15191 (grub_net_arp_resolve): Rename to ...
15192 (grub_net_arp_send_request): ...this.
15193 (grub_net_arp_receive): New card argument.
15194 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15195 Set router and DNS server.
15196 (grub_net_configure_by_dhcp_ack): Handle routing information.
15197 (grub_cmd_bootp): Set checksum.
15198 (grub_bootp_init): Remove net_dhcp.
15199 * grub-core/net/dns.c: New file.
15200 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15201 completion.
15202 (get_card_packet): Handle allocation.
15203 (grub_efinet_findcards): Set mtu.
15204 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15205 (get_card_packet): Handle allocation.
15206 (emucard): Set mtu.
15207 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15208 (GRUB_MOD_INIT): Set mtu.
15209 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15210 mtu.
15211 (get_card_packet): Handle allocation.
15212 (grub_ofnet_findcards): Set mtu.
15213 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15214 assert.
15215 (grub_net_recv_ethernet_packet): Handle IPv6.
15216 * grub-core/net/http.c: New file.
15217 * grub-core/net/icmp.c: Likewise.
15218 * grub-core/net/icmp6.c: Likewise.
15219 * grub-core/net/ip.c (ip6addr): New type.
15220 (ip6hdr): Likewise.
15221 (reassemble): Likewise.
15222 (cmp): New function.
15223 (reassembles): New variable.
15224 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15225 (id): New variable.
15226 (send_fragmented): New function.
15227 (grub_net_send_ip_packet): Rename to ...
15228 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15229 Handle non-UDP.
15230 (grub_net_recv_ip_packets): Rename to ...
15231 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15232 (free_rsm): New function.
15233 (free_old_fragments): Likewise.
15234 (grub_net_recv_ip4_packets): New function.
15235 (grub_net_send_ip6_packet): Likewise.
15236 (grub_net_send_ip_packet): Likewise.
15237 (grub_net_recv_ip6_packets): Likewise.
15238 (grub_net_recv_ip_packets): Likewise.
15239 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15240 (LINK_LAYER_CACHE_SIZE): New const.
15241 (link_layer_find_entry): New function.
15242 (grub_net_link_layer_add_address): Likewise.
15243 (grub_net_link_layer_resolve_check): Likewise.
15244 (grub_net_link_layer_resolve): Likewise.
15245 (grub_net_ipv6_get_slaac): Likewise.
15246 (grub_net_ipv6_get_link_local): Likewise.
15247 (grub_cmd_ipv6_autoconf): Likewise.
15248 (parse_ip): Handle one number representation.
15249 (parse_ip6): New functoion.
15250 (match_net): Handle IPv6.
15251 (grub_net_resolve_address): Handle IPv6 and DNS.
15252 (grub_net_resolve_net_address): Handle IPv6.
15253 (route_cmp): New function.
15254 (grub_net_route_address): Find best route.
15255 (grub_net_addr_to_str): Handle IPv6.
15256 (grub_net_addr_cmp): New function.
15257 (grub_net_add_addr): Register local route.
15258 (print_net_address): Handle net address.
15259 (grub_net_poll_cards): Retransmit TCP.
15260 (grub_net_poll_cards_idle_real): Likewise.
15261 (have_ahead): New function.
15262 (grub_net_seek_real): Use underlying seek.
15263 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15264 * grub-core/net/tcp.c: New file.
15265 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15266 (cmp): New function.
15267 (ack): Likewise.
15268 (tftp_receive): Handle unordered input.
15269 (destroy_pq): New function.
15270 (tftp_close): Close pq.
15271 * grub-core/net/udp.c: Put missing license header.
15272 (grub_net_udp_socket): New function.
15273 (udp_socket_register): Likewise.
15274 (grub_net_udp_close): Likewise.
15275 (grub_net_recv_udp_packet): Check checksum.
15276 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15277 * include/grub/misc.h (grub_memchr): New function.
15278 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15279 (grub_net_card_driver): Return buf in recv.
15280 (grub_net_slaac_mac_list): New struct.
15281 (grub_network_level_protocol_id): Add ipv6.
15282 (grub_net_network_level_addr): Likewise.
15283 (grub_net_network_level_net_addr): Likewise.
15284 (grub_net_app_protocol): Add seek.
15285 (grub_net_socket): Removed.
15286 (grub_net_sockets): Likewise.
15287 (grub_net_socket_register): Likewise.
15288 (grub_net_socket_unregister): Likewise.
15289 (FOR_NET_SOCKETS): Likewise.
15290 (grub_net_add_addr): Add const.
15291 (GRUB_NET_BOOTP_*): New enum.
15292 (grub_net_addr_cmp): New proto.
15293 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15294 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15295 (grub_net_hwaddr_to_str): NEw proto.
15296 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15297 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15298 (grub_dns_init): New proto.
15299 (grub_dns_fini): Likewise.
15300 (grub_net_tcp_retransmit): Likewise.
15301 (grub_net_link_layer_add_address): Likewise.
15302 (grub_net_link_layer_resolve_check): Likewise.
15303 (grub_net_link_layer_resolve): Likewise.
15304 (grub_net_dns_lookup): Likewise.
15305 (grub_net_add_dns_server): Likewise.
15306 (grub_net_remove_dns_server): Likewise.
15307 (GRUB_NET_TRIES): New const.
15308 (GRUB_NET_INTERVAL): Likewise.
15309 * include/grub/net/arp.h: Mostly rewritten.
15310 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15311 * include/grub/net/ip.h: Mostly rewritten.
15312 * include/grub/net/netbuff.h: Indent.
15313 * include/grub/net/tcp.h: New file.
15314 * include/grub/net/udp.h: Mostly rewritten.
15315 * include/grub/priority_queue.h: New file.
15316 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15317 (grub_swap_bytes64_compile_time): Likewise.
15318 (grub_cpu_to_be16_compile_time): Likewise.
15319 (grub_cpu_to_be32_compile_time): Likewise.
15320 (grub_cpu_to_be64_compile_time): Likewise.
15321 (grub_be_to_cpu64_compile_time): Likewise.
15322
15323 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15324
15325 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15326 UINT_TO_PTR with cast.
15327
15328 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15331 don't use them.
15332
15333 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15336 already there.
15337
15338 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15341 confusing ipxe.
15342
15343 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15346 Add missing const attribute.
15347 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15348 Likewise.
15349 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15350 Likewise.
15351
15352 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15355 misaligned access.
15356 (serpent_setkey): Likewise.
15357 (serpent_encrypt_internal): Likewise.
15358 (serpent_decrypt_internal): Likewise.
15359 (serpent_encrypt): Don't put an alignment-increasing cast.
15360 (serpent_decrypt): Likewise.
15361 (serpent_test): Likewise.
15362
15363 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15366
15367 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15370
15371 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15372 grub_addr_t casts.
15373 (PTR_TO_UINT64): Likewise.
15374 (PTR_TO_UINT32): Likewise.
15375
15376 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15379 because of stack.
15380 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15381 limit.
15382
15383 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15386 text_width > available width a bit more gracefully.
15387
15388 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15391 current address calculation.
15392
15393 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15396 stack.
15397 (encode_block): Likewise.
15398
15399 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15402 certainety.
15403
15404 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15407 non-RS part to avoid RS messing with GDT.
15408 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15409 Increase to suit in realmode routines.
15410
15411 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 * grub-core/kern/i386/realmode.S: Increase alignment.
15414 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15415
15416 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15419 be deterministic.
15420 (syndroms): Compute 0 syndrom.
15421 (rs_recover): Use 0 syndrom.
15422
15423 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15426
15427 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15430 brackets.
15431
15432 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15435 account.
15436 (get_top_pad): Likewise.
15437 (get_right_pad): Likewise.
15438 (get_bottom_pad): Likewise.
15439
15440 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
15443
15444 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15445
15446 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15447 attribute as the structure isn't guaranteed to be properly aligned.
15448 (grub_efi_pci_device_path): Likewise.
15449 (grub_efi_pccard_device_path): Likewise.
15450 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15451 specify the size of `memory_type'.
15452 (grub_efi_vendor_device_path): Likewise.
15453 (grub_efi_controller_device_path): Likewise.
15454 (grub_efi_acpi_device_path): Likewise.
15455 (grub_efi_expanded_acpi_device_path): Likewise.
15456 (grub_efi_atapi_device_path): Likewise.
15457 (grub_efi_scsi_device_path): Likewise.
15458 (grub_efi_fibre_channel_device_path): Likewise.
15459 (grub_efi_1394_device_path): Likewise.
15460 (grub_efi_usb_device_path): Likewise.
15461 (grub_efi_usb_class_device_path): Likewise.
15462 (grub_efi_i2o_device_path): Likewise.
15463 (grub_efi_mac_address_device_path): Likewise.
15464 (grub_efi_ipv4_device_path): Likewise.
15465 (grub_efi_ipv6_device_path): Likewise.
15466 (grub_efi_infiniband_device_path): Likewise.
15467 (grub_efi_uart_device_path): Likewise.
15468 (grub_efi_vendor_messaging_device_path): Likewise.
15469 (grub_efi_hard_drive_device_path): Likewise.
15470 (grub_efi_cdrom_device_path): Likewise.
15471 (grub_efi_vendor_media_device_path): Likewise.
15472 (grub_efi_file_path_device_path): Likewise.
15473 (grub_efi_protocol_device_path): Likewise.
15474 (grub_efi_piwg_device_path): Likewise.
15475 (grub_efi_bios_device_path): Likewise.
15476
15477 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15480 (grub_ucs4_to_utf8_alloc): Likewise.
15481 (grub_ucs4_to_utf8): Likewise.
15482 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15483 (grub_ucs4_to_utf8_alloc): Likewise.
15484
15485 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 AFFS never uses unicode.
15488
15489 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15490 (grub_latin1_to_utf8): New inline function.
15491 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15492
15493 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15496 overflow.
15497
15498 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15501 (grub_squash_dirent_header): Likewise.
15502 (read_chunk): Don't double swap.
15503 (grub_squash_iterate_dir): Fix swap sizes.
15504
15505 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15508
15509 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15512 (grub_hfs_iterate_dir): Likewise.
15513
15514 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 Fix video on platforms where unaligned access is forbidden.
15517 Make several optimisations while on it.
15518
15519 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15520 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15521 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15522 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15523 Disable.
15524 (grub_video_fbblit_replace_16bit_1bit):
15525 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15526 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15527 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15528 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15529 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15530 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15531 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15532 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15533 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15534 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15535 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15536 (grub_video_fbblit_replace_index_RGB888): Likewise.
15537 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15538 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15539 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15540 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15541 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15542 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15543 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15544 Disable.
15545 (grub_video_fbblit_blend_XXX565_1bit):
15546 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15547 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15548 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15549 void *.
15550 * grub-core/video/fb/video_fb.c (common_blitter)
15551 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15552 (grub_video_fb_create_render_target_from_pointer)
15553 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15554 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15555 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15556 definition.
15557 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15558
15559 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15560
15561 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15562 HH22 and HM10 relocations.
15563
15564 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15567
15568 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15569
15570 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15571 allocation succeeded.
15572
15573 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15576 argument a u8 pointer. All users updated.
15577 Handle unaligned buffers.
15578
15579 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15582 add_part to workaround compiler bug.
15583
15584 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15587
15588 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15591 Reserve alignment invariants.
15592 (grub_multiboot_load): Likewise.
15593 (retrieve_video_parameters): Likewise.
15594 (grub_multiboot_make_mbi): Likewise.
15595
15596 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15599 incorrect pointer.
15600
15601 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15602
15603 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15604 (grub_pata_pio_write): Likewise.
15605
15606 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15607
15608 Add noreturn attributes and remove unreachable code.
15609
15610 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15611 code.
15612 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15613 code. Mark as noreturn.
15614 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15615 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15616 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15617 unreachable code.
15618 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15619 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15620 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15621 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15622 * include/grub/kernel.h (grub_main): Mark as noreturn.
15623 * include/grub/reader.h (grub_rescue_run): Likewise.
15624
15625 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15628 redundant declaration.
15629
15630 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15633 redundant declaration.
15634 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15635
15636 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15639 to ensure alignment.
15640 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15641 alignment. Ensure tmp alignment.
15642 (grub_cmd_hdparm): Ensure buf alignment.
15643 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15644 to ensure alignment.
15645 (grub_ata_dumpinfo): Ensure text alignment.
15646 (grub_atapi_identify): Preserve alignment invariant.
15647 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15648
15649 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15652 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15653 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15654 * include/grub/misc.h (grub_reboot)
15655 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15656 (grub_halt) [__mips__]: Likewise.
15657
15658 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15661 Remove redundant declaration.
15662 (grub_mmap_get_post64): Likewise.
15663 (grub_mmap_get_upper): Likewise.
15664 (grub_mmap_get_lower): Likewise.
15665
15666 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15669 uint32_t * to ensure alignment.
15670 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15671
15672 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15675 uint16_t * to ensure alignment.
15676 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15677 alignment.
15678
15679 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
15682 to ensure alignment.
15683 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15684
15685 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15688 Handle unaligned pointers.
15689 (u32at): Likewise.
15690 (u64at): Likewise.
15691 (fixup): Use byte access instead of v16at.
15692 (find_attr): Fix imporper usage of v32at.
15693 (read_data): Likewise.
15694 (list_file): Handle byte-swapping and unaligned strings.
15695 (grub_ntfs_label): Likewise.
15696
15697 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15700 as it's not necessarily aligned.
15701
15702 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15705 redundant declaration.
15706 (grub_serial_init): Likewise.
15707 (grub_terminfo_init): Likewise.
15708
15709 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15710
15711 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15712 function.
15713 (ZAP_HASH_IDX): Likewise.
15714 (ZAP_LEAF_HASH_SHIFT): Likewise.
15715 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15716 (LEAF_HASH): Likewise.
15717 (ZAP_LEAF_NUMCHUNKS): Likewise.
15718 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15719 alignment invariants. Return pointer. All users updated.
15720 (ZAP_LEAF_ENTRY): Make into inline function.
15721 (NBBY): Removed.
15722 (xor): LIkewise.
15723 (xor_out): Use grub_crypto_xor.
15724 (dnode_get_path): Use grub_get_unaligned.
15725 (nvlist_find_value): Likewise.
15726 (grub_zfs_nvlist_lookup_uint64): Likewise.
15727 (grub_zfs_nvlist_lookup_string): Likewise.
15728 (get_nvlist_size): Likewise.
15729 (grub_zfs_open): Likewise.
15730 (fill_fs_info): Likewise.
15731 (grub_zfs_dir): Likewise.
15732 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15733 alignment invariants.
15734 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15735 necessarily aligned.
15736
15737 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15740
15741 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15744 arithmetic to conserve alignment invariants.
15745
15746 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15749 redundant declaration.
15750 (grub_efiemu_mm_obtain_request): Likewise.
15751 (grub_efiemu_prepare): Likewise.
15752
15753 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15756 to match types.
15757
15758 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15761 case of aunaligned recptr.
15762 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15763 alignment.
15764 (grub_hfsplus_btree_search): Handle unaligned index.
15765
15766 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15769 to get freetag and skip.
15770
15771 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15774 array.
15775 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15776 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15777
15778 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15779
15780 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15781 name for checksum and fix allocation algorithm.
15782
15783 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15784
15785 * include/grub/types.h (grub_properly_aligned_t): New type.
15786 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15787 (grub_get_unaligned16): Add explicit casts.
15788 (grub_get_unaligned32): Likewise.
15789 (grub_get_unaligned64): Likewise.
15790 (grub_set_unaligned16): New function.
15791 (grub_set_unaligned32): Likewise.
15792
15793 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15796
15797 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15800 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15801 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15802
15803 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15806 conditionals.
15807
15808 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15811 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15812
15813 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 Unify and improve RAID and crypto xor.
15816
15817 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15818 changed to grub_crypto_xor
15819 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15820 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15821 Use bigger types when possible.
15822
15823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * grub-core/disk/raid.c (scan_devices): Fix condition.
15826
15827 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15830 Make name a const ptr.
15831
15832 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15833
15834 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15835 first argument a const pointer.
15836 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15837 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15838 proto.
15839 (grub_children_iterate): Likewise.
15840 (grub_machine_mmap_iterate): Remove redundant declaration.
15841
15842 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15845 (grub_cmd_acpi) [!x86]: Disable EBDA.
15846
15847 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15848
15849 Enable UTF8 in gnulib regexp.
15850
15851 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15852 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15853 (isupper): Use grub_isupper.
15854 (isascii): New inline function.
15855 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15856 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15857 * grub-core/normal/charset.c (grub_utf8_process): New function.
15858 (grub_utf8_to_utf16): Use grub_utf8_process.
15859 (grub_encode_utf8_character): New function.
15860 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15861 * include/grub/charset.h (grub_utf8_process): New declaration.
15862 (grub_encode_utf8_character): Likewise.
15863 * include/grub/misc.h (grub_islower): New inline function.
15864 (grub_isupper): Likewise.
15865 (grub_strchrsub): Moved down to fix the definitions.
15866
15867 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15870 specification.
15871
15872 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 * include/grub/loader.h (grub_loader_register_preboot_hook):
15875 Use struct preboot * and not void * for handle. All users updated.
15876 (grub_loader_unregister_preboot_hook): Likewise.
15877
15878 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15881 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15882 UTF-16-BE. All users updated.
15883 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15884 (grub_hfsplus_iterate_dir): Likewise.
15885 (grub_hfsplus_label): Likewise.
15886
15887 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15890
15891 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 Add missing const qualifiers.
15894
15895 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15896 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15897 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15898 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15899 (grub_lvm_check_flag): Likewise.
15900 * grub-core/efiemu/i386/coredetect.c
15901 (grub_efiemu_get_default_core_name): Likewise
15902 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15903 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15904 * grub-core/fs/ntfs.c (fixup): Likewise.
15905 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15906 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15907 (fzap_lookup): Likewise.
15908 (zap_lookup): Likewise.
15909 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15910 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15911 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15912 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15913 (grub_freebsd_add_meta_module): Likewise.
15914 (grub_cmd_freebsd_module): Likewise.
15915 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15916 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15917 (grub_xnu_writetree_get_size): Likewise.
15918 (grub_xnu_writetree_toheap_real): Likewise.
15919 (grub_xnu_find_key): Likewise.
15920 (grub_xnu_create_key): Likewise.
15921 (grub_xnu_create_value): Likewise.
15922 (grub_xnu_register_memory): Likewise.
15923 (grub_xnu_check_os_bundle_required): Likewise.
15924 (grub_xnu_scan_dir_for_kexts): Likewise.
15925 (grub_xnu_load_kext_from_dir): Likewise.
15926 * grub-core/normal/color.c (color_list): Likewise.
15927 * grub-core/normal/completion.c (current_word): Likewise.
15928 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15929 * grub-core/term/serial.c (grub_serial_find): Likewise.
15930 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15931 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15932 Likewise.
15933 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15934 (grub_freebsd_add_meta_module): Likewise.
15935 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15936 * include/grub/net.h (grub_net_card_driver): Likewise.
15937 (grub_net_card): Likewise.
15938 (grub_net_app_protocol): Likewise.
15939 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15940 * include/grub/serial.h (grub_serial_find): Likewise.
15941 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15942 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15943 (grub_xnu_create_value): Likewise.
15944 (grub_xnu_find_key): Likewise.
15945 (grub_xnu_scan_dir_for_kexts): Likewise.
15946 (grub_xnu_load_kext_from_dir): Likewise.
15947
15948 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15949 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15950 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15951 Moved from here ...
15952 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15953
15954 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
15955
15956 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15957
15958 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15961 (read_device): Fix size calculation.
15962
15963 2011-11-25 Robert Millan <rmh@gnu.org>
15964
15965 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15966 (find_root_device_from_libzfs): Add zpool output parser to be used
15967 as fallback when libzfs isn't available.
15968
15969 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15970
15971 * po/Makefile.in.in: Add missing escape-continuation.
15972
15973 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
15976
15977 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
15980
15981 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15982
15983 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
15984
15985 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
15988
15989 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * grub-core/lib/adler32.c: Add missing license specification.
15992 * grub-core/lib/crc64.c: Likewise.
15993 * grub-core/loader/i386/pc/plan9.c: Likewise.
15994 * grub-core/partmap/plan.c: Likewise.
15995
15996 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
15997
15998 Add facility to debug GRUB with gdb under qemu.
15999
16000 * grub-core/gdb_grub.in: New file.
16001 * grub-core/gmodule.pl.in: Likewise.
16002 * grub-core/Makefile.core.def (gmodule.pl): New script.
16003 (gdb_grub): Likewise.
16004
16005 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * util/grub-mount.c (argp_parser): Accept relative pathes.
16008 * util/grub-fstest.c (argp_parser): Likewise.
16009
16010 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 Plan9 support.
16013
16014 * Makefile.util.def (libgrubmods): Add
16015 grub-core/partmap/plan.c.
16016 * docs/grub.texi: Notice Plan9 support.
16017 * grub-core/Makefile.core.def (plan9): New module.
16018 (part_plan): Likewise.
16019 * grub-core/loader/i386/pc/plan9.c: New file.
16020 * grub-core/partmap/plan.c: Likewise.
16021 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16022 define.
16023 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16024 * include/grub/mm.h (grub_extend_alloc): New inline function.
16025
16026 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16027
16028 Make Reed-Solomon faster by using power of generator representation of
16029 GF(256)*.
16030
16031 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16032 (gf_double_t): Likewise.
16033 (gf_invert): Removed.
16034 (gf_powx): New array.
16035 (gf_powx_inv): Likewise.
16036 (scratch): Move higher.
16037 (gf_reduce): Removed.
16038 (gf_mul): Use powx.
16039 (gf_invert): Likewise.
16040 (init_inverts): Replaced with ...
16041 (init_powx): ...this. All users updated.
16042 (pol_evaluate): Replace multiplications with additions.
16043 (rs_encode): Likewise.
16044 (gauss_eliminate): Call gf_invert.
16045 (grub_reed_solomon_add_redundancy): Call init_powx.
16046 (grub_reed_solomon_recover): Call init_powx unconditionally.
16047
16048 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16051
16052 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16055 disk->partiton for safety.
16056
16057 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16060 Fix a memory leak.
16061 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16062
16063 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16064
16065 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16066
16067 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16070
16071 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 Fix spaces handling in proc/self/mountinfo.
16074
16075 * util/getroot.c (unescape): New function.
16076 (grub_find_root_device_from_mountinfo): Use unescape.
16077
16078 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16079
16080 Support ZFS embedding.
16081
16082 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16083 (grub_zfs_fs): Register grub_zfs_embed.
16084
16085 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 Fix MIPS compilation.
16088
16089 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16090 * include/grub/offsets.h: Rename decompressor fields from
16091 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16092 * util/grub-mkimage.c (image_targets): Use new names.
16093
16094 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 Defer multiboot device parsing until we're in compressed part.
16097
16098 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16099 bsd_part. setdevice has fallen into disuse.
16100 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16101 (bsd_part): Likewise.
16102 (boot_dev): New variable.
16103 (multiboot_trampoline): Don't parse multiboot device.
16104 Pass multiboot device in %edx.
16105 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16106 grub_boot_device.
16107 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16108 Likewise.
16109 * grub-core/kern/i386/pc/startup.S: Save edx.
16110 (grub_boot_drive): Removed.
16111 (grub_install_dos_part): Likewise.
16112 (grub_install_bsd_part): Likewise.
16113 (grub_boot_device): New variable.
16114 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16115 (grub_install_bsd_part): Likewise.
16116 (grub_boot_drive): Likewise.
16117 (grub_boot_device): New variable.
16118 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16119 Removed.
16120 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16121 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16122 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16123 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16124 * util/grub-install.in: Remove redundant condition.
16125
16126 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16127
16128 Fix bug introduced by previous commit.
16129
16130 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16131
16132 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 Use decompressors framework on i386-pc. It increases core size
16135 by 46 bytes but improves compatibility and maintainability.
16136
16137 * grub-core/Makefile.core.def (lzma_decompress): New image.
16138 (kernel): Add i386_pc_ldflags.
16139 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16140 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16141 to real_to_prot, prot_to_real and device info.
16142 * include/grub/offsets.h: Renamed decompressor offsets.
16143 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16144 (image_target_desc): Remove raw_size and rename decompressor fields.
16145 (compress_kernel): Handle lzma.
16146 (generate_image): Handle decompressors on i386-pc.
16147
16148 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * configure.ac: Add -fno-asynchronous-unwind-tables.
16151
16152 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 Move assembly code to C by using intwrap. It increases core size
16155 by 88 bytes but improves compatibility and maintainability.
16156
16157 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16158 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16159 ... here. Translated to C.
16160 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16161 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16162 ... here. Translated to C.
16163 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16164 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16165 ... here. Translated to C.
16166 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16167 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16168 ... here. Translated to C.
16169 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16170 * grub-core/term/i386/pc/console.c (grub_console_cls):
16171 ... here. Translated to C.
16172 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16173 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16174 ... here. Translated to C.
16175 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16176 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16177 Translated to C.
16178 * grub-core/term/i386/pc/console.c (int10_9): New function.
16179 (grub_console_putchar): Likewise.
16180 * include/grub/i386/pc/console.h: Removed the not anymore shared
16181 functions.
16182
16183 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 Move grub_chainloader_real_boot out of the kernel.
16186
16187 * grub-core/Makefile.am: Remove machine/loader.h.
16188 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16189 Removed.
16190 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16191 variable.
16192 (grub_relocator16_keep_a20_enabled): Likewise.
16193 (grub_relocator16_boot): Fill new variables.
16194 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16195 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16196 relocator.
16197 (grub_chainloader_unload): Likewise.
16198 (grub_chainloader_cmd): Likewise.
16199 * include/grub/i386/pc/loader.h: Removed.
16200 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16201 and esi. All initialisers updated.
16202
16203 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16204 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
16205
16206 * Makefile.util.def (grub-mount): New util.
16207 * .bzrignore: Add grub-mount.
16208 * configure.ac: Check for fuse and enable grub-mount if available.
16209 * docs/man/grub-mount.h2m: New file.
16210 * util/grub-mount.c: Likewise.
16211
16212 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * grub-core/commands/efi/fixvideo.c: Gettextize.
16215 * grub-core/commands/hashsum.c: Likewise.
16216 * grub-core/commands/i386/cmostest.c: Likewise.
16217 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16218 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16219 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16220 * grub-core/commands/lsmmap.c: Likewise.
16221 * grub-core/commands/menuentry.c: Likewise.
16222 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16223 * grub-core/commands/setpci.c: Likewise.
16224 * grub-core/loader/i386/bsd.c: Likewise.
16225 * grub-core/loader/i386/linux.c: Likewise.
16226 * util/getroot.c: Likewise.
16227 * util/grub-editenv.c: Likewise.
16228 * util/grub-fstest.c: Likewise.
16229 * util/grub-mkfont.c: Likewise.
16230 * util/grub-mkimage.c: Likewise.
16231 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16232 * util/grub-pe2elf.c: Likewise.
16233 * util/grub-probe.c: Likewise.
16234 * util/grub-setup.c: Likewise.
16235 * util/ieee1275/ofpath.c: Likewise.
16236 * util/misc.c: Likewise.
16237 * util/raid.c: Likewise.
16238
16239 2011-11-11 Robert Millan <rmh@gnu.org>
16240
16241 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16242 __attribute__((unused)) from `os_dev', which *is* being used.
16243
16244 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16245
16246 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16247 forgotten define.
16248 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16249 GRUB_IA64_DL_GOT_ALIGN.
16250 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16251 GRUB_IA64_DL_TRAMP_ALIGN.
16252
16253 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 Replace grub_fatal with normal errors in i386 linux loader.
16256
16257 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16258 (allocate_pages): Check find_efi_mmap_size return value.
16259 (grub_e820_add_region): Return error.
16260 (grub_linux_boot): Check mmap return value.
16261
16262 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * grub-core/commands/acpihalt.c: Gettextized.
16265 * grub-core/commands/cacheinfo.c: Likewise.
16266 * grub-core/commands/cmp.c: Likewise.
16267 * grub-core/commands/efi/loadbios.c: Likewise.
16268 * grub-core/commands/gptsync.c: Likewise.
16269 * grub-core/commands/ieee1275/suspend.c: Likewise.
16270 * grub-core/commands/legacycfg.c: Likewise.
16271 * grub-core/commands/memrw.c: Likewise.
16272 * grub-core/commands/minicmd.c: Likewise.
16273 * grub-core/commands/parttool.c: Likewise.
16274 * grub-core/commands/time.c: Likewise.
16275 * grub-core/commands/videoinfo.c: Likewise.
16276 * grub-core/disk/geli.c: Likewise.
16277 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16278 * grub-core/disk/luks.c: Likewise.
16279 * grub-core/disk/lvm.c: Likewise.
16280 * grub-core/font/font_cmd.c: Likewise.
16281 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16282 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16283 * grub-core/gfxmenu/view.c: Likewise.
16284 * grub-core/kern/emu/hostdisk.c: Likewise.
16285 * grub-core/kern/emu/main.c: Likewise.
16286 * grub-core/kern/emu/misc.c: Likewise.
16287 * grub-core/kern/emu/mm.c: Likewise.
16288 * grub-core/kern/mips/arc/init.c: Likewise.
16289 * grub-core/kern/mips/loongson/init.c: Likewise.
16290 * grub-core/kern/partition.c: Likewise.
16291 * grub-core/lib/i386/halt.c: Likewise.
16292 * grub-core/lib/mips/arc/reboot.c: Likewise.
16293 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16294 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16295 * grub-core/loader/i386/xnu.c: Likewise.
16296 * grub-core/loader/multiboot.c: Likewise.
16297 * grub-core/net/bootp.c: Likewise.
16298 * grub-core/net/net.c: Likewise.
16299 * grub-core/normal/term.c: Likewise.
16300 * grub-core/partmap/bsdlabel.c: Likewise.
16301 * grub-core/parttool/msdospart.c: Likewise.
16302 * grub-core/term/gfxterm.c: Likewise.
16303 * grub-core/term/terminfo.c: Likewise.
16304 * grub-core/video/i386/pc/vbe.c: Likewise.
16305 * util/grub-menulst2cfg.c: Likewise.
16306 * util/grub-mkdevicemap.c: Likewise.
16307 * util/grub-mklayout.c: Likewise.
16308 * util/grub-mkrelpath.c: Likewise.
16309 * util/grub-script-check.c: Likewise.
16310 * util/ieee1275/grub-ofpathname.c: Likewise.
16311 * util/resolve.c: Likewise.
16312
16313 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 Support %1$d syntax.
16316
16317 * tests/printf_unit_test.c: New file.
16318 * Makefile.util.def (printf_test): New test.
16319 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16320
16321 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16324 fix.
16325
16326 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16329 dprintf.
16330 * grub-core/font/font.c (grub_font_load): Likewise.
16331
16332 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 * util/grub-macho2img.c: Add comment concerning gettext.
16335 * grub-core/lib/legacy_parse.c: Likewise.
16336
16337 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16340 (grub_xvasprintf): Likewise.
16341
16342 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 Add const keyword to grub_env_get and gettextize week days.
16345
16346 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16347 (grub_read_hook_datetime): Return const char *.
16348 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16349 updated.
16350 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16351 Mark for gettext.
16352 (grub_get_weekday_name): Return const char *. Call gettext.
16353 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16354 char * and len as the argument. All users updated.
16355 (grub_script_argv_split_append): Receive const char *.
16356 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16357 * include/grub/env.h (grub_env_get): Likewise.
16358 (grub_env_read_hook_t): Return const char *.
16359 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16360 (grub_script_argv_split_append): Likewise.
16361
16362 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16365
16366 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16369 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16370
16371 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16374 Fix prototype.
16375
16376 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16377
16378 Fix mips compilation.
16379
16380 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16381 normal decoder.
16382 (hashes): Use in embed decoder as well (for sizes).
16383 (dec_stream_header): Fix embed decompressor logic.
16384 (dec_stream_footer): Likewise.
16385
16386 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16389 an error and not a fatal on unrecognised relocation types.
16390
16391 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16392
16393 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16394 Issue error rather than printf on unknown arguments.
16395
16396 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16397
16398 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16399 Make buf a const.
16400
16401 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16404 Fix module name.
16405
16406 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16409 leftover debug printf.
16410
16411 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16414
16415 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16416
16417 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16418 A stylistic fix.
16419
16420 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16421
16422 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16423
16424 2011-11-10 Shea Levy <slevy@tieronedesign.com>
16425
16426 Allow all modules to perform serial IO
16427
16428 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16429 * include/grub/serial.h (grub_serial_port_configure): New inline
16430 function.
16431 (grub_serial_port_fetch): Likewise.
16432 (grub_serial_port_put): Likewise.
16433 (grub_serial_port_fini): Likewise.
16434 (grub_serial_find): New proto.
16435
16436 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 Put symlink at the end of the node and fix a potential
16439 memory corruption.
16440
16441 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16442 Make symlink into an array.
16443 (set_rockridge): Set have_symlink and alloc_dirents.
16444 (grub_iso9660_read_symlink): Use new layout.
16445 (grub_iso9660_iterate_dir): Fix memory corruption.
16446 Use new layout.
16447 (grub_iso9660_dir): Set have_symlink.
16448 (grub_iso9660_open): Likewise.
16449
16450 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16451
16452 Remove local keyword.
16453
16454 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16455 (version_test_gt): Likewise.
16456 (version_find_latest): Likewise.
16457 (gettext_printf): Likewise.
16458 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16459
16460 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16461
16462 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16463
16464 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 Fix ZFS memory and resource leaks.
16467
16468 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16469 All users updated.
16470 Free type on exit.
16471 (fill_vdev_info): New parameter inserted. All users updated.
16472 (check_pool_label): Likewise.
16473 (scan_disk): Likewise.
16474 (scan_devices): Close non-inserted disks.
16475 (fzap_iterate): Free l.
16476 (unmount_device): Free children descripto memory.
16477
16478 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16481 argument (access out of bounds).
16482
16483 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16486 >= 6 drives.
16487
16488 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16491 Fix declaration.
16492
16493 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16494
16495 Fix several memory leaks.
16496
16497 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16498 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16499 (grub_cpio_dir): Likewise.
16500 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16501 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16502 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16503 (grub_romfs_label): Likewise.
16504 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16505 (squash_unmount): New function.
16506 (grub_squash_dir): Fix memory leak.
16507 (grub_squash_open): Likewise.
16508 (grub_squash_read): Likewise.
16509 (grub_squash_mtime): Likewise.
16510 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16511 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16512 * util/grub-fstest.c (fstest): Likewise.
16513
16514 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16517 avoid accessing beyond the array.
16518
16519 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16522
16523 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 Several AFFS fixes.
16526
16527 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16528 (GRUB_AFFS_FLAG_FFS): Removed.
16529 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16530 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16531 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16532 (grub_fshelp_node): Make block 32-bit.
16533 Add block_cache and last_block_cache.
16534 (grub_affs_read_block): Fill and use block cache.
16535 (grub_affs_read_file): Removed.
16536 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16537 boot block.
16538 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16539 safety.
16540 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16541 space.
16542 (grub_affs_close): Free block cache.
16543 (grub_affs_read): Use grub_fshelp_read_file directly.
16544
16545 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16546
16547 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16548 with no error set.
16549
16550 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16553 used variable.
16554 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16555 Likewise.
16556
16557 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16560
16561 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16562 byteswap when needed.
16563
16564 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16565
16566 Fix FreeBSD compilation.
16567
16568 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16569 to avoid circular dependency.
16570 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16571 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16572 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16573
16574 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 Fix ZFS crypto error types.
16577
16578 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16579 (grub_gcm_decrypt): Likewise.
16580 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16581 from PBKDF2.
16582
16583 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 Illumos support.
16586
16587 * Makefile.util.def (10_illumos): New script.
16588 * configure.ac: Set COND_HOST_ILLUMOS.
16589 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16590 Support Illumos calls.
16591 (find_partition_start) [__sun__]: Likewise.
16592 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16593 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16594 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16595 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16596 device.
16597 * util/grub-probe.c (probe) [__sun__]: Do character check.
16598 * util/grub.d/10_illumos.in: New file.
16599
16600 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 Support escaped commas in hostdisk.
16603
16604 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16605 (find_grub_drive): Use unescape_cmp.
16606 (make_device_name): Escape commas.
16607
16608 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16611
16612 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16615 variable.
16616
16617 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 Support trampoline jumps on powerpc.
16620
16621 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16622 __ia64__ path.
16623 (grub_dl_load_segments): Set mod->sz.
16624 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16625 segments.
16626 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16627 (jump): Likewise.
16628 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16629 function.
16630 (trampoline): New struct.
16631 (trampoline_template): New const.
16632 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16633 * include/grub/dl.h (grub_dl): Add sz element.
16634 [__powerpc__]: Follow __ia64__.
16635 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16636 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16637 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16638 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16639
16640 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 ZFS crypto support.
16643
16644 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16645 * grub-core/Makefile.core.def (zfscrypt): New module.
16646 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16647 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16648 it. All users updated.
16649 (grub_zfs_decrypt): New var.
16650 (grub_zfs_load_key): Likewise.
16651 (zio_checksum_functions): Add SHA256+MAC.
16652 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16653 (zio_read): Handle encrypted blocks.
16654 (zap_verify): Remove incorrect check.
16655 (fzap_iterate): Handle non-standard fzap.
16656 (zap_iterate): Likewise.
16657 (zap_iterate_u64): New function.
16658 (dnode_get_fullpath): Load keys.
16659 * grub-core/fs/zfs/zfscrypt.c: New file.
16660 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16661 (grub_crypto_ecb_encrypt): Make input const.
16662 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16663 (grub_crypto_ecb_encrypt): Make input const.
16664 (GRUB_CIPHER_AES): New macro.
16665 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16666 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16667 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16668 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16669 prefix. All users updated.
16670 (grub_zfs_add_key): New proto.
16671 (grub_zfs_decrypt): Likewise.
16672 (grub_zfs_load_key): Likewise.
16673 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16674 * util/grub-fstest.c (options): Add -K option.
16675 (argp_parser): Likewise.
16676
16677 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 Support zle compression on ZFS.
16680
16681 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16682 (decomp_table): Add zle.
16683 * include/grub/zfs/zio.h (zio_compress): Add zle.
16684
16685 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16686
16687 Support BtrFS embedding.
16688
16689 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16690 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16691 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16692 * util/grub-setup.c (setup): Use fs embedding if available.
16693 Add additional sanity check.
16694
16695 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16696
16697 * util/grub-install.in: Fix condition for config_opt.
16698
16699 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 Support third redundancy strip on raidz3.
16702
16703 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16704 Return error on singularity. All users updated.
16705 (read_device): Don't stop on 3rd failure on raidz3.
16706
16707 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 Support case-insensitive ZFS subvolumes.
16710
16711 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16712 All users updated.
16713 (zap_hash): Likewise.
16714 (name_cmp): New function.
16715 (zap_leaf_array_equal): New parameter case_insensitive.
16716 All users updated.
16717 (zap_leaf_lookup): Likewise.
16718 (fzap_lookup): Likewise.
16719 (zap_lookup): Likewise.
16720 (dnode_get_path): New parameter case_insensitive. Retrieve case
16721 sensitiviness of a volume. All users updated.
16722 (dnode_get_fullpath): New parameter case_insensitive.
16723 All users updated.
16724 (grub_zfs_dir): Set info.case_insensitiveness.
16725
16726 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16727
16728 Support second redundancy strip on raidz(2,3).
16729
16730 * grub-core/fs/zfs/zfs.c (powx): New array.
16731 (powx_inv): Likewise.
16732 (poly): New const.
16733 (xor_out): New function.
16734 (gf_mul): Likewise.
16735 (recovery): Likewise.
16736 (read_device): Use second redundancy strip.
16737
16738 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 Use a power of generator representation of GF(256) multiplication group
16741 to save space time and complexity.
16742
16743 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16744 (raid6_table2): Likewise.
16745 (powx): New array.
16746 (powx_inv): Likewise.
16747 (poly): New const.
16748 (grub_raid_block_mul): Replace with ...
16749 (grub_raid_block_mulx): ...this.
16750 (grub_raid6_init_table): Rewritten.
16751 (grub_raid6_recover): Use power of generator representation.
16752
16753 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16754
16755 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16756 for the right device.
16757
16758 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16761 expected by grub-mkimage and it's more clear since there is no implicit
16762 padding.
16763
16764 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16767 disk.
16768 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16769
16770 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16771
16772 * util/grub-mkrescue.in: Fix handling xorriso option.
16773
16774 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16777 NULL.
16778
16779 2011-11-03 crocket <crockabiscuit@gmail.com>
16780
16781 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16782
16783 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 XZ CRC64 and SHA256 support.
16786
16787 * Makefile.util.def (libgrubmods): Add crc64.c.
16788 * grub-core/Makefile.core.def (crc64): New module.
16789 * grub-core/lib/crc64.c: New file.
16790 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16791 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16792 Fix the type.
16793 (MAX_HASH_SIZE): New define.
16794 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16795 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16796 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16797 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16798 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16799 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16800 Handle non-crc32 hashes.
16801 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16802 (dec_stream_header): Handle non-crc32 hashes.
16803 (dec_stream_footer): Likewise.
16804 (dec_block_header): Likewise.
16805 (dec_main): Likewise.
16806 (xz_dec_init): Likewise.
16807 (xz_dec_reset): Likewise.
16808 (xz_dec_end): Likewise.
16809 * util/import_gcry.py: Add CRC64 line.
16810
16811 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16812
16813 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16814 as well.
16815
16816 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 Make reiserfs label retrieval similar to other *_label functions.
16819
16820 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16821 (REISERFS_MAX_LABEL_LENGTH): Removed.
16822 (REISERFS_LABEL_OFFSET): Likewise.
16823 (grub_reiserfs_label): Rewritten.
16824
16825 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16828 field.
16829
16830 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16831
16832 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16833
16834 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16837 drive failure on both raidz and raidz2.
16838
16839 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 Fix RAIDZ(2) for >= 5 devices.
16842
16843 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16844 asize argument. All users updated.
16845
16846 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16847
16848 Fix RAIDZ(2).
16849
16850 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16851 (fill_vdev_info_real): Set ashift.
16852 (read_device): Rewrite RAIDZ part based on reverse engineering.
16853
16854 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16857 don't report potentially unavialiable fields in debug output.
16858 (find_path): Fix double-free and memory leak.
16859
16860 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 Read label on UFS1.
16863
16864 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16865 (grub_ufs_fs): Always set .label.
16866
16867 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 Use shifts in UFS.
16870
16871 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16872 (grub_ufs_data): New field log2_blksz.
16873 (grub_ufs_read_file): Use shifts.
16874 (grub_ufs_mount): Check block size and logarithm it.
16875
16876 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16879 long symlinks.
16880
16881 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 Handle symlinks and long names on tar and cpio.
16884
16885 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16886 (ATTR_FILE): Likewise.
16887 (ATTR_DIR): Likewise.
16888 (ATTR_LNK): Likewise.
16889 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16890 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16891 L and K entries.
16892 (grub_cpio_mount): Zero-fill data.
16893 (handle_symlink): New function.
16894 (grub_cpio_dir): Handle symlinks.
16895 (grub_cpio_open): Likewise.
16896 (grub_cpio_close) [MODE_USTAR]: Free linkname.
16897
16898 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 Fix iso9660 filename limitations and fix memory leaks.
16901
16902 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16903 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16904
16905 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16906
16907 Fix JFS file name length limitations.
16908
16909 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16910 (grub_jfs_diropen): Fix maximum filename length.
16911 (grub_jfs_getent): Fix filename length.
16912 (grub_jfs_lookup_symlink): Fix size checks.
16913
16914 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16917 string.
16918
16919 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 Leverage BFS implementation to read AFS.
16922
16923 * Makefile.util.def (libgrubmods): Add afs.c.
16924 * grub-core/Makefile.core.def (afs): New module
16925 * grub-core/fs/afs.c: New file.
16926 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16927
16928 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
16931
16932 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 * grub-core/fs/bfs.c: Run indent.
16935
16936 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16937
16938 BFS implementation based on the specification.
16939
16940 * grub-core/fs/bfs.c: New file.
16941 * Makefile.util.def (libgrubmods): Add bfs.c.
16942 * grub-core/Makefile.core.def (bfs): New module.
16943
16944 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 * util/grub-fstest.c (cmd_cp): Clarify error message.
16947 (cmd_cmp): Likewise.
16948
16949 2011-10-30 Yves Blusseau <blusseau@zetam.org>
16950
16951 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16952 and befs_be.
16953
16954 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16955
16956 Remove afs and befs because of copyright problem.
16957
16958 * grub-core/fs/afs.c: Removed.
16959 * grub-core/fs/afs_be.c: Removed.
16960 * grub-core/fs/befs.c: Removed.
16961 * grub-core/fs/befs_be.c: Removed.
16962 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16963 * grub-core/Makefile.core.def (afs): Removed.
16964 (afs_be): Likewise.
16965 (befs): Likewise.
16966 (befs_be): Likewise.
16967
16968 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16969
16970 Prefer rockridge over Joliet.
16971
16972 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
16973 to ...
16974 (set_rockridge): ... here.
16975 (grub_iso9660_mount): Check rockridge on the primary label when
16976 discovering. Ignore Joliet if Rockridge is present.
16977
16978 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 Use shifts in nilfs2.
16981
16982 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
16983 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
16984 (grub_nilfs2_palloc_entries_per_group): Replace with ...
16985 (grub_nilfs2_log_palloc_entries_per_group): ... this.
16986 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
16987 (grub_nilfs2_entries_per_block): Replaced with ...
16988 (grub_nilfs2_log_entries_per_block_log): ... this.
16989 (grub_nilfs2_blocks_per_group): Replaced with ...
16990 (grub_nilfs2_blocks_per_group_log): ... this.
16991 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
16992 (grub_nilfs2_blocks_per_desc_block_log): ... this.
16993 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
16994 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
16995 (grub_nilfs2_palloc_entry_offset): Replaced ...
16996 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
16997 (grub_nilfs2_dat_translate): Use shifts.
16998 (grub_nilfs2_read_inode): Likewise.
16999 (GRUB_MOD_INIT): Ensure that logs are correct.
17000
17001 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 Use shifts in minix filesystem.
17004
17005 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17006 (GRUB_MINIX_ZONE2SECT): Likewise.
17007 (grub_minix_data): Replace block_size with log_block_size.
17008 (grub_minix_read_file): Use shifts.
17009 (grub_minix_mount): Check block size and take a logarithm.
17010
17011 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17012
17013 Use shifts in squash4.
17014
17015 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17016 (squash_mount): Check block size and take logarithm.
17017 (direct_read): Use shifts.
17018
17019 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 Correct befs block counting logic.
17022
17023 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17024 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17025 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17026 (grub_afs_read_inode): Use block_shift.
17027 (RANGE_SHIFT): New definition.
17028 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17029 unexpected conditions, use shifts and appropriate types.
17030 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17031
17032 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17033
17034 * grub-core/disk/raid.c (scan_devices): Check partition.
17035 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17036
17037 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 Support BFS (befs) UUID.
17040
17041 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17042 (grub_afs_small_data_element_header): New struct.
17043 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17044 (grub_afs_read_attribute) [MODE_BFS]: New function.
17045 (grub_afs_iterate_dir): Allocate for complete inode.
17046 (grub_afs_mount): Likewise.
17047 (grub_afs_uuid) [MODE_BFS]: New function.
17048 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17049
17050 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17053 (zfs_unmount): Fix memory leak.
17054
17055 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17056
17057 Support NTFS reparse points.
17058
17059 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17060 (symlink_descriptor): New struct.
17061 (grub_ntfs_read_symlink): New function.
17062 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17063 (grub_ntfs_open): Likewise.
17064
17065 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17066
17067 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17068
17069 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 fstest xnu_uuid subcommand.
17072
17073 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17074 grub-core/commands/xnu_uuid.c.
17075 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17076 (fstest): Handle xnu_uuid.
17077 (options): Document xnu_uuid.
17078 (argp_parser): Parse xnu_uuid.
17079
17080 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17083 -l argument. Add newline at the end if printing.
17084 (GRUB_MOD_INIT): Document -l.
17085
17086 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17089
17090 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 ZFS multi-device and version 33 support.
17093
17094 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17095 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17096 (grub_zfs_data): Add multidev-ice-related fields.
17097 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17098 (dva_get_offset): Make dva const.
17099 (zfs_fetch_nvlist): New function.
17100 (fill_vdev_info_real): Likewise.
17101 (fill_vdev_info): Likewise.
17102 (check_pool_label): Likewise.
17103 (scan_disk): Likewise.
17104 (scan_devices): Likewise.
17105 (read_device): Likewise.
17106 (read_dva): Likewise.
17107 (zio_read_gang): Use read_dva.
17108 (zio_read_data): Likewise.
17109 (zap_leaf_lookup): Add missing endian conversion.
17110 (zap_verify): Add missing endian conversion. All users updated.
17111 (fzap_lookup): Likewise.
17112 (fzap_iterate): Likewise.
17113 (dnode_get_path): Handle SA bonus.
17114 (nvlist_find_value): Make input const. All users updated.
17115 (unmount_device): New function.
17116 (zfs_unmount): Use unmount_device.
17117 (zfs_mount): Use scan_disk.
17118 (zfs_mtime): New function.
17119 (grub_zfs_open): Handle system attributes.
17120 (fill_fs_info): Likewise.
17121 (grub_zfs_dir): Likewise.
17122 (grub_zfs_fs): Add mtime.
17123 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17124 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17125 (SA_MTIME_OFFSET): Likewise.
17126 (SA_SYMLINK_OFFSET): Likewise.
17127 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17128 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17129 (fstest): Support zfsinfo.
17130 (argp_parser): Likewise.
17131
17132 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17135 error.
17136
17137 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17138
17139 ZFS fixes.
17140
17141 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17142 sharing the same block. Iterate over correct number of indices.
17143 (dnode_get_path): Handle symlinks correctly.
17144
17145 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17148
17149 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17150
17151 Read label on HFS+.
17152
17153 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17154 (grub_hfsplus_btree_search): Fix types.
17155 (grub_hfsplus_label): Implement.
17156
17157 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17160
17161 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17164
17165 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 Fix symlink handling on iso9660.
17168
17169 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17170 All users updated.
17171 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17172 (grub_iso9660_read_symlink): Moved most of code ...
17173 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17174
17175 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17178 Use union to avoid breaking strict-aliasing rules.
17179
17180 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17181
17182 Support multi-extent iso files.
17183
17184 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17185 Add node.
17186 (grub_fshelp_node): Revamp. All users updated.
17187 (FLAG_*): New enum.
17188 (read_node): New function.
17189 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17190 All users updated.
17191 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17192 (get_node_size): New function.
17193 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17194 entries.
17195 Fix memory leak on . and ..
17196 (grub_iso9660_read): Use read_node.
17197 (grub_iso9660_close): Free node.
17198
17199 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17200
17201 Fix tar 4G limit and handle paths containing dot.
17202
17203 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17204 (canonicalize): New function.
17205 (grub_cpio_find_file): Use canonicalize. Store offs in
17206 grub_disk_addr_t.
17207 (grub_cpio_dir): Use grub_disk_addr_t.
17208 (grub_cpio_open): Likewise.
17209
17210 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17213
17214 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17215 unused flags.
17216 (grub_squash_inode): Add long_file and block_size.
17217 (grub_squash_cache_inode): New struct.
17218 (grub_squash_dirent): Make types into enum.
17219 (SQUASH_TYPE_LONG_REGULAR): New type.
17220 (grub_squash_frag_desc): Add field size.
17221 (SQUASH_BLOCK_FLAGS): New enum.
17222 (grub_squash_data): Use grub_squash_cache_inode.
17223 (grub_fshelp_node): Make ino_chunk 64-bit.
17224 (read_chunk): Minor argument change. All users updated.
17225 (squash_mount): Use correct le_to_cpu.
17226 (grub_squash_open): Handle LONG_REGULAR.
17227 (direct_read): New function.
17228 (grub_squash_read_data): Handle blocks correctly.
17229
17230 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17231
17232 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17233
17234 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17237
17238 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 Fix 2G limit on ZFS.
17241
17242 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17243 types.
17244 (uberblock_verify): Likewise.
17245 (dmu_read): Likewise.
17246 (grub_zfs_read): Likewise. Remove invalid cast.
17247
17248 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17251 (grub_jfs_blkno): Fix incorrect shift.
17252 (grub_jfs_read_file): Use more appropriate types.
17253
17254 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17255
17256 Support triple indirect on minix2 and minix3.
17257
17258 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17259 Declare triple_indir_zone.
17260 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17261 indirect.
17262
17263 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 Minix FS fixes.
17266
17267 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17268 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17269 Rename ctime to mtime. All users updated.
17270 (grub_minix_get_file_block): Fix types and double indirect computations.
17271
17272 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17275 if no label is found.
17276 (grub_fat_iterate_dir): Fix file size type.
17277 (grub_fat_iterate_dir): Likewise.
17278
17279 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17282 save some space.
17283 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17284 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17285
17286 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17287
17288 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17289
17290 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17291
17292 * util/import_gcry.py: Accept space between # and include.
17293
17294 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17297
17298 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17301
17302 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17303 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17304 yylex_strncpy.
17305 * grub-core/script/yylex.l: Add fine-grained #pragma.
17306
17307 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17310 New inline function.
17311 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17312 Likewise.
17313 (memset) [GRUB_UTIL]: Likewise.
17314 (memcmp) [GRUB_UTIL]: Likewise.
17315
17316 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17319 inline function rather than a define.
17320
17321 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17322
17323 * util/grub-setup.c: Add missing include.
17324
17325 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 * util/ieee1275/grub-ofpathname.c: Add missing include.
17328
17329 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17330
17331 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17332 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17333 Likewise.
17334
17335 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17338 grub_memcmp usage.
17339
17340 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17341
17342 * util/grub-install.in: Add datarootdir as per automake manual
17343 suggestion.
17344 * util/grub-mknetdir.in: Likewise.
17345
17346 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17347
17348 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17349 suggestion.
17350 * util/grub.d/10_kfreebsd.in: Likewise.
17351 * util/grub.d/10_linux.in: Likewise.
17352 * util/grub.d/10_netbsd.in: Likewise.
17353 * util/grub.d/10_windows.in: Likewise.
17354 * util/grub.d/20_linux_xen.in: Likewise.
17355
17356 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17357
17358 Remove redundant grub_kernel_image_size.
17359
17360 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17361 _edata and _start.
17362 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17363 the small code. It moves it only by few bytes but simplifies the code.
17364 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17365 _start.
17366 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17367 (grub_kernel_image_size): Removed.
17368 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17369 (grub_kernel_image_size): Removed.
17370 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17371 compiled with Apple toolchain.
17372 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17373 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17374 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17375 (grub_total_module_size): Likewise.
17376 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17377 Removed.
17378 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17379 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17380 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17381 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17382 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17383 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17384 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17385 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17386 Removed.
17387 (grub_total_module_size): Removed.
17388 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17389 (image_targets): Likewise.
17390 Set .compressed_size to no field on sparc.
17391 (generate_image): Remove kernel_image_size handling.
17392
17393 2011-10-19 Szymon Janc <szymon@janc.net.pl>
17394
17395 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17396 NULL pointer dereference.
17397
17398 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17401 done with a dedicated section.
17402
17403 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17404 Ensure the correct position of boot_path.
17405 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17406 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17407 other fields.
17408 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17409 * include/grub/boot.h: Removed. All references removed.
17410 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17411 Removed.
17412 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17413
17414 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17417 name.
17418
17419 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17422
17423 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17424
17425 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17426 Don't add the bogus brackets.
17427
17428 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 ExFAT support.
17431
17432 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17433 * grub-core/Makefile.core.def (exfat): New module.
17434 * grub-core/fs/exfat.c: New file.
17435 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17436 (GRUB_FAT_ATTR_*): Make into an enum.
17437 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17438 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17439 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17440 (GRUB_FAT_MAXFILE): Removed.
17441 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17442 (grub_current_fat_bpb_t): New type.
17443 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17444 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17445 (grub_fat_dir_node_t): New type.
17446 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17447 (fat_log2) [MODE_EXFAT]: Removed.
17448 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17449 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17450 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17451 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17452 (grub_fat_label) [MODE_EXFAT]: New function.
17453 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17454 reserved_first_sector to 0.
17455
17456 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17457
17458 Move grub_reboot out of the kernel.
17459
17460 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17461 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17462 * grub-core/lib/efi/reboot.c: ... here.
17463 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17464 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17465 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17466 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17467 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17468 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17469 * grub-core/lib/ieee1275/reboot.c: ... here.
17470 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17471 * grub-core/lib/mips/arc/reboot.c: ... here.
17472 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17473 * grub-core/lib/mips/loongson/reboot.c: ...here.
17474 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17475 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17476 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17477 * include/grub/i386/reboot.h: New file.
17478 * include/grub/mips/loongson/ec.h: Fix includes.
17479 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17480 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17481 * grub-core/lib/i386/reboot.c: New file.
17482
17483 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 Make grub_prefix into module to fix the arbitrary limit and save
17486 some space.
17487
17488 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17489 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17490 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17491 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17492 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17493 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17494 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17495 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17496 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17497 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17498 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17499 * include/grub/ia64/efi/kernel.h: Removed.
17500 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17501 (grub_prefix): Removed.
17502 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17503 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17504 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17505 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17506 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17507 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17508 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17509 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17510 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17511 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17512 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17513 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17514 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17515 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17516 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17517 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17518 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17519 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17520 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17521 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17522 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17523 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17524 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17525 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17526 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17527 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17528 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17529 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17530 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17531 from module.
17532 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17533 prefix_end.
17534 (image_targets): Likewise.
17535 (generate_image): Put prefix as a module.
17536
17537 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17538
17539 Replace grub_module_iterate with FOR_MODULES.
17540
17541 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17542 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17543 (grub_efi_modules_addr): ...this.
17544 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17545 (grub_efi_init): Set grub_modbase.
17546 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17547 (grub_modbase): New variable.
17548 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17549 (grub_modbase): New variable.
17550 (grub_machine_init): Set grub_modbase.
17551 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17552 (grub_modbase): New variable.
17553 (grub_machine_init): Set grub_modbase.
17554 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17555 (grub_modbase): New variable.
17556 (grub_machine_init): Set grub_modbase.
17557 * grub-core/kern/main.c (grub_module_iterate): Remove.
17558 (grub_modules_get_end): Use grub_modbase.
17559 (grub_load_modules): Use FOR_MODULES.
17560 (grub_load_config): Likewise.
17561 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17562 (grub_modbase): New variable.
17563 (grub_machine_init): Set grub_modbase.
17564 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17565 (grub_modbase): New variable.
17566 (grub_machine_init): Set grub_modbase.
17567 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17568 Removed.
17569 (grub_modbase): New variable.
17570 (grub_machine_init): Set grub_modbase.
17571 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17572 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17573 (grub_module_iterate): Likewise.
17574 (grub_modbase): New variable declaration.
17575 (FOR_MODULES): New macro.
17576
17577 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17578
17579 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17580 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17581
17582 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17583
17584 Fix few obvious type discrepancies.
17585
17586 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17587 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17588 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17589 variable.
17590 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17591 and connected types.
17592 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17593 offset.
17594 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17595 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17596 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17597 and connected types.
17598
17599 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 Fix python 3.x incompatibilities.
17602
17603 * gentpl.py: Put brackets around print strings.
17604 * util/import_gcry.py: Open explicitly as utf-8.
17605 Use in instead of has_key.
17606
17607 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17608
17609 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17610 (GRUB_XFS_INO_AGBITS): Make into inline function.
17611 (GRUB_XFS_INO_INOINAG): Likewise.
17612 (GRUB_XFS_INO_AG): Likewise.
17613 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17614 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17615 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17616 (GRUB_XFS_EXTENT_SIZE): Likewise.
17617 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17618 (GRUB_XFS_NEXT_DIRENT): Likewise.
17619 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17620 (grub_xfs_read_file): Fix offset type.
17621
17622 2011-10-15 Robert Millan <rmh@gnu.org>
17623
17624 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17625
17626 2011-10-15 Robert Millan <rmh@gnu.org>
17627
17628 Fix build problem on FreeBSD and GNU/kFreeBSD.
17629
17630 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17631
17632 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17635
17636 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17637 types.
17638 (grub_hfsplus_btree_recoffset): Likewise.
17639 (grub_hfsplus_btree_recptr): Likewise.
17640 (grub_hfsplus_find_block): Likewise.
17641 (grub_hfsplus_btree_search): Likewise.
17642 (grub_hfsplus_read_block): Likewise.
17643 (grub_hfsplus_read_file): Likewise.
17644 (grub_hfsplus_mount): Likewise.
17645 (grub_hfsplus_btree_iterate_node): Likewise.
17646 (grub_hfsplus_btree_search): Likewise.
17647 (grub_hfsplus_iterate_dir): Likewise.
17648 (grub_hfsplus_read): A small code simplification.
17649
17650 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 * grub-core/kern/emu/hostdisk.c
17653 (convert_system_partition_to_system_disk): Don't assume that children
17654 of mapper nodes are mapper nodes.
17655
17656 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17659 * include/grub/misc.h (grub_isxdigit): New function.
17660 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17661 switched to grub_isxdigit.
17662 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17663 number starting with a letter.
17664
17665 2011-10-09 Robert Millan <rmh@gnu.org>
17666
17667 LVM support for FreeBSD and GNU/kFreeBSD.
17668
17669 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17670 GNU/kFreeBSD.
17671 (LVM_DEV_MAPPER_STRING): Move from here ...
17672 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17673 * util/getroot.c: Include `<grub/util/lvm.h>'.
17674 (grub_util_get_dev_abstraction): Enable
17675 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17676 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17677 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17678 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17679 support it.
17680 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17681 GNU/kFreeBSD.
17682 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17683 when LVM abstraction is required for ${GRUB_DEVICE}.
17684
17685 2011-10-06 Szymon Janc <szymon@janc.net.pl>
17686
17687 Add support for LZO compression in GRUB:
17688 - import of minilzo library,
17689 - LZO decompression for btrfs,
17690 - lzop files decompression.
17691
17692 * grub-core/io/lzopio.c: New file.
17693 * grub-core/lib/adler32.c: Likewise.
17694 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17695 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17696 * grub-core/lib/minilzo/minilzo.c: Likewise.
17697 * grub-core/lib/minilzo/minilzo.h: Likewise.
17698 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17699 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17700 grub-core/lib/minilzo/minilzo.c to common.
17701 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17702 cflags in cppflags.
17703 * grub-core/Makefile.core.def (btrfs): Likewise.
17704 * grub-core/Makefile.core.def (lzopio): New module.
17705 (adler32): Likewise.
17706 * grub-core/fs/btrfs.c: Include minilzo.h.
17707 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17708 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17709 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17710 (grub_btrfs_lzo_decompress): New function.
17711 (grub_btrfs_extent_read): Add support for LZO compression type.
17712 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17713 (GRUB_USHRT_MAX): Likewise.
17714 (GRUB_UINT_MAX): Likewise.
17715 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17716 (UINT_MAX): Likewise.
17717 (CHAR_BIT): Likewise.
17718 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17719 grub-core/lib/posix_wrap/limits.h
17720 (UCHAR_MAX): Likewise.
17721 * include/grub/file.h (grub_file_filter_id): New compression filter
17722 GRUB_FILE_FILTER_LZOPIO.
17723 * include/grub/file.h (grub_file_filter_id): Set
17724 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17725 * include/grub/types.h (grub_get_unaligned16): New function.
17726 (grub_get_unaligned32): Likewise.
17727 (grub_get_unaligned64): Likewise.
17728 * util/import_gcry.py (cryptolist): Add adler32.
17729
17730 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17733 in perspective decreases the complexity of build system and fixes
17734 compilation right now.
17735
17736 2011-10-01 Ales Nesrsta <starous@volny.cz>
17737
17738 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17739 (fixed problem related to using UHCI with coreboot).
17740
17741 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17742
17743 * gentpl.py: Use Autogen macros so that the output template file
17744 (Makefile.tpl) size is reduced.
17745
17746 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
17747
17748 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17749 extra_dist.
17750
17751 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17752
17753 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17754 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17755
17756 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17757
17758 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17759 _fullpath.
17760
17761 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17762
17763 Remove extra declaration of sleep for mingw32.
17764
17765 * util/misc.c (sleep) [__MINGW32__]: Removed.
17766 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17767
17768 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17769
17770 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17771 type and packname.
17772 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17773 Resurrected.
17774 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17775 (grub_netbsd_btinfo_bootwedge): New struct.
17776 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17777 New function.
17778 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17779
17780 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17781
17782 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17783 loader.
17784
17785 2011-09-28 Andreas Born <futur.andy@googlemail.com>
17786
17787 Fix incorrect identifiers in bash-completion.
17788
17789 * util/bash-completion.d/grub-completion.bash.in
17790 (_grub_mkpasswd-pbkdf2): Rename to ...
17791 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17792 (_grub_script-check): Rename to ...
17793 (_grub_script_check): ... this. All users updated.
17794
17795 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17798 Return 0 if disk isn't biosdisk.
17799
17800 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17801
17802 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17803 on NetBSD.
17804 * Makefile.util.def (grub-fstest): Likewise.
17805
17806 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17807
17808 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17809 Get sector size from disk label.
17810
17811 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
17812
17813 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17814 */README* as well as README*.
17815 Reported by: Axel Beckert.
17816
17817 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17818
17819 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17820 case of less than 256 MiB of RAM.
17821
17822 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * grub-core/commands/wildcard.c (make_regex): Handle @.
17825
17826 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17829
17830 2011-08-21 Szymon Janc <szymon@janc.net.pl>
17831
17832 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17833 AC_LANG_CONFTEST macros.
17834
17835 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17836
17837 Add grub-fstest option to uncompress data for commands.
17838
17839 * util/grub-fstest.c (uncompress): New var.
17840 (options): New option -u.
17841
17842 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17843
17844 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17845 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17846
17847 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17848
17849 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17850 file type was not recognized correctly (not gzip or corrupted).
17851
17852 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17855 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17856
17857 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17858
17859 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17860 loongson.
17861 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17862 video_radeon_fuloong2e.
17863 * grub-core/video/radeon_fuloong2e.c: New file.
17864 * include/grub/video.h (grub_video_id_t): Add new ID
17865 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17866
17867 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17870 define.
17871 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17872 that PRID matches the detected subplatform and reset the subplatform
17873 if it doesn't.
17874
17875 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17878
17879 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17880
17881 Fix PCI iterating on functions >= 4.
17882
17883 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17884 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17885 Removed.
17886 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17887 (grub_pci_read): Fix bitmask.
17888 (grub_pci_read_word): Likewise.
17889 (grub_pci_read_byte): Likewise.
17890 (grub_pci_write): Likewise.
17891 (grub_pci_write_word): Likewise.
17892 (grub_pci_write_byte): Likewise.
17893
17894 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17895
17896 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17897 can still be specified in TARGET_CFLAGS)
17898
17899 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17902
17903 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17904 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17905 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17906 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17907 (FULOONG): Rename to ...
17908 (FULOONG2F): ... this. All users updated.
17909 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17910 (machtype_fuloong2f_str): ... this.
17911 (machtype_fuloong2e_str): New string.
17912 Check for machtype_fuloong2e_str.
17913 * grub-core/loader/mips/linux.c (loongson_machtypes)
17914 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17915 * grub-core/term/serial.c (loongson_defserial)
17916 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17917 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17918 loongson_defserial.
17919 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17920 Rename to ...
17921 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17922 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17923 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17924 to IMAGE_FULOONG2F_FLASH. All users updated.
17925 (image_targets): Rename images.
17926 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17927
17928 2011-08-19 Szymon Janc <szymon@janc.net.pl>
17929
17930 Make enable of disk cache statistics code configurable.
17931
17932 * configure.ac: --enable-cache-stats added.
17933 * config.h.in (DISK_CACHE_STATS): New define.
17934 * grub-core/Makefile.core.def (cacheinfo): New command.
17935 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17936 * grub-core/commands/cacheinfo.c: New file.
17937 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17938 moved to cacheinfo.c.
17939 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17940 debug code.
17941 * include/grub/disk.h: Likewise.
17942
17943 2011-08-19 Szymon Janc <szymon@janc.net.pl>
17944
17945 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17946 * grub-core/Makefile.am: Likewise.
17947
17948 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17951 non-zero pull.
17952
17953 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17956 All users updated.
17957 (grub_jfs_lookup_symlink): Use correct starting inode.
17958
17959 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 * util/grub-setup.c (main): Add missing gcry initialisation.
17962
17963 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 Don't accept text modes on EFI when booting Linux.
17966
17967 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17968 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17969
17970 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
17971 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
17972
17973 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
17974 use of "/path/.." as in grub-install for EFI as well as handling
17975 symlinks correctly.
17976 Fixes Debian bug #637768.
17977
17978 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
17979
17980 * util/grub-probe.c: Remove duplicate #include.
17981
17982 2011-08-10 Robert Millan <rmh@gnu.org>
17983
17984 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
17985
17986 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
17987 function.
17988 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
17989 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
17990
17991 2011-08-03 Robert Millan <rmh@gnu.org>
17992
17993 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
17994 la_array as packed.
17995 Reported by: Zachary Bedell
17996
17997 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
17998
17999 * configure.ac: The Loongson port requires grub-mkfont due to its
18000 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18001 be built.
18002
18003 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18004
18005 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18006 processing arguments (otherwise help2man fails when GRUB has not yet
18007 been installed).
18008
18009 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18010
18011 New script grub-mkstandalone.
18012
18013 * Makefile.util.def (grub-mkstandalone): New script.
18014 * docs/man/grub-mkstandalone.h2m: New file.
18015 * util/grub-mkstandalone.in: Likewise.
18016
18017 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18018
18019 Support ATA disks with 4K sectors.
18020
18021 * include/grub/ata.h (grub_ata): New member log_sector_size.
18022 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18023 (grub_ata_identify): Read sector size.
18024 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18025
18026 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18027
18028 * util/grub-install.in: Don't use uhci outside of x86.
18029
18030 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 * util/grub-mkrescue.in: Add missing quotes.
18033
18034 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18035
18036 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18037 dereference.
18038
18039 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18040
18041 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18042
18043 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * include/grub/video.h: add missing EXPORT_FUND on
18046 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18047
18048 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * include/grub/mips/kernel.h: Fix define conflict.
18051
18052 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18053
18054 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18055 all four ways.
18056
18057 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
18058
18059 Preferred resolution detection for VBE.
18060
18061 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18062 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18063 the Flat Panel extension, in line with the X.org VESA driver.
18064 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18065 New function.
18066 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18067 (grub_vbe_bios_read_edid): Likewise.
18068 (grub_vbe_get_preferred_mode): Likewise.
18069 (grub_video_vbe_setup): When the mode is "auto", try to get the
18070 preferred mode from VBE, and use the largest mode that is no larger
18071 than the preferred mode (some BIOSes expose a preferred mode that is
18072 not in their mode list!). If this fails, fall back to 640x480 as a
18073 safe conservative choice.
18074 (grub_video_vbe_get_edid): New function.
18075 (grub_video_vbe_adapter): Add get_edid.
18076 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18077 (struct grub_video_adapter): Add get_edid.
18078 (grub_video_edid_checksum): Add prototype.
18079 (grub_video_edid_preferred_mode): Likewise.
18080 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18081 structure.
18082
18083 * grub-core/commands/videoinfo.c (print_edid): New function.
18084 (grub_cmd_videoinfo): Print EDID if available.
18085
18086 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18087 is more appropriate on a wider range of platforms than 640x480.
18088 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18089 documentation.
18090
18091 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18094
18095 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18096
18097 * po/POTFILES.in: Regenerate.
18098
18099 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18102 incorrect memory usage.
18103
18104 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 * util/grub-install.in: Source grub-mkconfig_lib.
18107
18108 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 Remove getroot.c from core on emu platform.
18111
18112 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18113 kern/emu/raid.c.
18114 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18115 useless.
18116 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18117 * util/getroot.c (get_win32_path): ... here.
18118 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18119 * util/getroot.c (fini_libzfs): ... here.
18120 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18121 * util/getroot.c (grub_get_libzfs_handle): ... here.
18122 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18123 Moved from here...
18124 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18125 * grub-core/kern/emu/misc.c
18126 (grub_make_system_path_relative_to_its_root): Moved from here...
18127 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18128 * grub-core/kern/emu/getroot.c: Moved from here ...
18129 * util/getroot.c: ... here. All users updated.
18130 * grub-core/kern/emu/raid.c: Moved from here ...
18131 * util/raid.c: ... here. All users updated.
18132
18133 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * po/POTFILES.in: Regenerate.
18136
18137 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18138
18139 Fix compilation on GNU/Linux.
18140
18141 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18142 Disable geli.
18143 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18144 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18145 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18146
18147 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18148 2011-07-07 Michael Gorven <michael@gorven.za.net>
18149 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18150
18151 LUKS and GELI support.
18152
18153 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18154 grub-core/disk/luks.c, grub-core/disk/geli.c,
18155 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18156 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18157 grub-core/lib/arg.c.
18158 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18159 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18160 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18161 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18162 (grub-bin2h): Add libgcry.a.
18163 (grub-mkimage): Likewise.
18164 (grub-mkrelpath): Likewise.
18165 (grub-script-check): Likewise.
18166 (grub-editenv): Likewise.
18167 (grub-mkpasswd-pbkdf2): Likewise.
18168 (grub-pe2elf): Likewise.
18169 (grub-fstest): Likewise.
18170 (grub-mkfont): Likewise.
18171 (grub-mkdevicemap): Likewise.
18172 (grub-probe): Likewise.
18173 (grub-ofpath): Likewise.
18174 (grub-mklayout): Likewise.
18175 (example_unit_test): Likewise.
18176 (grub-menulst2cfg): Likewise.
18177 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18178 * grub-core/Makefile.core.def (cryptodisk): New module.
18179 (luks): Likewise.
18180 (geli): Likewise.
18181 * grub-core/disk/AFSplitter.c: New file.
18182 * grub-core/disk/cryptodisk.c: Likewise.
18183 * grub-core/disk/geli.c: Likewise.
18184 * grub-core/disk/luks.c: Likewise.
18185 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18186 grub_util_is_lvm.
18187 (grub_util_get_dm_abstraction): New function.
18188 (grub_util_follow_gpart_up): Likewise.
18189 (grub_util_get_geom_abstraction): Likewise.
18190 (grub_util_get_dev_abstraction): Use new functions.
18191 (grub_util_pull_device): Pull GELI and LUKS.
18192 (grub_util_get_grub_dev): Handle LUKS and GELI.
18193 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18194 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18195 (follow_geom_up): Removed.
18196 (grub_util_fd_seek): New function.
18197 (open_device): Use grub_util_fd_seek.
18198 (nread): Rename to ..
18199 (grub_util_fd_read): ... this. All users updated.
18200 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18201 (grub_crypto_cbc_decrypt): Likewise.
18202 (grub_crypto_hmac_write): Likewise.
18203 (grub_crypto_hmac_buffer): Likewise.
18204 (grub_password_get): Extend to util.
18205 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18206 New member modname.
18207 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18208 * include/grub/cryptodisk.h: New file.
18209 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18210 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18211 LUKS and GELI.
18212 (grub_util_follow_gpart_up): New proto.
18213 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18214 (grub_util_fd_read): Likewise.
18215 (grub_cryptodisk_cheat_mount): Likewise.
18216 (grub_util_cryptodisk_print_uuid): Likewise.
18217 (grub_util_get_fd_sectors): Likewise.
18218 * util/grub-fstest.c (mount_crypt): New var.
18219 (fstest): Mount crypto if requested.
18220 (options): New option -C.
18221 (argp_parser): Parse -C.
18222 (main): Init and fini gcry.
18223 * util/grub-install.in: Support cryptodisk install.
18224 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18225 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18226 cryptodisk.
18227 (prepare_grub_to_access_device): Likewise.
18228 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18229 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18230 (probe_cryptodisk_uuid): New function.
18231 (probe_abstraction): Likewise.
18232 (probe): Use new functions.
18233 * util/import_gcry.py: Create Makefile.utilgcry.def.
18234 Add modname member.
18235
18236 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 Lazy device scanning.
18239
18240 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18241 (grub-setup): Remove util/raid.c.
18242 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18243 * grub-core/disk/lvm.c (scan_depth): New variable.
18244 (grub_lvm_iterate): Rescan if necessary.
18245 (find_lv): New function based on grub_lvm_open.
18246 (grub_lvm_open): Use find_lv. Rescan on error.
18247 (is_node_readable): New function.
18248 (is_lv_readable): Likewise.
18249 (grub_lvm_scan_device): Skip already found disks.
18250 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18251 Stop if searched device is found and readable.
18252 * grub-core/disk/raid.c (inscnt): New variable.
18253 (scan_depth): Likewise.
18254 (scan_devices): New function based on grub_raid_register. Abort if
18255 looked for device is found.
18256 (grub_raid_iterate): Rescan if needed.
18257 (find_array): NEw function based on -grub_raid_open.
18258 (grub_raid_open): Use find_array and rescan.
18259 (insert_array): Set became_readable_at.
18260 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18261 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18262 New function.
18263 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18264 (grub_util_pull_device): New function.
18265 (grub_util_get_grub_dev): Call grub_util_pull_device.
18266 * util/raid.c: Moved to ..
18267 * grub-core/kern/emu/raid.c: ... here.
18268 (grub_util_raid_getmembers): New parameter "bootable".
18269 All users updated. Support 1.x.
18270 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18271 All users updated.
18272 * include/grub/disk.h (grub_disk_pull_t): New enum.
18273 (grub_disk_dev): Change iterate prototype.
18274 All users updated.
18275 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18276 New proto.
18277 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18278 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18279 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18280 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18281 All users updated.
18282 * include/grub/util/raid.h: Removed.
18283
18284 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 * po/POTFILES.in: Regenerate.
18287
18288 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 Unify sparc init with other ieee1275.
18291
18292 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18293 instead of kern/sparc64/ieee1275/init.c.
18294 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18295 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18296 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18297 grub/machine/kernel.h.
18298 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18299 (grub_claim_heap) [__sparc__]: Use sparc version.
18300 (grub_machine_init): Moved args parsing to
18301 (grub_parse_cmdline): ...this.
18302 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18303 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18304 New definition.
18305 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18306
18307 Move BOOTP to separate file.
18308
18309 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18310 * grub-core/net/net.c: Move all BOOTP functions to
18311 * grub-core/net/bootp.c: ... here.
18312
18313 Use frame interface on PXE.
18314
18315 * grub-core/Makefile.core.def (pxecmd): Removed.
18316 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18317 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18318 * grub-core/i386/pc/pxe.c: Moved from here ...
18319 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18320 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18321 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18322
18323 EFI network support.
18324
18325 * grub-core/Makefile.core.def (efinet): New module.
18326 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18327 here...
18328 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18329 All users updated.
18330 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18331 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18332 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18333 * grub-core/net/drivers/efi/efinet.c: New file.
18334 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18335 (grub_efi_net_config): New extern var.
18336
18337 Various cleanups and bugfixes.
18338
18339 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18340 error.
18341 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18342 disk declared as partition.
18343 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18344 leak on failure.
18345 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18346 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18347 (grub_debug_zalloc): Likewise.
18348 (grub_debug_realloc): Likewise.
18349 (grub_debug_memalign): Likewise.
18350 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18351 Check that target is IPv4.
18352 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18353 local-mac-address as fallback.
18354 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18355 memory leak.
18356 * grub-core/net/ip.c (ipchksum): Rename to ...
18357 (grub_net_ip_chksum): ... this. All users updated.
18358 (grub_net_recv_ip_packets): Special handling for DHCP.
18359 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18360
18361 Unify prefix handling
18362
18363 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18364 (grub_machine_get_bootlocation): ... this.
18365 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18366 (grub_machine_get_bootlocation): ... this.
18367 (grub_prefix): New variable.
18368 (prefix): Removed.
18369 (root_dev): New variable.
18370 (dir): Likewise.
18371 (main): Use new variables.
18372 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18373 Revamped into ...
18374 (grub_machine_get_bootlocation): ... this.
18375 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18376 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18377 (grub_machine_get_bootlocation): ... this.
18378 (grub_machine_set_prefix): Removed.
18379 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18380 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18381 Revamped into ...
18382 (grub_machine_get_bootlocation): ... this.
18383 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18384 (grub_set_prefix_and_root): ... this. All users updated.
18385 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18386 Revamped into ...
18387 (grub_machine_get_bootlocation): ... this.
18388 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18389 (grub_machine_get_bootlocation): New proto.
18390 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18391
18392 Less intrusive and more reliable seek on network implementation.
18393
18394 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18395 (grub_file_seek): Don't call grub_file_net_seek.
18396 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18397 (grub_net_fs_read_real): .. this.
18398 (grub_net_seek_real): Use net->offset.
18399 (grub_net_fs_read): Seek if necessary.
18400
18401 Unify IEEE1275 netwotk config with the other platforms.
18402
18403 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18404 New variable.
18405 (grub_machine_get_bootlocation): Support network.
18406 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18407 Support type and device parsing.
18408 (grub_ieee1275_get_device_type): New function.
18409 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18410 into ...
18411 (grub_ieee1275_net_config_real): ... this.
18412 (grub_ofnet_probecards): Removed.
18413 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18414 * include/grub/ieee1275/ofnet.h: Removed.
18415 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18416 extern var.
18417 (grub_ieee1275_get_device_type): New function.
18418
18419 Unify network device closing across platforms and make more robust.
18420
18421 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18422 grub_grubnet_fini.
18423 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18424 already.
18425 * grub-core/net/net.c (grub_net_network_level_interface_register):
18426 Update num_ifaces.
18427 (grub_net_card_unregister): Close all interfaces.
18428 (receive_packets): Don't poll if no iterfaces are registered.
18429 Open if necessary.
18430 (grub_net_fini_hw): New function.
18431 (grub_net_restore_hw): Likewise.
18432 (fini_hnd): New variable.
18433 (GRUB_MOD_INIT): Register preboot hook.
18434 (GRUB_MOD_FINI): Run and unregister preboot hook.
18435
18436 Poll network cards when idle.
18437
18438 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18439 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18440 * grub-core/net/net.c (receive_packets): Save last poll time.
18441 (grub_net_poll_cards_idle_real): New function.
18442 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18443 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18444 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18445
18446 Rename ofnet interfaces.
18447
18448 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18449 (grub_ofnet_findcards): Use ofnet_%s names.
18450
18451 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18452
18453 Cleanup socket opening.
18454
18455 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18456 (grub_net_fs_close): Likewise.
18457 (grub_net_fs_read_real): Use eof member.
18458 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18459 (+grub_net_udp_close): New inline function.
18460
18461 * include/grub/net/tftp.h: Moved to the top of ...
18462 * grub-core/net/tftp.c: ... here.
18463 * include/grub/net/ip.h: Moved mostly to the top of ...
18464 * grub-core/net/ip.c: ... here.
18465 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18466 * grub-core/net/ethernet.c: ... here.
18467
18468 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18469
18470 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18471 FS name.
18472
18473 * include/grub/net/ip.h (ipv4_ini): Removed.
18474 (ipv4_fini): Likewise.
18475
18476 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18477 (grub_net_send_ip_packets): Likewise.
18478
18479 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18482 grub_read_cmos prototype.
18483
18484 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 VGA text support in qemu-mips
18487
18488 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18489 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18490 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18491 text.
18492 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18493 * grub-core/kern/vga_init.c: ... this.
18494 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18495 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18496 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18497 Adjust.
18498 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18499 GRUB_MACHINE_PCI_IO_BASE.
18500
18501 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 MIPS qemu flash support.
18504
18505 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18506 magic.
18507 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18508 (grub_machine_init): Probe memory if its size isn't known.
18509 * util/grub-mkimage.c (image_targets): Add flash targets.
18510 (generate_image): Handle flash targets.
18511
18512 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18513
18514 MIPS qemu at_keyboard support.
18515
18516 * gentpl.py (videoinkernel): Add qemu-mips.
18517 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18518 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18519 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18520 modules.
18521 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18522 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18523 * grub-core/term/serial.c (grub_serial_register)
18524 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18525
18526 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 CMOS support on sparc.
18529
18530 * gentpl.py (cmos): Add powerpc and sparc.
18531 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18532 powerpc and sparc.
18533 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18534 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18535 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18536 grub_set_datetime_cmos.
18537 * grub-core/lib/ieee1275/cmos.c: New file.
18538 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18539 (find_rtc): Set no_ieee1275_rtc on error.
18540 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18541 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18542 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18543 fail. Move value to argument. All users updated
18544 (grub_cmos_write): Likewise.
18545 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18546 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18547 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18548 grub_get_datetime_cmos and grub_set_datetime_cmos.
18549
18550 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18551
18552 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18553 sourcing grub-mkconfig_lib.
18554 * util/update-grub_lib.in: Likewise.
18555 * util/grub.d/00_header.in: Likewise.
18556 * util/grub.d/10_hurd.in: Likewise.
18557 * util/grub.d/10_kfreebsd.in: Likewise.
18558 * util/grub.d/10_linux.in: Likewise.
18559 * util/grub.d/10_netbsd.in: Likewise.
18560 * util/grub.d/10_windows.in: Likewise.
18561 * util/grub.d/20_linux_xen.in: Likewise.
18562 * util/grub.d/30_os-prober.in: Likewise.
18563
18564 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
18565
18566 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18567 default_bg_color rather than black.
18568 (grub_gfxterm_fullscreen): Likewise.
18569 (grub_gfxterm_background_color_cmd): Save new background color in
18570 default_bg_color.
18571
18572 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18573
18574 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18575
18576 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18579 mismerge.
18580
18581 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18582
18583 Chainloading on coreboot support.
18584
18585 * grub-core/Makefile.core.def (chain): Add coreboot.
18586 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18587
18588 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18589
18590 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18591 if it happens.
18592
18593 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 Implement time command.
18596
18597 * grub-core/Makefile.core.def (time): New module.
18598 * grub-core/commands/time.c: New file.
18599 * grub-core/script/parser.y: Remove "time" keyword.
18600 * grub-core/script/yylex.l: Likewise.
18601
18602 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18605
18606 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18607
18608 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18609 when handling leftovers.
18610
18611 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18614 so that help2man doesn't fail.
18615
18616 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18617
18618 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18619 type in pointers on sparc64.
18620 (get_card_packet): Likewise.
18621
18622 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
18623
18624 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18625 with `*'.
18626 (grub_cmd_videoinfo): Fetch current video mode.
18627
18628 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18631 because of underlying system restrictions.
18632
18633 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18634
18635 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18636 necessary.
18637
18638 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18639
18640 Coreboot video support.
18641
18642 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18643 (vbe): Likewise.
18644 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18645 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18646 here ...
18647 * grub-core/kern/i386/int.S: ... here.
18648 * grub-core/video/i386/pc/vbe.c: Updated includes.
18649 * grub-core/video/i386/pc/vga.c: Likewise.
18650 * include/grub/i386/coreboot/memory.h
18651 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18652 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18653 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18654 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18655 Disable interrupts.
18656 * include/grub/i386/pc/vga.h: Removed. All users updated.
18657
18658 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18661 definitions for dprintf.
18662 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18663
18664 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18667 prototype.
18668 (get_card_packet): Likewise.
18669
18670 2011-06-26 Yves Blusseau <blusseau@zetam.org>
18671
18672 Display the path of the file when file is not found
18673
18674 * grub-core/fs/fat.c: Display the filename when file is not found.
18675 * grub-core/fs/fshelp.c: Likewise.
18676 * grub-core/fs/hfs.c: Likewise.
18677 * grub-core/fs/jfs.c: Likewise.
18678 * grub-core/fs/minix.c: Likewise.
18679 * grub-core/fs/ufs.c: Likewise.
18680 * grub-core/fs/btrfs.c: Likewise.
18681 * grub-core/commands/i386/pc/play.c: Likewise.
18682
18683 2011-06-26 Szymon Janc <szymon@janc.net.pl>
18684
18685 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18686 pointer checks before calling grub_free().
18687 * grub-core/commands/wildcard.c (match_devices): Likewise.
18688 * grub-core/commands/wildcard.c (match_files): Likewise.
18689 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18690 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18691 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18692 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18693 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18694 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18695 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18696 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18697 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18698
18699 2011-06-25 Patrick <p55@mailinator.com>
18700
18701 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18702
18703 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18704
18705 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18706 (grub_pxe_send): Likewise.
18707 (GRUB_MOD_INIT): Fix types.
18708
18709 2011-06-24 Szymon Janc <szymon@janc.net.pl>
18710
18711 * grub-core/io/xzio.c: Fix code style issues
18712
18713 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18714 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
18715
18716 Network infrastructure.
18717 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18718
18719 * include/grub/net/arp.h: New file.
18720 * include/grub/net/device.h: Likewise.
18721 * include/grub/net/ethernet.h: Likewise.
18722 * include/grub/net/ip.h: Likewise.
18723 * include/grub/net/netbuff.h: Likewise.
18724 * include/grub/net/tftp.h: Likewise.
18725 * include/grub/net/udp.h: Likewise.
18726 * include/grub/ieee1275/ofnet.h: Likewise.
18727 * include/grub/emu/export.h: Likewise.
18728 * include/grub/net.h: Likewise.
18729 * grub-core/net/arp.c: Likewise.
18730 * grub-core/net/ethernet.c: Likewise.
18731 * grub-core/net/ip.c: Likewise.
18732 * grub-core/net/udp.c: Likewise.
18733 * grub-core/net/tftp.c: Likewise.
18734 * grub-core/net/netbuff.c: Likewise.
18735 * grub-core/net/net.c: Likewise.
18736 * grub-core/net/drivers/emu/emunet.c: Likewise.
18737 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18738 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18739 export.h.
18740 * grub-core/Makefile.core.def (net): New module.
18741 (tftp): Likewise.
18742 (ofnet): Likewise.
18743 (emunet): Likewise.
18744 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18745 network protocols.
18746 * grub-core/kern/device.c (grub_net_open) : New variable.
18747 (grub_device_open): Handle network device.
18748 (grub_device_close): Likewise.
18749 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18750 (grub_grubnet_fini): Likewise.
18751 (grub_file_seek): Seek in network device.
18752 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18753 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18754 network root.
18755 (grub_machine_fini): Call grub_grubnet_fini.
18756 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18757 network.
18758 (grub_ieee1275_get_aliasdevname): New function.
18759 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18760 Add unofficial Solaris network info.
18761 (grub_multiboot_make_mbi): Likewise.
18762 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18763 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18764 * include/grub/device.h (grub_fs): Removed.
18765 * include/grub/err.h (grub_err_t): Add network-related values.
18766 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18767 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18768 (grub_ieee1275_get_aliasdevname): New proto.
18769 * include/grub/net.h: Rewritten.
18770
18771 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18774 names.
18775
18776 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18779 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18780 it truncates the output.
18781 Reported by: Ximin Luo.
18782
18783 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18786
18787 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18788
18789 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18790 partmap before abstraction.
18791
18792 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18793
18794 * util/grub-mkconfig_lib.in: Add missing quotes.
18795
18796 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18799 old method if mountinfo would return /dev/root and /dev/root doesn't
18800 exist.
18801
18802 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 ZFS zlib support
18805
18806 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18807 (decomp_table): Add zlib entries.
18808 (zio_read): USe 8 bits for compression function rather than 3.
18809 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18810
18811 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 * grub-core/disk/ahci.c: Add missing license statements.
18814 * grub-core/fs/romfs.c: Likewise.
18815 * grub-core/lib/ia64/setjmp.S: Likewise.
18816 * grub-core/loader/i386/pc/freedos.c: Likewise.
18817 * grub-core/loader/ia64/efi/linux.c: Likewise.
18818 * grub-core/video/colors.c: Likewise.
18819 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18820
18821 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 AHCI support.
18824
18825 * grub-core/Makefile.core.def (ata_pthru): Removed.
18826 (ahci): New module.
18827 (pata): Likewise.
18828 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18829 on unload.
18830 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18831 readwrite.
18832 (grub_hdparm_do_check_powermode_cmd): Likewise.
18833 (grub_hdparm_do_smart_cmd): Likewise.
18834 (grub_hdparm_set_val_cmd): Likewise.
18835 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18836 * grub-core/disk/ahci.c: New file.
18837 * grub-core/disk/ata.c: Factor out the low-level part into ...
18838 * grub-core/disk/pata.c: ... here.
18839 * grub-core/disk/ata_pthru.c: Contents moved to ...
18840 * grub-core/disk/pata.c: ... here.
18841 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18842 (grub_scsi_iterate): Use grub_scsi_names.
18843 (grub_scsi_open): Likewise.
18844 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18845 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18846 (grub_ata_regs_t): New struct.
18847 (grub_disk_ata_pass_through_parms): Likewise.
18848 (grub_ata_device): Renamed to ...
18849 (grub_ata): ... this.
18850 (grub_ata_dev): New struct.
18851 Removed all low-level inline functions.
18852 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18853 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18854 iterate hooks and open. All users updated.
18855 * util/grub-install.in: Handle AHCI disk module.
18856
18857 2011-06-23 Szymon Janc <szymon@janc.net.pl>
18858
18859 Add support for DRI and RSTn markers in JPEG files.
18860
18861 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18862 (JPEG_MARKER_RST0): Likewise.
18863 (JPEG_MARKER_RST1): Likewise.
18864 (JPEG_MARKER_RST2): Likewise.
18865 (JPEG_MARKER_RST3): Likewise.
18866 (JPEG_MARKER_RST4): Likewise.
18867 (JPEG_MARKER_RST5): Likewise.
18868 (JPEG_MARKER_RST6): Likewise.
18869 (JPEG_MARKER_RST7): Likewise.
18870 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18871 (grub_jpeg_decode_dri): New function.
18872 (grub_jpeg_decode_sos): Move image data related part into
18873 grub_jpeg_decode_data function.
18874 (grub_jpeg_decode_data): New function.
18875 (grub_jpeg_reset): New function.
18876 (grub_jpeg_decode_jpeg): Handle new markers.
18877
18878 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 * util/ieee1275/ofpath.c (check_sas): Close fd.
18881 (main): Free of_path.
18882 Reported by: David Volgyes <dvolgyes>.
18883
18884 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18887 Reported by: David Volgyes <dvolgyes>.
18888
18889 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18892 file after stat.
18893 Reported by: David Volgyes <dvolgyes>.
18894
18895 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18896
18897 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18898
18899 Reported by: David Volgyes <dvolgyes>.
18900
18901 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18904 Prevent memory leak.
18905
18906 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18907
18908 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18909 (main): Close file.
18910 Reported by: David Volgyes <dvolgyes>.
18911
18912 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18913
18914 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18915 to continue if allocation is failed.
18916
18917 Reported by: David Volgyes <dvolgyes>.
18918
18919 2011-06-23 David Volgyes <dvolgyes>
18920
18921 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18922 dereference.
18923
18924 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18925
18926 Fix spurious warning.
18927
18928 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18929 (acorn_partition_map_find): Use .bin member.
18930
18931 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18934 /dev/root as a valid device.
18935
18936 2011-06-23 Jim Meyering <meyering@redhat.com>
18937
18938 Avoid NULL deref in grub_device_open.
18939
18940 * grub-core/kern/device.c (grub_device_open): Don't dereference
18941 a NULL pointer upon failed grub_env_get.
18942
18943 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 Support non-512B sectors and agglomerate reads.
18946
18947 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18948 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18949 (disk_io_guid): Removed.
18950 (make_devices): Locate solely by BlockIO.
18951 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18952 (grub_efidisk_read): Use read_blocks.
18953 (grub_efidisk_write): Use write_blocks.
18954 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18955 log_sector_size.
18956 (get_safe_sectors): Handle non-512B sectors.
18957 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18958 sectors.
18959 (grub_biosdisk_write): Handle non-512B sectors.
18960 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18961 (grub_scsi_read): Remove special non-512B block handling (now handled
18962 one level up).
18963 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18964 and do sanity checks.
18965 (grub_disk_adjust_range): Handle non-512B sectors.
18966 (transform_sector): New function.
18967 (grub_disk_read_small): Likewise.
18968 (grub_disk_read): Rewritten.
18969 (grub_disk_write): Handle non-512B sectors.
18970 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18971 log_sector_size.
18972 (open_device): Use log_sector_size.
18973 (grub_util_biosdisk_read): Likewise.
18974 (grub_util_biosdisk_write): Likewise.
18975 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
18976 non-512B sectors.
18977 (pc_partition_map_embed): Likewise.
18978 * include/grub/disk.h (grub_disk): New field log_sector_size.
18979 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
18980 (GRUB_DISK_CACHE_BITS): Increased to 6.
18981 * util/grub-fstest.c (fstest): New command testload.
18982 (argp_parser): Likewise.
18983
18984 2011-06-16 Robert Millan <rmh@gnu.org>
18985
18986 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
18987 `ata' driver on kernel of FreeBSD 9.
18988
18989 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
18990 (get_ataraid_disk_name): New functions.
18991 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
18992 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
18993 get_ataraid_disk_name() and get_ada_disk_name().
18994
18995 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
18996
18997 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
18998 input format.
18999
19000 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
19001
19002 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19003 `ftp.gnu.org' for `alpha.gnu.org'.
19004
19005 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19006
19007 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19008 partitions under /dev/disk/by-id/.
19009
19010 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19011
19012 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19013 after ten consecutive open failures. Scanning all the way up to
19014 10000 is excessive and can cause serious performance problems in
19015 some configurations.
19016 Fixes Ubuntu bug #787461.
19017
19018 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19021 opening new one.
19022
19023 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
19024 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 Don't stat devices unless we have to.
19027
19028 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19029 dir == /dev/mapper.
19030 (grub_guess_root_device): Use already known os_dev if possible.
19031 * grub-core/kern/emu/hostdisk.c
19032 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19033 if device is known to be a dm one.
19034
19035 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
19036
19037 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19038 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19039 Reported by: Pawel Tecza.
19040
19041 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19044 (lsefisystab): Likewise.
19045 (lssal): Likewise.
19046 (lsefimmap): Likewise.
19047 (hdparm): Enable on qemu-mips.
19048 (setjmp): Add ia64 nodist.
19049 (serial): Simplify tags.
19050
19051 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19052
19053 * Makefile.util.def (grub-ofpathname): Install manual page.
19054
19055 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19056
19057 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19058
19059 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19060
19061 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19062
19063 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19066 into dprintf.
19067
19068 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19069
19070 Use full 64-bit division.
19071
19072 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19073 (grub_divmod64): ... this.
19074 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19075 version.
19076
19077 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19078
19079 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19080 `source'.
19081
19082 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19083
19084 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19085 to avoid accidents when debugging with 'sh -x'.
19086 * grub-core/gensyminfo.sh.in: Likewise.
19087 * tests/example_scripted_test.in: Likewise.
19088 * tests/grub_cmd_regexp.in: Likewise.
19089 * tests/grub_script_blanklines.in: Likewise.
19090 * tests/grub_script_dollar.in: Likewise.
19091 * tests/grub_script_expansion.in: Likewise.
19092 * tests/grub_script_final_semicolon.in: Likewise.
19093 * tests/partmap_test.in: Likewise.
19094 * tests/util/grub-shell-tester.in: Likewise.
19095 * tests/util/grub-shell.in: Likewise.
19096
19097 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19098
19099 Move gfxmenu color handling to video, so that gfxterm can use it
19100 too.
19101
19102 * grub-core/gfxmenu/named_colors.c: Move to ...
19103 * grub-core/video/colors.c: ... here. Rename
19104 grub_gui_get_named_color to grub_video_get_named_color.
19105 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19106 * grub-core/video/colors.c (my_isxdigit): ... here.
19107 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19108 Move to ...
19109 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19110 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19111 to ...
19112 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19113
19114 * include/grub/gui.h (grub_gui_color_t): Move to ...
19115 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19116 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19117 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19118 * include/grub/gui.h (grub_gui_map_color): Move to ...
19119 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19120 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19121 to ...
19122 * include/grub/video.h (grub_video_get_named_color): ... here.
19123 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19124 * include/grub/video.h (grub_video_parse_color): ... here.
19125
19126 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19127 video/colors.c.
19128 (gfxmenu): Remove gfxmenu/named_colors.c.
19129 (video) [videomodules]: Add video/colors.c.
19130
19131 Add a background_color command.
19132
19133 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19134 function.
19135 (GRUB_MOD_INIT): Register background_color command.
19136 (GRUB_MOD_FINI): Unregister background_color command.
19137 (redraw_screen_rect): Allow blend/replace of text layer to be
19138 controlled independently from whether there is a background bitmap.
19139 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19140 changing bitmap.
19141
19142 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19143
19144 Patch BPB in ntldr and chainloader --bpb.
19145
19146 * grub-core/fs/fat.c: Include grub/fat.h.
19147 (grub_fat_bpb): Moved to ...
19148 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19149 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19150 grub/ntfs.h.
19151 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19152 Moved from here...
19153 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19154 here.
19155 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19156 New function.
19157 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19158 (GRUB_MOD_INIT): Show --bpb.
19159 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19160 * grub-core/normal/main.c (features): New variable.
19161 (GRUB_MOD_INIT): Set feature_* variables.
19162 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19163 proto.
19164 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19165
19166 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19169 for cleanness.
19170
19171 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19172
19173 FreeDOS direct loading support.
19174
19175 * docs/grub.texi (Supported OS): Add FreeDOS.
19176 * grub-core/Makefile.core.def (freedos): New module.
19177 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19178 variable.
19179 (grub_relocator16_boot): Handle %ebx.
19180 * grub-core/lib/i386/relocator16.S: Likewise.
19181 * grub-core/loader/i386/pc/freedos.c: New file.
19182
19183 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19184
19185 Long Linux command line support.
19186
19187 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19188 (maximal_cmdline_size): New variable.
19189 (allocate_pages): Use maximal_cmdline_size.
19190 (grub_cmd_linux): Set and use maximal_cmdline_size.
19191 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19192 (allocate_pages): Use maximal_cmdline_size.
19193 (grub_cmd_linux): Set and use maximal_cmdline_size.
19194 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19195 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19196 and cmdline_size.
19197
19198 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19199 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19200
19201 Improve devmapper support
19202
19203 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19204 (grub_util_is_lvm): New function.
19205 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19206 than lvm if not dmraid.
19207 Handle mapped md nodes.
19208 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19209 (grub_util_device_is_mapped): ... this. Make always available. All users
19210 updated.
19211 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19212 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19213 dmraid nodes.
19214 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19215
19216 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19217
19218 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19219
19220 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19221 * grub-core/modinfo.sh.in: New file.
19222 * grub-core/Makefile.core.def (modinfo.sh): New script.
19223 * util/grub-mknetdir.in: Use modinfo.sh.
19224 * util/grub-mkrescue.in: Likewise.
19225
19226 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19229 Fix potential usage of Elf32 instead of Elf64 when compiling on
19230 32-bit architecture. Add endianness macros while on it.
19231
19232 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19233
19234 Use mipsel- rather than mips- in directories involving mipsel ports to
19235 allow both endiannesses coexist.
19236
19237 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19238 mips. All conditions adjusted.
19239 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19240 variable.
19241 * util/grub-install.in: Adjust conditions to take renaming into account.
19242 * util/grub-mkimage.c (image_targets): Likewise. New target
19243 mips-qemu_mips-elf for bigendian mips.
19244
19245 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19246
19247 Avoid unnecessary copying on MIPS.
19248
19249 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19250 early if src == dest.
19251 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19252 compression is none.
19253
19254 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19255
19256 Reduce memory footprint on SGI by putting modules before the kernel
19257 as opposed to after.
19258
19259 * grub-core/Makefile.core.def (kernel): Increase linking address.
19260 (none_decompress): Likewise.
19261 (xz_decompress): Likewise.
19262 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19263 address.
19264 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19265 layout change.
19266 (grub_arch_modules_addr): New function.
19267 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19268 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19269 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19270 here.
19271 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19272 (grub_total_modules_size): ... this. Make global.
19273 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19274 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19275 New definition.
19276 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19277 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19278 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19279 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19280 * util/grub-mkimage.c (image_target_desc): New flag
19281 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19282 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19283 (generate_image): Handle images with modules before kernel.
19284
19285 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 Prevent potential loss of memory map by overwrite on qemu-mips.
19288
19289 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19290 Save ram size in $s4.
19291 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19292 All users changed to grub_arch_memsize.
19293 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19294 Loongson.
19295 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19296 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19297 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19298 external variable.
19299
19300 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19301
19302 * .bzrignore: Remove grub-dumpbios.
19303
19304 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19305
19306 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19307 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19308 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19309 existing options which append).
19310 * docs/grub.texi (Simple configuration): Document new options.
19311 Reported by: Ian Jackson. Fixes Debian bug #617538.
19312
19313 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19314
19315 * util/grub-fstest.c (cmd_cat): New function.
19316 (fstest): Handle CMD_CAT.
19317 (options): Add cat.
19318 (argp_parser): Handle cat.
19319
19320 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19321
19322 * Makefile.util.def (grub-bin2h): Don't install.
19323 * docs/man/grub-bin2h.h2m: Remove.
19324
19325 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19328 place.
19329
19330 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19331
19332 Reenable qemu-mips port.
19333
19334 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19335 Fix small arc bug while on it.
19336 * gentpl.py: Handle qemu_mips.
19337 * grub-core/Makefile.am: Likewise.
19338 * grub-core/Makefile.core.def: Likewise.
19339 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19340 inappropriate includes.
19341 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19342 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19343 * grub-core/kern/main.c (grub_modules_get_end)
19344 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19345 * grub-core/kern/mips/qemu-mips: Moved to ..
19346 * grub-core/kern/mips/qemu_mips: ... this.
19347 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19348 (grub_machine_init): Call terminfo_init and serial_init.
19349 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19350 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19351 New variable.
19352 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19353 parameter passing.
19354 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19355 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19356 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19357 * include/grub/mips/qemu_mips/cmos.h: New file.
19358 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19359 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19360 Removed.
19361 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19362 Use correct mips-style address.
19363 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19364 (GRUB_TICKS_PER_SECOND): Removed.
19365 (grub_get_rtc): Likewise.
19366 (grub_cpu_idle): Likewise.
19367 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19368 New definition.
19369 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19370 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19371 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19372 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19373 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19374 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19375 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19376 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19377
19378 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 SGI ARCS port.
19381
19382 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19383 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19384 platforms.
19385 * configure.ac: New target mips-arc.
19386 * gentpl.py: Likewise.
19387 * grub-core/Makefile.am: Likewise.
19388 * grub-core/Makefile.core.def: Likewise.
19389 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19390 (none_decompress): Likewise.
19391 (lsdev): New module.
19392 (datetime): Use lib/arc/datetime.c on ARC.
19393 (part_dvh): New module.
19394 * grub-core/commands/arc/lsdev.c: New file.
19395 * grub-core/disk/arc/arcdisk.c: Likewise.
19396 * grub-core/kern/mips/arc/init.c: Likewise.
19397 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19398 aligned addresses.
19399 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19400 support.
19401 (grub_arch_dl_relocate_symbols): Likewise.
19402 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19403 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19404 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19405 platforms.
19406 * grub-core/lib/arc/datetime.c: New file.
19407 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19408 pci.h on non-loongson.
19409 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19410 (grub_linux_boot): Set unused registers to 0.
19411 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19412 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19413 * grub-core/mmap/mips/uppermem.c: ...here.
19414 * grub-core/partmap/dvh.c: New file.
19415 * grub-core/term/arc/console.c: Likewise.
19416 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19417 (grub_terminfo_set_current): Add terminal "arc".
19418 (grub_terminfo_readkey): Support ARC sequences.
19419 * include/grub/arc/arc.h: New file.
19420 * include/grub/arc/console.h: Likewise.
19421 * include/grub/disk.h (grub_disk_dev_id): Add
19422 GRUB_DISK_DEVICE_ARCDISK_ID.
19423 * include/grub/mips/arc/kernel.h: New file.
19424 * include/grub/mips/arc/memory.h: Likewise.
19425 * include/grub/mips/arc/time.h: Likewise.
19426 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19427 * include/grub/mips/kernel.h (grub_halt): ... here.
19428 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19429 here...
19430 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19431 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19432 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19433 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19434 proto.
19435 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19436 from here ...
19437 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19438 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19439 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19440 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19441 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19442 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19443 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19444 (grub_phys_addr_t): Moved from here ...
19445 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19446 (grub_vtop): Moved from here ...
19447 * include/grub/mips/memory.h (grub_vtop): ... here.
19448 (grub_map_memory): Moved from here ...
19449 * include/grub/mips/memory.h (grub_map_memory): ... here.
19450 (grub_unmap_memory): Moved from here ...
19451 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19452 (grub_machine_mmap_iterate): Moved from here ...
19453 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19454 (grub_mmap_get_lower): Moved from here ...
19455 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19456 (grub_mmap_get_upper): Moved from here ...
19457 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19458 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19459 here ...
19460 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19461 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19462 here ...
19463 * include/grub/mips/time.h (grub_get_rtc): ... here.
19464 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19465 here ...
19466 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19467 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19468 here ...
19469 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19470 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19471 definition.
19472 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19473 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19474 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19475 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19476 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19477 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19478 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19479 (GRUB_MACHINE_LINK_ADDR): Likewise.
19480 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19481 to 6.
19482 * util/grub-install.in: Run dvhtool on ARC.
19483 * util/grub-mkimage.c (image_targets): Add mips-arc.
19484 (generate_image): Handle ECOFF output for mips-arc.
19485
19486 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19489 blocks.
19490
19491 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19492
19493 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19494 after enabling port.
19495
19496 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19497
19498 Skip incorrect USB devices.
19499
19500 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19501 configcnt == 0.
19502 * include/grub/usb.h (grub_usb_err_t): New enum value
19503 GRUB_USB_ERR_BADDEVICE.
19504
19505 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19506
19507 Fuloong video init support.
19508
19509 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19510 well.
19511 (grub_vga_read_arx): New function.
19512 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19513 definition.
19514 (framebuffer): New members io, mmioptr and mmiobase.
19515 (read_sis_cmd): New function.
19516 (write_sis_cmd): Likewise.
19517 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19518 rather than 640x400.
19519 * grub-core/video/sis315_init.c: New file.
19520
19521 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19522
19523 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19524 non-loongson.
19525 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19526 to grub_dl_register_symbol.
19527
19528 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 Fix compilation errors.
19531
19532 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19533 potentially unused.
19534 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19535 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19536 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19537 to loongson machines.
19538
19539 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 Several FS mtime support.
19542
19543 * grub-core/fs/affs.c (grub_affs_time): New struct.
19544 (grub_affs_file): New field mtime.
19545 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19546 type. Removed 'size'. New field 'di'. All users updated.
19547 (grub_affs_mount): Simplify checsum checking.
19548 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19549 (grub_affs_dir): Handle mtime.
19550 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19551 (grub_cpio_dir): Likewise.
19552 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19553 (grub_hfs_filerec): New field mtime.
19554 (grub_hfs_dir): Handle mtime.
19555 (grub_hfs_mtime): New function.
19556 (grub_hfs_fs): Register grub_hfs_mtime.
19557 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19558 (grub_iso9660_dir): New field mtime.
19559 (grub_fshelp_node): New field dirent.
19560 (iso9660_to_unixtime): New function.
19561 (iso9660_to_unixtime2): Likewise.
19562 (grub_iso9660_read_symlink): Use node->dirent.
19563 (grub_iso9660_iterate_dir): Likewise.
19564 (grub_iso9660_dir): Set mtime.
19565 (grub_iso9660_mtime): New function.
19566 (grub_iso9660_fs): Register grub_iso9660_mtime.
19567 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19568 (grub_jfs_inode): New fields atime, ctime and mtime.
19569 (grub_jfs_dir): Set mtime.
19570 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19571 * grub-core/fs/ntfs.c (list_file): Set mtime.
19572 (grub_ntfs_dir): Likewise.
19573 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19574 (grub_reiserfs_iterate_dir): Set mtime.
19575 (grub_reiserfs_dir): Likewise.
19576 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19577 (grub_fshelp_node): Likewise.
19578 (grub_sfs_iterate_dir): Set mtime.
19579 (grub_sfs_dir): Likewise.
19580 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19581 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19582 (grub_xfs_inode): New fields atime, mtime, ctime.
19583 (grub_xfs_dir): Set mtime.
19584 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19585 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19586 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19587
19588 Support UDF symlinks.
19589
19590 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19591 (grub_ufs_read_symlink): New function. All users updated.
19592
19593 Check amiga partmap checksum.
19594
19595 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19596 (grub_amiga_partition): Likewise.
19597 (amiga_partition_map_checksum): New function.
19598 (amiga_partition_map_iterate): Check checksum.
19599
19600 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19601
19602 ROMFS support.
19603
19604 * Makefile.util.def (libgrubmods.a): Add romfs.
19605 * grub-core/Makefile.core.def (romfs): New module.
19606 * grub-core/fs/romfs.c: New file.
19607
19608 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 Squashfs v4 support.
19611
19612 * Makefile.util.def (libgrubmods.a): Add squash4.
19613 * grub-core/Makefile.core.def (squash4): New module.
19614 * grub-core/fs/squash4.c: New file.
19615 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19616 disk_input_start, disk_input.
19617 (get_byte): Handle disk_input.
19618 (grub_zlib_disk_read): New function.
19619 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19620
19621 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19622 2011-05-15 Feiran Zheng <famcool@gmail.com>
19623
19624 * Makefile.util.def (libgrubmods.a): Add minix3.
19625 * grub-core/Makefile.core.def (minix3): New module.
19626 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19627 (GRUB_MINIX_BSIZE): Removed.
19628 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19629 (grub_minix_ino_t): New type.
19630 (grub_minix_le_to_cpu_ino): New macro.
19631 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19632 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19633 (grub_minix_data): New field block_size.
19634 (grub_minix_read_file): Handle 64-bit correctly.
19635 * grub-core/fs/minix3.c: New file.
19636
19637 2011-05-15 Tristan Gingold <gingold@free.fr>
19638 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
19639 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19640
19641 IA64 support.
19642
19643 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19644 * configure.ac: Add ia64-efi target.
19645 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19646 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19647 * gentpl.py: Add ia64_efi platform.
19648 Rename x86_efi to efi and Add ia64-efi. All users updated.
19649 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19650 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19651 Remove kern/generic/rtc_get_time_ms.c on EFI.
19652 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19653 kern/ia64/dl_helper.c on ia64-efi.
19654 Add kern/emu/cache.c on emu.
19655 (linux): Use on loader/ia64/efi/linux.c on ia64.
19656 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19657 whether symbol is a function.
19658 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19659 (grub_symbol): New field 'isfunc'.
19660 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19661 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19662 (grub_dl_load_segments): Place all sections into the same region.
19663 [__ia64__]: Create trampolines and got.
19664 [GRUB_MACHINE_EMU]: Call mprotect.
19665 (grub_dl_resolve_symbols): Resolve symbol type as well.
19666 [__ia64__]: Create function descriptors.
19667 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19668 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19669 (grub_get_rtc): New function.
19670 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19671 * grub-core/kern/emu/cache.S: Renamed to ...
19672 * grub-core/kern/emu/cache_s.S: ... this.
19673 [__ia64__]: Add a nop.
19674 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19675 [__ia64__]: New function.
19676 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19677 * grub-core/kern/ia64/dl.c: New file.
19678 * grub-core/kern/ia64/dl_helper.c: Likewise.
19679 * grub-core/kern/ia64/efi/init.c: New file.
19680 * grub-core/kern/ia64/efi/startup.S: Likewise.
19681 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19682 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19683 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19684 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19685 * grub-core/loader/ia64/efi/linux.c: New file.
19686 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19687 (GRUB_MOD_DEP): Likewise.
19688 (grub_dl) [__ia64__]: New fields got and tramp.
19689 (grub_dl): New field 'base'.
19690 (grub_dl_register_symbol): New argument isfunc. All users updated.
19691 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19692 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19693 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19694 (grub_ia64_dl_get_tramp_got_size): New proto.
19695 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19696 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19697 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19698 * include/grub/efi/api.h: Skip call wrappers on ia64.
19699 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19700 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19701 * include/grub/elf.h (ELF_ST_INFO): New definition.
19702 * include/grub/ia64/efi/kernel.h: New file.
19703 * include/grub/ia64/efi/memory.h: Likewise.
19704 * include/grub/ia64/efi/time.h: Likewise.
19705 * include/grub/ia64/kernel.h: Likewise.
19706 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19707 * include/grub/ia64/time.h: New file.
19708 * include/grub/ia64/types.h: Likewise.
19709 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19710 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19711 New protos.
19712 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19713 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19714 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19715 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19716 All users updated.
19717 (EFI64_HEADER_SIZE): New definition. All users updated.
19718 (image_targets): Add ia64-efi.
19719 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19720 jumpers_addr. All users updated.
19721 Create function descriptors.
19722 (count_funcs): New function.
19723 (unaligned_uint32): New struct.
19724 (MASK20): New definition.
19725 (MASK19): Likewise.
19726 (MASKF21): Likewise.
19727 (add_value_to_slot_20b): New function.
19728 (add_value_to_slot_21_real): Likewise.
19729 (add_value_to_slot_21): Likewise.
19730 (ia64_kernel_trampoline): New struct.
19731 (nopm): New variable.
19732 (jump): Likewise.
19733 (make_trampoline): New function.
19734 (relocate_addresses): Handle ia64.
19735 (make_reloc_section): Likewise.
19736 (load_image): Likewise.
19737
19738 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19739
19740 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19741 warning. Move variables before code while on it.
19742
19743 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19744
19745 Fuloong support.
19746
19747 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19748 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19749 * grub-core/boot/mips/loongson/fuloong.S: New file.
19750 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19751 Explicitly init CS5536.
19752 [FULOONG]: Don't use serial until CS5536 is available.
19753 Set GPIO based on dumps.
19754 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19755 [FULOONG]: Handle GPIO and memory controller differences.
19756 Parse machine type in $a2.
19757 * grub-core/boot/mips/startup_raw.S: Determine and save the
19758 architecture.
19759 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19760 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19761 init on architecture type.
19762 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19763 SIS315E. Don't init at_keyboard on fuloong.
19764 (grub_halt): Support Fuloong.
19765 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19766 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19767 (loongson_machtypes): New array.
19768 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19769 type.
19770 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19771 config. All users updated. Handle CS5536 serial.
19772 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19773 default port on machine type. Register serial as inactive.
19774 * grub-core/video/sis315pro.c: New file.
19775 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19776 definition.
19777 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19778 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19779 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19780 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19781 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19782 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19783 to ...
19784 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19785 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19786 definition.
19787 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19788 (grub_arch_machine): New extern var.
19789 * include/grub/mips/loongson/serial.h
19790 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19791 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19792 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19793 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19794 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19795 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19796 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19797 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19798 * include/grub/term.h (grub_term_register_input_inactive): New inline
19799 function.
19800 (grub_term_register_output_inactive): Likewise.
19801 * include/grub/video.h (grub_video_driver_id): New value
19802 GRUB_VIDEO_DRIVER_SIS315PRO.
19803 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19804 New field "names". All users updated.
19805 New field value IMAGE_FULOONG_FLASH.
19806 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19807
19808 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19809
19810 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19811 and add some clarification.
19812
19813 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19816 platforms if kernel is compressed.
19817
19818 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19821 unused modules since currently referrence counter isn't reliable and
19822 there isn't much memory to recover there anyway.
19823
19824 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19827 rather than resetting it to allow modules to reference themselves
19828 in init.
19829
19830 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19831
19832 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19833 counter on dependencies since grub_dl_unref already handles this.
19834
19835 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19836
19837 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19838 on error if not already done.
19839
19840 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 Fix few potential memory misusage.
19843
19844 * grub-core/font/font.c (load_font_index): Don't free char_index to
19845 avoid double free.
19846 (grub_font_load): Zero-fill font at alloc for safety.
19847 Close file on error.
19848 (free_font): Free bmp_idx.
19849
19850 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * docs/grub.texi (Installation): Fix several outdated claims.
19853
19854 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19855
19856 Handle module_license on windows.
19857
19858 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19859 sections shifted.
19860 (insert_string): Make argument const char * instead of char *.
19861 (write_section_data): Handle long section names.
19862 Handle module_license.
19863
19864 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19865
19866 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19867 handle class-free menuentries.
19868 (grub_normal_add_menu_entry): Add a check to be sure.
19869
19870 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19873 PgUp and PgDown.
19874
19875 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19876
19877 * configure.ac: Bump version to 1.99.
19878
19879 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 Give ATA device a bit more time on first try in order to allow disks
19882 to spin up.
19883
19884 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19885 if dev->present is 1. Reset dev->present on failure.
19886 (grub_ata_device_initialize): Set dev->present to 1.
19887 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19888 (grub_ata_device): New member 'present'.
19889
19890 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19891
19892 * util/grub-mkimage.c (generate_image): Update hash.
19893
19894 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 Flush caches on DMA memory.
19897
19898 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19899 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19900 (grub_dma_free): Likewise.
19901 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19902
19903 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19906 to avoid asm treating ld and sd as macros.
19907
19908 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19909
19910 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19911 decompressor.
19912
19913 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19916 grub_decompress_core since later would fail if grub_decompress_core
19917 is too far.
19918
19919 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19920
19921 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19922 R_MIPS_JALR since it's used by newer compiler.
19923
19924 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19925
19926 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19927
19928 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19931 file_path to 0 for surety.
19932 (grub_chainloader_boot): Set exit_data to NULL.
19933 Unset the loader once done.
19934 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19935
19936 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19937
19938 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19939 unknown key into a dprintf.
19940
19941 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19944 on first non-existant partition.
19945
19946 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19947
19948 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19949 openning fails.
19950 Reported by: Mark Korenberg.
19951
19952 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19953
19954 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19955 overflow.
19956
19957 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19958
19959 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19960 before closing to ensure that it will be readable by grub-setup.
19961
19962 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19965 (devpath_1): Use MAKE_PIWG_PATH.
19966 (devpath_2): Likewise.
19967 (devpath_3): Likewise.
19968 (devpath_4): Likewise.
19969 (devpath_5): Likewise.
19970 (devpath_6): Likewise.
19971
19972 The appleldr.mod was checked that to be binary identical to previous
19973 version.
19974
19975 2011-05-05 Zach <mikezackles>
19976
19977 Support 2010 Macbooks.
19978
19979 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
19980 (devs): Add devpath_6.
19981
19982 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
19985 /dev/random. /dev/urandom is good enough for our purposes (salting).
19986
19987 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
19990
19991 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
19994 hexadecimal.
19995
19996 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
19999 and not 0 on failure.
20000
20001 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20002
20003 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20004 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20005 disk; otherwise grub_fs_probe will not fall back to the next
20006 filesystem.
20007 (grub_pxefs_open): Likewise, for consistency.
20008 Reported and tested by: Ezekiel Grave.
20009
20010 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20011
20012 * tests/partmap_test.in: Don't hardcode path to parted.
20013 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20014
20015 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
20016
20017 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20018 of `ls' to find out which devices are available.
20019
20020 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20023 than source address for efi mmap buffer.
20024
20025 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20028 wrong action on non-detecting the magic.
20029
20030 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20033 already supplied by another part of the module (fixes compilation on
20034 FreeBSD).
20035
20036 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20039 match the one used by mdadm.
20040
20041 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20042
20043 * po/README: Add instructions for creating po/LINGUAS.
20044
20045 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20046
20047 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20048 #551428.
20049
20050 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20051 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20052 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20053 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20054 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20055 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20056 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20057 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20058 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20059 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20060 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20061 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20062 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20063 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20064 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20065 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20066 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20067 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20068 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20069 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20070 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20071 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20072
20073 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20074
20075 * grub-core/kern/emu/getroot.c
20076 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20077 test that was incorrectly reintroduced in r3214.
20078 Reported by: Ian Dall. Fixes Savannah bug #33133.
20079
20080 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20081
20082 Fix stack pointer handling in 16-bit relocator.
20083
20084 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20085 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20086 Fixes Ubuntu bug #683904.
20087
20088 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20089
20090 * configure.ac: Bump version to 1.99~rc2.
20091
20092 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20093
20094 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20095 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20096 * grub-core/lib/x86_64/setjmp.S: Likewise.
20097 * grub-core/lib/mips/setjmp.S: Likewise.
20098 * grub-core/lib/powerpc/setjmp.S: Likewise.
20099 * grub-core/lib/sparc64/setjmp.S: Likewise.
20100
20101 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20102
20103 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20104 * grub-core/lib/efi/datetime.c: Likewise.
20105
20106 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20109 New function.
20110 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20111 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20112 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20113
20114 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20115
20116 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20117 bitmap.
20118 (grub_gfxterm_term_init): Likewise.
20119
20120 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 Take into account the decorations the computing menu entry width.
20123
20124 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20125 (grub_gfxmenu_create_box): Register get_border_width.
20126 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20127 if available.
20128 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20129 get_border_width.
20130
20131 2011-04-18 Endres Puschner <code@e7p.de>
20132
20133 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20134 Don't skip first class.
20135
20136 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20137
20138 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20139 chunks.
20140 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20141
20142 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20143
20144 Complete 64-bit division support.
20145
20146 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20147 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20148 * include/grub/misc.h (grub_divmod64): Rename to ...
20149 (grub_divmod64_full): ... this.
20150 (grub_divmod64): New inline function.
20151
20152 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20155
20156 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20159 performing the necessary test.
20160
20161 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20162
20163 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20164 (kfreebsd.elf): Likewise.
20165 (pc-chainloader.elf): Likewise.
20166 (ntldr.elf): Likewise.
20167
20168 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 Identify RAID by its UUID rather than (guessed) name.
20171
20172 * grub-core/disk/raid.c (ascii2hex): New function.
20173 (grub_raid_open): Accept mduuid/%s specification.
20174 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20175 (get_mdadm_uuid): ... this.
20176 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20177
20178 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20179
20180 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20181 to negative size.
20182
20183 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20184
20185 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20186 btrfs subvolume.
20187 * util/grub.d/20_linux_xen.in: Likewise.
20188
20189 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20190
20191 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20192 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20193
20194 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20195 Build a list of relevant visible mounts using the mnt_id and
20196 parent_mnt_id fields, and then scan that list at the end.
20197
20198 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20199
20200 * docs/grub.texi (normal): New section.
20201 (normal_exit): New section.
20202 (Embedded configuration): Add reference to normal.
20203 (GRUB only offers a rescue shell): Likewise.
20204 * docs/grub-dev.texi (Error Handling): Fix typo.
20205
20206 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20207
20208 * NEWS: Drop obsolete entry about probe-only btrfs support.
20209
20210 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20211
20212 * util/import_gcry.py: Fix typo.
20213
20214 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20215
20216 * NEWS: Add btrfs support.
20217
20218 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20219 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20220
20221 BtrFS support. Written by me (Vladimir) with important bugfixes and
20222 even more important testing by Colin.
20223
20224 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20225 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20226 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20227 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20228 mem_input_off and mem_input. All users updated to accept in-RAM input.
20229 (gzio_seek): New function.
20230 (test_zlib_header): Likewise.
20231 (grub_gzio_read): Likewise.
20232 (grub_zlib_decompress): Likewise.
20233 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20234 Accept partial and non-virtual mounts.
20235 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20236 avoid receiving /dev/dm-X as device.
20237 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20238 Handle bind and partial mounts.
20239 * grub-core/lib/crc.c: New file.
20240 * include/grub/deflate.h: Likewise.
20241 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20242 proto.
20243 * include/grub/lib/crc.h: New file.
20244
20245 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20246
20247 Implement automatic module license checking according to new GNU
20248 guidelines.
20249
20250 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20251 (grub_dl_load_core): Use grub_dl_check_license.
20252 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20253 (GRUB_MOD_LICENSE): Likewise.
20254 (GRUB_MOD_DUAL_LICENSE): Likewise.
20255 All modules updated.
20256
20257 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20258
20259 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20260 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20261 loaders.
20262 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20263
20264 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20267
20268 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20271 failed.
20272
20273 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20276 parenthesis in the middle of the filename.
20277
20278 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20281 rather than trying to put initrd way too high.
20282 Reported by: Ryan Lortie <desrt@desrt.ca>
20283
20284 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20287 improperly removed string.
20288
20289 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20292 is_disk.
20293 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20294 (open_device) Likewise.
20295 (grub_util_biosdisk_close): Likewise.
20296 Reported by: Mark Korenberg.
20297
20298 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20299
20300 * util/grub-mkconfig_lib.in: Add missing quotes.
20301
20302 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
20303
20304 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20305 is NULL.
20306
20307 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20308
20309 Dynamically count the number of lines for the lower banner.
20310
20311 * grub-core/normal/menu_entry.c (per_term_screen): New member
20312 num_entries.
20313 (print_down): Use num_entries.
20314 (update_screen): Likewise.
20315 (grub_menu_entry_run): Set num_entries.
20316 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20317 num_entries.
20318 (grub_print_message_indented): Move real part to ...
20319 (grub_print_message_indented_real): ... here. Additional argument
20320 dry_run.
20321 (draw_border): Additional argument num_entries.
20322 (print_message): Additional argument dry_run.
20323 (print_entries): Receive menu viewer data.
20324 (grub_menu_init_page): New argment num_entries.
20325 (menu_text_set_chosen_entry): Use num_entries.
20326 (grub_menu_try_text): Likewise.
20327 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20328 All users updated.
20329 (grub_ucs4_count_lines): New function.
20330 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20331 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20332 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20333 (grub_term_border_height): Likewise.
20334 (grub_term_num_entries): Likewise.
20335
20336 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20337
20338 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20339 Remove now unused string.
20340
20341 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20342
20343 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20344 build system.
20345 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20346
20347 (Comment): Fix typo.
20348 (Getting started): General copy-editing.
20349 (Typical Development Experience): Likewise.
20350 (Error Handling): Likewise.
20351 (Video API): Likewise.
20352
20353 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20354
20355 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20356 throughout.
20357
20358 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20361 directory.
20362
20363 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20364
20365 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20366 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20367 "development".
20368
20369 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20372 grub_strcpy since the lines aren't necessarily 0-terminated.
20373
20374 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20377 root on legacy.
20378
20379 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20380
20381 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20382 (GRUB_MOD_INIT): DEVICE isn't optional.
20383
20384 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20387 word on new line if it's too long anyway. Fixes a hang.
20388
20389 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20392 const.
20393 * util/grub-setup.c (main): Reuse md device name if available.
20394 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20395 not GRUB name as argument.
20396 Based on patch by: Florian Wagner <fwagner>.
20397
20398 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20399
20400 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20401 Place mbi on low memory for better compatibility.
20402
20403 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20406
20407 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20408 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20409
20410 * autogen.sh: Ensure that collate and ctype locale is C.
20411 * conf/Makefile.common: Likewise.
20412
20413 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * grub-core/normal/menu.c: Add missing include.
20416
20417 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
20420
20421 2011-04-08 Martin Zuther <mzuther@mzuther.de>
20422
20423 * util/grub-mkconfig.in: Ignore emacsen backup.
20424
20425 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20428 on open.
20429 (grub_util_biosdisk_close): Likewise.
20430
20431 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20432
20433 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20434 const attribute and use grub_isdigit.
20435
20436 2011-04-06 Andrey <dev_null@ukr.net>
20437
20438 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20439 gcc warning.
20440
20441 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20444 useful grub_dprintf's.
20445
20446 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20449
20450 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20451
20452 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20453
20454 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 Output errors if theme loading failed.
20457
20458 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20459 grub_gfxterm_fullscreen on error paths to ...
20460 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20461 theme loading error.
20462
20463 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20466 space for older compilers.
20467 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20468
20469 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20472 and report them as not RAID members since they are useless for GRUB.
20473 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20474
20475 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 Increase LVM implementation robustness in order not to crash on
20478 configurations like pvmove. Previously code assumed that in some places
20479 only lvs or only pvs are used whereas it seems that they are used
20480 interchangeably.
20481
20482 * grub-core/disk/lvm.c (read_node): New function.
20483 (read_lv): Use read_node.
20484 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20485 Match volumes only at the end when all lvs are found. Take both
20486 pvs (first) and lvs (second) into account.
20487 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20488 mirror_* into node_*. All users updated.
20489 (grub_lvm_stripe): Merge this ...
20490 (grub_lvm_mirror): ... and this ...
20491 (grub_lvm_node): ... into this. All users updated.
20492
20493 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20496 of function to allow further scanning for LVMs.
20497
20498 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20501 on failed seek as it breaks open fd reusage.
20502
20503 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 * util/grub-install.in: Add a recommendation to use --recheck before
20506 reporting bugs.
20507
20508 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20511 are obtained.
20512
20513 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20514
20515 GRUB developper manual based on existing Internals section and
20516 contributions by the various authors with active copyright assignment.
20517
20518 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20519 * docs/font_char_metrics.png: New file.
20520 * docs/font_char_metrics.txt: Likewise.
20521 * docs/grub-dev.texi: Likewise.
20522 * docs/grub.texi (Internals): Move from here ...
20523 * docs/grub-dev.texi: ... here.
20524
20525 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20526
20527 Store the loopback device as data on loopback grub_disk structures,
20528 rather than the file it points to. This fixes use of freed memory
20529 if an existing loopback device is replaced.
20530
20531 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20532 disk->data, not dev->file.
20533 (grub_loopback_read): Adjust file assignment to match.
20534 Fixes Ubuntu bug #742967.
20535
20536 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20537
20538 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20539 when replacing an existing device.
20540
20541 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20544 memory corruptions.
20545
20546 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20547 unsigned.
20548 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20549 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20550 (grub_jfs_read_inode): Likewise.
20551 (grub_jfs_opendir): Likewise. Remove now useless casts.
20552 (grub_jfs_getent): Likewise.
20553 Make ino a grub_uint32_t rather than int.
20554 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20555 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20556 division and module with bit operations.
20557 (grub_jfs_find_file): Make ino a grub_uint32_t.
20558 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20559
20560 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20561
20562 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20563 warning. (This was in fact always initialised before use, but GCC
20564 wasn't smart enough to prove that.)
20565 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20566
20567 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20568
20569 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20570 stack alignment.
20571 (efi_wrap_1): Likewise.
20572 (efi_wrap_2): Likewise.
20573 (efi_wrap_3): Likewise.
20574 (efi_wrap_4): Likewise.
20575 (efi_wrap_5): Likewise.
20576 (efi_wrap_6): Likewise.
20577 (efi_wrap_10): Likewise.
20578 Based on information by: Red Hat/Peter Jones.
20579
20580 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20581
20582 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20583 set-but-not-used variable.
20584
20585 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20586
20587 * docs/grub.texi (Simple configuration): Be more explicit about
20588 GRUB_DEFAULT, and add an example.
20589 Reported by: Leslie Rhorer.
20590
20591 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20592
20593 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20594 shell".
20595
20596 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20597
20598 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20599 * util/grub.d/20_linux_xen.in: Likewise.
20600
20601 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 * util/grub.d/10_linux.in: Try alternative config filenames where
20604 we parse config file.
20605 * util/grub.d/20_linux_xen.in: Likewise.
20606
20607 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20608
20609 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20610 * util/grub.d/20_linux_xen.in: Likewise.
20611
20612 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20613
20614 * grub-core/disk/raid.c (insert_array): Add few potentially
20615 useful grub_util_info.
20616 (grub_raid_register): Likewise.
20617
20618 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20621 Preserve partition number in mdadm code path.
20622
20623 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20626 few potentially useful grub_util_info.
20627
20628 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20629
20630 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20631
20632 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20633
20634 * docs/grub.texi (default): Use @example rather than nested
20635 itemized lists to avoid breaking gendocs.
20636
20637 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20638
20639 * docs/grub.texi (Future): Update.
20640
20641 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20642
20643 * docs/grub.texi (Environment): New chapter.
20644 (Changes from GRUB Legacy): Link to "Environment block" section for
20645 details of limitations.
20646 (Simple configuration): Likewise. Link to documentation of gfxmode
20647 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20648 respectively.
20649 (Shell-like scripting): Note that normal variables are stored in the
20650 environment.
20651 (gettext): Link to documentation of lang and locale_dir.
20652 (list_env): New section.
20653 (load_env): New section.
20654 (save_env): New section.
20655
20656 (Reporting bugs): Fix typo.
20657
20658 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20661 the example.
20662
20663 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20664
20665 * grub-core/term/at_keyboard.c (set_scancodes)
20666 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20667
20668 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20669
20670 * docs/grub.texi (Menu-specific commands): Remove some semantics
20671 that were true in GRUB Legacy but not in GRUB 2.
20672 (submenu): New section.
20673 (false): New section.
20674 (read): New section.
20675 (true): New section.
20676
20677 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20678
20679 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20680
20681 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20682
20683 * docs/grub.texi (Simple configuration): Explain some of the
20684 current limitations of grub-mkconfig.
20685 Reported by: Leslie Rhorer.
20686
20687 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 Old macs search for boot.efi rather than for bootia32.efi.
20690
20691 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20692 * util/grub-mkrescue.in: Likewise.
20693 Suggested by: Peter Jones.
20694
20695 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20696
20697 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20698
20699 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20700
20701 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20702 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20703 (grub_lvm_mirror): New struct.
20704 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20705 (grub_lvm_iterate): Iterate only visible volumes.
20706 (grub_lvm_read): Factor out to ..
20707 (read_lv): ... this. Support mirrors.
20708 (grub_lvm_read): New wrapper function.
20709 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20710 stripped or mirrored.
20711
20712 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20713
20714 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20715
20716 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20717
20718 * docs/grub.texi (loopback): New section.
20719
20720 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20721
20722 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20723 removed -p option.
20724
20725 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20726
20727 * docs/grub.texi (BIOS installation): New section, partly based on
20728 previous text in other sections.
20729 (Installing GRUB using grub-install): Replace BIOS discussion with a
20730 cross-reference.
20731 (Images): Likewise.
20732
20733 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20736 [HAVE_DIOCGDINFO]: Add safety checks.
20737
20738 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20741 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20742
20743 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20744
20745 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20746 real_sb->size is zero (e.g. RAID-0), get the disk size from
20747 real_sb->data_size instead.
20748 Fixes Ubuntu bug #743136.
20749
20750 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20753 printf clauses for printing size and start.
20754
20755 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20756
20757 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20758 Reported and tested by: Timothy Nikkel.
20759
20760 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20761
20762 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20763 (dirty_region_add_real): ... this.
20764 (dirty_region_add): Don't discard margin refresh when performing
20765 scheduled repaint.
20766
20767 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20768
20769 * grub-core/lib/relocator.c (allocate_regstart)
20770 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20771 terminals are capabple of malloc-free operation.
20772 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20773 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20774
20775 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20776
20777 * util/grub-setup.c: Copy the partition table zone if floppy support
20778 is disabled, even if no partition table is found.
20779
20780 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20781 during POST if an invalid partition table is contained in the PBR
20782 of the active partition when GRUB is installed to a partition.
20783
20784 2011-03-28 Colin Watson <cjwatson@debian.org>
20785
20786 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20787 comment.
20788
20789 2011-03-28 Colin Watson <cjwatson@debian.org>
20790
20791 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20792 to be specific about what kind of RAID device we're scanning for.
20793
20794 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20795
20796 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20797 return freed string.
20798
20799 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20800
20801 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20802
20803 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20804
20805 Use libgeom on FreeBSD to detect partitions.
20806
20807 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20808 (grub-mkrelpath): Likewise.
20809 (grub-script-check): Likewise.
20810 (grub-editenv): Likewise.
20811 (grub-mkpasswd-pbkdf2): Likewise.
20812 (grub-fstest): Likewise.
20813 (grub-mkfont): Likewise.
20814 (grub-mkdevicemap): Likewise.
20815 (grub-probe): Likewise.
20816 (grub-setup): Likewise.
20817 (grub-ofpathname): Likewise.
20818 (grub-mklayout): Likewise.
20819 (example_unit_test): Likewise.
20820 (grub-menulst2cfg): Likewise.
20821 * grub-core/Makefile.core.def (grub-emu): Likewise.
20822 (grub-emu-lite): Likewise.
20823 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20824 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20825 define HAVE_DIOCGDINFO.
20826 (follow_geom_up) [FreeBSD]: New function.
20827 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20828 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20829 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20830 unconditionally of HAVE_DIOCGDINFO.
20831
20832 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 Fix FreeBSD compilation problem.
20835
20836 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20837 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20838
20839 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
20840
20841 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20842 Switch back to page zero before loading a kernel, since some kernel
20843 drivers expect that.
20844 Thanks to: Felix Kuehling.
20845
20846 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20847
20848 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20849 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20850 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20851
20852 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20853
20854 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20855 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20856
20857 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20858
20859 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20860 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20861 malloc is disabled.
20862
20863 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20866 for modules headers when counting the needed allocation size.
20867
20868 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20869
20870 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20871 if no ASCII character is found to prevent crash.
20872
20873 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20874
20875 * grub-core/video/bitmap.c (match_extension): Ignore case.
20876
20877 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20880
20881 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20882
20883 * grub-core/script/parser.y: Declare "time" as valid argument.
20884
20885 2011-03-23 Peter Jones <pjones@redhat.com>
20886
20887 Fix incorrect assert failure reporting.
20888
20889 * grub-core/tests/example_functional_test.c (example_test): Add
20890 a failure comment.
20891 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20892 (failure_start): ...this. Check that malloc succeeded.
20893 Don't call xvasprintf. Return failure struct.
20894 (failure_append_vtext): New function.
20895 (failure_append_text): Likewise.
20896 (add_failure): Likewise.
20897 (grub_test_assert_helper): Likewise.
20898 * include/grub/test.h (grub_test_assert_helper): New declaration.
20899 (grub_test_assert): Macro rewritten.
20900
20901 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20904
20905 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20906
20907 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20908
20909 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20910
20911 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20912 into GRUB-style one.
20913
20914 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20915
20916 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20917 error and not grub_errno.
20918 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20919
20920 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20923 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20924
20925 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 * grub-core/efiemu/i386/pc/cfgtables.c
20928 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20929 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20930 (grub_xnu_unlock): Likewise.
20931 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20932
20933 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20934
20935 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20936 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20937 * grub-core/commands/hashsum.c (aliases): Likewise.
20938 * grub-core/commands/setpci.c (pci_registers): Likewise.
20939 * grub-core/disk/usbms.c (attach_hook): Likewise.
20940 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20941 (zio_checksum_table): Likewise.
20942 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20943 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20944 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20945 * grub-core/lib/relocator.c (leftovers): Likewise.
20946 (extra_blocks): Likewise.
20947 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20948 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20949 (modules_last): Likewise.
20950 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20951 (devices): Likewise.
20952 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20953 (modules_last): Likewise.
20954 * grub-core/normal/auth.c (users): Likewise.
20955 * grub-core/normal/context.c (initial_menu): Likewise.
20956 (current_menu): Likewise.
20957 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20958 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20959 (grub_serial_terminfo_input_template): Likewise.
20960 (grub_serial_terminfo_output_template): Likewise.
20961 (grub_serial_terminfo_input): Likewise.
20962 (grub_serial_terminfo_output): Likewise.
20963 (registered): Likewise.
20964 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20965
20966 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20967
20968 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20969 grub_video_mode_type_t.
20970 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20971 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20972 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
20973
20974 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20975
20976 * util/grub-install.in: Correct the x86-64 name as x86_64.
20977
20978 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
20979
20980 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
20981 initial chunk read from the kernel always includes GRUB's multiboot
20982 header, which is now outside the first sector.
20983
20984 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
20985
20986 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
20987 cached mmap_size, so that this works correctly when called multiple
20988 times.
20989 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
20990
20991 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
20992
20993 * docs/grub.texi (Simple configuration): Tidy up formatting.
20994
20995 2011-03-07 Szymon Janc <szymon@janc.net.pl>
20996
20997 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
20998 Set-but-not-used variable removed.
20999
21000 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21001
21002 Workaround yet another IEEE1275 bug.
21003
21004 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21005 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21006 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21007 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21008 is set.
21009 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21010 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21011
21012 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21015 error.
21016
21017 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
21018
21019 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21020 empty, since in that case we can only generate either nothing or a
21021 syntactically invalid configuration file.
21022 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21023
21024 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21025
21026 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21027 (Making a GRUB bootable CD-ROM): Likewise.
21028 (Invoking grub-mkrescue): New section.
21029 Reported by: Yann Dirson. Fixes Debian bug #612585.
21030
21031 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21032
21033 * util/grub-install.in: Remove unnecessary brackets from tr
21034 arguments.
21035 * util/grub.d/10_hurd.in: Likewise.
21036 * util/grub.d/10_kfreebsd.in: Likewise.
21037 * util/grub.d/10_linux.in: Likewise.
21038 * util/grub.d/20_linux_xen.in: Likewise.
21039 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21040
21041 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
21042
21043 * include/grub/file.h (not_easly_seekable): Rename to ...
21044 (not_easily_seekable): ... this. Update all users.
21045
21046 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
21047
21048 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21049 grub-mkrescue.
21050
21051 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21052
21053 * util/grub-mkimage.c (generate_image): Refuse to create the images
21054 bigger than the actual flash (512K) in Loongson machines. 512K is also
21055 the biggest chip supported by them.
21056
21057 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21058
21059 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21060
21061 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
21062
21063 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21064 super_offset field.
21065
21066 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21067
21068 * util/grub-install.in: Ignore install device on platforms
21069 where it doesn't make sense. Always use UUIDs except on pc, efi and
21070 sparc64.
21071 Reported by: Daniel Kahn Gillmor.
21072
21073 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21074
21075 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21076
21077 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21078
21079 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21080 (iterate_real): Don't rely on partition being non-NULL.
21081
21082 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21083
21084 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21085 supported platforms. Put a compile time assert for this rather than
21086 generate a warning with 32-bit shift.
21087
21088 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21091 logical expression more readable.
21092
21093 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21094
21095 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21096 even if some elements have a name.
21097 Reported by: Alexander GQ Gerasiov.
21098
21099 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21100
21101 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21102 path unreadable if `grub-probe -t abstraction' fails, for example if
21103 memberlist fails on an LVM volume group.
21104 Reported by: Darius Jahandarie.
21105
21106 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21107
21108 * docs/grub.texi (Simple configuration): Document
21109 GRUB_PRELOAD_MODULES.
21110
21111 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
21112
21113 * .bzrignore: Remove nonexistent grub-pbkdf2.
21114
21115 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21116
21117 * configure.ac: Bump version to 1.99~rc1.
21118
21119 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21122 for safety.
21123
21124 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21125
21126 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21127 module.
21128
21129 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21132
21133 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21134
21135 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21136 diskdevid.
21137
21138 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21139
21140 Fix compilation on cygwin.
21141
21142 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21143 -R .drectve on cygwin.
21144 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21145 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21146 (COND_CYGWIN): New condition.
21147 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21148 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21149 not @TARGET_OBJ2ELF@.
21150 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21151 type to determine whether aux is to be used.
21152
21153 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21154
21155 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21156 realpath'ed device string.
21157 Handle floppy (somewhat).
21158 Issue error in unknown case rather than garbage.
21159 Reported by: Axel Beckert.
21160
21161 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * util/grub.d/00_header.in (load_video): Handle the case when no video
21164 drivers available.
21165 Thanks to: Axel Beckert.
21166
21167 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21168
21169 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21170 variable. Fixes problem on big endian platforms.
21171
21172 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21173
21174 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21175 It doesn't work well there.
21176
21177 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21178
21179 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21180 warning.
21181 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21182 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21183 counter.
21184
21185 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 Use alias->path rather than buggy "canon".
21188
21189 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21190 (ofdisk_hash_add): New argument curcan. All users updated.
21191
21192 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21193
21194 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21195
21196 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21197
21198 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21199 loadmask before doing any calculations. Use correct type for offset.
21200 (grub_linux_load64): Likewise.
21201
21202 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21203
21204 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21205 with NULL.
21206 (console_grub_equivalences_unshift): Likewise.
21207 Reported by: Daniel Dehennin.
21208
21209 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21210
21211 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21212 (set_env_limn_ro): Likewise.
21213 (GRUB_MOD_INIT): Likewise.
21214 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21215 ARRAY_SIZE while on it.
21216 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21217 * grub-core/normal/context.c (grub_env_export): Move from here ...
21218 * grub-core/kern/env.c (grub_env_export): ... here.
21219 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21220 prefix.
21221 * grub-core/kern/main.c (grub_main): Export root and prefix.
21222 * include/grub/env.h (grub_env_export): Export.
21223 Reported by: Seth Goldberg.
21224
21225 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21226
21227 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21228 Take into account space used by ELF sections and multiboot palette.
21229 Reported by: Grégoire Sutre.
21230
21231 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 * BUGS: New file.
21234
21235 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21236
21237 Pass more appropriate video id to Linux.
21238
21239 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21240 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21241 fill have_vga.
21242 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21243 shift params->lfb_size.
21244 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21245
21246 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21247
21248 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21249
21250 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21253 separator and pass bootpath/devid even if only one of them is available.
21254 Reported by: Seth Goldberg.
21255
21256 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21259 implementations bug on them.
21260
21261 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21262 memory.
21263 (filter_memory_map): Likewise.
21264
21265 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21266
21267 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21268 Reported by: nebuchadnezzar.
21269
21270 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21273 Reported by: nebuchadnezzar.
21274
21275 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21276
21277 Submenu default support.
21278
21279 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21280 auto_boot. All users updated.
21281 Declared static.
21282 Handle chosen and default with submenus.
21283 (grub_menu_execute_with_fallback): Declared static.
21284 Don't notify failure if autobooted. Upper level does it.
21285 (menuentry_eq): New function.
21286 (get_entry_number): Use menuentry_eq.
21287 (show_menu): New parameter "autobooted". All users updated.
21288 (grub_show_menu): Likewise.
21289 * include/grub/normal.h (grub_show_menu): Likewise.
21290 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21291 (grub_menu_execute_with_fallback): Likewise.
21292
21293 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 * util/grub-mklayout.c (usage): Update help text.
21296
21297 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21298
21299 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21300
21301 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * util/grub-menulst2cfg.c (main): Trim the line.
21304
21305 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21308 (grub_machine_init): Don't check amount of low memory as reportedly
21309 INT 12h can be broken and if low memory is too low we wouldn't have
21310 gotten into grub_machine_init anyway.
21311
21312 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21313
21314 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21315 (grub_machine_mmap_iterate): Take low memory into account
21316
21317 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21318
21319 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21320 badfs.
21321 Reported by: TiCPU.
21322
21323 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21324
21325 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21326 members errors.
21327
21328 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21329
21330 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21331 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21332
21333 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21334
21335 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21336 openbsd and netbsd types being in part_bsd module.
21337
21338 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21339
21340 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21341 (_FILE_OFFSET_BITS): Likewise.
21342 Reported by: Seth Goldberg.
21343
21344 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21345
21346 * configure.ac: Check for libdevmapper header.
21347
21348 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21349
21350 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21351 avoid aliasing.
21352 (fzap_lookup): Likewise.
21353 (dnode_get): Likewise.
21354 (make_mdn): Likewise.
21355 (zfs_mount): Likewise.
21356 (fzap_iterate): Use temporary pointer to avoid aliasing.
21357 (grub_zfs_read): Likewise.
21358 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21359 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21360 pointers to avoid aliasing.
21361 (grub_cmd_xnu_kernel64): Likewise.
21362 (grub_xnu_load_driver): Likewise.
21363
21364 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21367 aliasing warning.
21368 (grub_cmd_terminal_output): Likewise.
21369 Reported and tested by: Grégoire Sutre.
21370
21371 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21374 warning.
21375 Reported and tested by: Grégoire Sutre.
21376
21377 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21378
21379 * configure.ac: Do CPU substitution even if it's specified explicitly.
21380 Reported and tested by: Alain Greppin.
21381
21382 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21383
21384 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21385 Reported and tested by: Alain Greppin.
21386
21387 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21388
21389 Satisfy some bison versions need for inttypes.h.
21390
21391 * grub-core/lib/posix_wrap/inttypes.h: New file.
21392 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21393 (int16_t): Likewise.
21394 (int32_t): Likewise.
21395 (int64_t): Likewise.
21396 Reported and tested by: Alain Greppin.
21397
21398 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21401 Silence spurious warning.
21402 Reported and tested by: Alain Greppin.
21403
21404 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21405
21406 * docs/grub.texi (Support automatic decompression): Update with xz
21407 decompression support.
21408
21409 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21410
21411 Improve loaders' kernel command line handling.
21412
21413 * grub-core/lib/cmdline.c: New file.
21414 * include/grub/lib/cmdline.h: Likewise.
21415 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21416 grub_create_loader_cmdline to create kernel command line.
21417 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21418 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21419 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21420 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21421 (linux): Add lib/cmdline.c on common.
21422
21423 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21426 inopos might be unaligned.
21427
21428 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21431 endian transformations.
21432 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21433 Based on report by: Doug Nazar.
21434
21435 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
21436
21437 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21438 array->members[i].start_sector.
21439 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21440
21441 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21444 Reported and tested by: Grégoire Sutre.
21445
21446 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21447
21448 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21449 avoid causing test failures by clearing the screen.
21450
21451 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21452
21453 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21454 Fix prefix check to handle the case where dir ends with a slash
21455 (most significantly, "/" itself).
21456 Reported by: Michael Vogt.
21457
21458 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 Run terminfo_cls on initing terminfo output to clear the screen and
21461 move the cursor to (0,0).
21462
21463 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21464 Call grub_terminfo_output_init.
21465 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21466 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21467 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21468
21469 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21470
21471 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21472 only when needed.
21473
21474 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21475
21476 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21477 CTRL.
21478
21479 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 The E820 type 5 is BADRAM, not EXEC_CODE.
21482
21483 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21484 (GRUB_E820_BADRAM): New define.
21485 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21486 into reserved. Propagate BADRAM.
21487 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21488 (GRUB_E820_BADRAM): New define.
21489
21490 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21493 Ignore the memory post-4G.
21494 (grub_relocator_firmware_alloc_region): Additional debug statement.
21495
21496 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21497
21498 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21499 names.
21500 Reported by: David Pravec.
21501
21502 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21505 BIOSes.
21506
21507 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21508
21509 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21510 Prevent overflow.
21511 (grub_reed_solomon_recover): Likewise.
21512
21513 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21514
21515 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21516
21517 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21518
21519 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21520 variable.
21521
21522 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
21523
21524 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21525 descriptions of extract_legacy_entries_source and
21526 extract_legacy_entries_configfile.
21527 Reported by: Seung Soo, Ha.
21528
21529 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
21530
21531 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21532 on devices that do not implement function 0.
21533
21534 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21535
21536 * grub-core/fs/hfsplus.c: Make parent unsigned.
21537 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21538 overflows.
21539 (grub_hfsplus_cmp_extkey): Likewise
21540
21541 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21542
21543 * util/grub-install.in: Correctly use bootloader_id and not
21544 GRUB_DISTRIBUTOR on efibootmgr line.
21545
21546 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21549
21550 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
21551
21552 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21553 Xen and reorder menu item wording to make it clearer that this entry
21554 will launch Xen. Print separate messages when loading Xen and
21555 Linux.
21556
21557 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21560 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21561 loop in case of incorrect amiga partmap.
21562
21563 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21566 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21567 Reported by:EHeM.
21568
21569 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21570
21571 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21572 spurious warning.
21573 Reported by: crocket
21574
21575 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21578 Preload EFIemu.
21579 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21580
21581 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21584 is loaded
21585 (grub_cmd_xnu_kextdir): Likewise.
21586 (grub_cmd_xnu_splash): Likewise.
21587
21588 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 Avoid using Reed-Solomon with 0 redundancy.
21591
21592 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21593 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21594 or 0 redundancy.
21595 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21596 (grub_reed_solomon_recover): Likewise.
21597
21598 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21599
21600 Don't use disk subsystem in freebsd_boot.
21601
21602 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21603 (freebsd_biosdev): Likewise.
21604 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21605 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21606
21607 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21608
21609 Handling of files of unknown size is currently limited. They can't be
21610 used e.g. for initrd or modules. Moreover gzip handling of not
21611 easily seekable files is buggy. Disable unknown file size for now. May
21612 be inefficient but works.
21613
21614 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21615 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21616
21617 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21618
21619 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21620 floppy probe.
21621
21622 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21623
21624 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21625
21626 2010-12-25 Shea Levy <shlevy>
21627
21628 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21629
21630 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21633 Windows Server 2008.
21634 Reported by: Devin Giddings.
21635
21636 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21639 writing an error message because of async power management.
21640 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21641 (grub_reboot): Likewise.
21642
21643 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21644
21645 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21646 keep unit tests from failing when they shouldn't.
21647
21648 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21649
21650 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21651 previous patch increased the size of the RS code by 20 bytes (at
21652 least with gcc-4.4), so increase this by 20 bytes to match.
21653 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21654
21655 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21656
21657 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21658 scratch area. Make sure to initialise chosen in standalone mode as
21659 well as non-standalone.
21660 Reported by: Robert Hooker and Andy Whitcroft.
21661 Tested by: Andy Whitcroft.
21662
21663 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21664
21665 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21666 constructing a new unescaped string and passing it to grub_xputs in
21667 one go, rather than passing characters to grub_printf one at a time.
21668
21669 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21670
21671 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21672 initialising utf16.
21673
21674 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21675
21676 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21677 comment. Add an extra layer of quotation, requiring the output of
21678 this function to be used in a printf format string.
21679 (gettext_printf): New function.
21680 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21681 Extract translatable strings from here-documents and use a temporary
21682 variable instead, so that xgettext can find them.
21683 * util/grub.d/10_kfreebsd.in: Likewise.
21684 * util/grub.d/10_linux.in: Likewise.
21685 * util/grub.d/20_linux_xen.in: Likewise.
21686
21687 * po/grub.d.sed: New file.
21688 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21689 arguments. Set c-format flags on all strings extracted from
21690 util/grub.d/ (xgettext refuses to include these itself for strings
21691 it extracted from a shell file, but these really are c-format).
21692
21693 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21696 Avoid next pointing to nowhere.
21697
21698 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21699
21700 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21701 rather than assuming than rootblock is exactly in the middle.
21702 (grub_affs_label): Likewise.
21703
21704 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21705
21706 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21707 reserved_first_sector to 0.
21708 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21709 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21710 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21711
21712 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21713
21714 Fix handling of UTF-16 UDF labels.
21715
21716 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21717 (read_string): .. here.
21718 (grub_udf_label): Use read_string.
21719
21720 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21721
21722 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21723 editor under argument scope.
21724 Reported by: Jordan Uggla
21725
21726 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21729
21730 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
21731
21732 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21733 line, and other keys scroll an entire page (previous handling was
21734 for \r and \n to scroll a page and other keys to scroll two lines).
21735
21736 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21737
21738 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21739 Set ptrdest to correct get_physical_target_address rather than
21740 incorrect get_virtual_current_address.
21741
21742 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21743
21744 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21745 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21746
21747 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21748
21749 * .bzrignore: Ignore grub-core/rs_decoder.S.
21750
21751 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21752
21753 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21754 .mo/.mo.gz opening sequence to ...
21755 (grub_mofile_open_lang): ... here.
21756 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21757 * util/grub.d/00_header.in (grub_lang): Include country part of
21758 locale.
21759 Reported by: Mario Limonciello.
21760
21761 2010-12-09 Robert Millan <rmh@gnu.org>
21762
21763 * NEWS: Document addition of ZFS support.
21764
21765 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
21766
21767 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21768 rather than `/ 2', as the latter requires -Wa,--divide which would
21769 require bumping our minimum binutils version.
21770
21771 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21772
21773 * util/grub-script-check.c (main): Print script line number on
21774 error.
21775
21776 2010-12-01 Robert Millan <rmh@gnu.org>
21777
21778 * grub-core/fs/zfs/zfs.c: New file.
21779 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21780 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21781 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21782 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21783
21784 * include/grub/zfs/dmu.h: Likewise.
21785 * include/grub/zfs/dmu_objset.h: Likewise.
21786 * include/grub/zfs/dnode.h: Likewise.
21787 * include/grub/zfs/dsl_dataset.h: Likewise.
21788 * include/grub/zfs/dsl_dir.h: Likewise.
21789 * include/grub/zfs/sa_impl.h: Likewise.
21790 * include/grub/zfs/spa.h: Likewise.
21791 * include/grub/zfs/uberblock_impl.h: Likewise.
21792 * include/grub/zfs/vdev_impl.h: Likewise.
21793 * include/grub/zfs/zap_impl.h: Likewise.
21794 * include/grub/zfs/zap_leaf.h: Likewise.
21795 * include/grub/zfs/zfs.h: Likewise.
21796 * include/grub/zfs/zfs_acl.h: Likewise.
21797 * include/grub/zfs/zfs_znode.h: Likewise.
21798 * include/grub/zfs/zil.h: Likewise.
21799 * include/grub/zfs/zio.h: Likewise.
21800 * include/grub/zfs/zio_checksum.h: Likewise.
21801
21802 * Makefile.util.def: Build ZFS into libgrubmods.
21803 * grub-core/Makefile.core.def: Build zfs.mod.
21804
21805 2010-11-30 Szymon Janc <szymon@janc.net.pl>
21806
21807 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21808 variable.
21809 * grub-core/commands/wildcard.c (match_files): Likewise.
21810
21811 2010-11-30 Robert Millan <rmh@gnu.org>
21812
21813 * grub-core/loader/i386/bsd.c
21814 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21815 whether kernel is loaded using grub_loader_is_loaded(), rather
21816 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21817 certain error conditions.
21818
21819 2010-11-30 Robert Millan <rmh@gnu.org>
21820
21821 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21822 (grub_cmd_echo): Call grub_refresh() after printing a message.
21823
21824 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21825
21826 Avoid using tricks for initialising endian variables.
21827
21828 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21829 Make const.
21830 (GRUB_MOD_INIT): Don't byte-swap.
21831 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21832 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21833 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21834 (grub_swap_bytes32_compile_time): Likewise.
21835 (grub_cpu_to_le32_compile_time): Likewise.
21836 (grub_cpu_to_le16_compile_time): Likewise.
21837
21838 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 * util/grub-setup.c (setup): Stop recommending --force. People who
21841 understand the dangers of blocklists are able to find this option
21842 anyway and the ones who don't shouldn't use it anyway.
21843
21844 2010-11-26 Robert Millan <rmh@gnu.org>
21845
21846 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21847 Update all users.
21848
21849 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
21850
21851 Fix LVM-on-RAID probing.
21852
21853 * util/grub-probe.c (probe): Remember which disk was detected as
21854 RAID (perhaps an LVM physical volume). Use that disk's raidname
21855 rather than that of the top-level disk.
21856
21857 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
21858
21859 Fix cmdline argument quotes for setparams command of menuentry
21860 definitions.
21861
21862 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21863 quotes for arguments.
21864 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
21865 grub_strchrsub function instead.
21866
21867 * include/grub/misc.h (grub_strchrsub): New function.
21868
21869 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21870
21871 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21872 effort by skipping "." and ".." entries up-front.
21873 Suggested by: Michael Lazarev.
21874
21875 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21876
21877 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21878 ldflags to ldadd, to fix link line ordering.
21879 (none_decompress): Likewise.
21880
21881 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21882
21883 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21884 platforms.
21885 (grub-emu-lite): Remove kern/emu/cache.S.
21886
21887 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21888
21889 * util/deviceiter.c (compare_devices): If the by-id link for a
21890 device couldn't be resolved, fall back to sorting by the by-id link
21891 rather than segfaulting.
21892 Reported and tested by: Daniel Mierswa.
21893
21894 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21895
21896 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21897 ldflags, to fix link line ordering.
21898
21899 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21900
21901 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21902 linkers are picky about this.
21903
21904 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21905
21906 * grub-core/Makefile.am (command.lst): Adjust sed expression
21907 ordering so that extended and priority commands aren't treated as
21908 ordinary commands.
21909
21910 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21911
21912 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21913 Remove byte-swapping function calls, which are not valid in
21914 structure initialisers.
21915 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21916 non-const.
21917 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21918 grub_gpt_partition_type_bios_boot.
21919
21920 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21921
21922 Fix test program build on GNU/kFreeBSD.
21923
21924 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21925 $(LIBNVPAIR)' library dependencies.
21926
21927 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21928
21929 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21930
21931 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21932
21933 * util/grub-install.in: Remove excessive quoting that broke
21934 installations to RAID devices.
21935
21936 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21937
21938 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21939 bootloader version instead of 0.
21940
21941 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21944 warning.
21945
21946 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21949 retrieve the metadat sector if size isn't known.
21950 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21951
21952 2010-11-18 Robert Millan <rmh@gnu.org>
21953
21954 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21955 with grub_memcmp().
21956
21957 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21958
21959 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21960 arrow.
21961 Reported by: Jordan Uggla.
21962
21963 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21964
21965 Make better UTF compliant.
21966
21967 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21968 sequences as incorrect.
21969 (grub_is_valid_utf8): Likewise.
21970 (grub_utf8_to_ucs4): Likewise.
21971 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21972 (grub_ucs4_to_utf8_alloc): Likewise.
21973 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
21974
21975 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21976
21977 Make legacy_source behave like source.
21978
21979 * grub-core/commands/legacycfg.c (legacy_file): Don't call
21980 grub_show_menu.
21981 (grub_cmd_legacy_source): Call grub_show_menu if needed.
21982
21983 2010-11-16 Colin Watson <cjwatson@debian.org>
21984
21985 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
21986 (-Wunused implies -Wunused-parameter, but not vice versa).
21987
21988 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
21989
21990 * configure.ac: Make error messages less confusing by testing for
21991 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
21992 accepted, but produces a diagnostic if something else is wrong).
21993
21994 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
21997 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
21998 (now unused).
21999 (grub_keyboard_controller_init)
22000 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22001 read the initial state since controller isn't inited yet.
22002
22003 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22006 allocate_regbeg may need to create new chunk header.
22007
22008 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 Fix quoting in legacy parser.
22011
22012 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22013 single quotes.
22014 (grub_legacy_parse): Likewise.
22015 Reported by: Jordan Uggla.
22016 Tested by: Jordan Uggla.
22017
22018 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22019
22020 Don't add -lgcc on i386 and x86_64.
22021
22022 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22023 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22024 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22025
22026 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22027
22028 * configure.ac: Add -Wno-trampolines when supported.
22029
22030 2010-11-14 Modestas Vainius <modax@debian.org>
22031
22032 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22033 fakeraid.
22034
22035 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22036
22037 Add generic logical block size support for UDF.
22038
22039 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22040 (GRUB_UDF_BLKSZ): Removed.
22041 (struct grub_udf_data): New field "lbshift" to hold the logical block
22042 size of the file system in log2 format. All users updated.
22043 (sblocklist): Change type to unsigned.
22044 (grub_udf_mount): Change type of "sblklist" to unsigned.
22045 Move AVDP search before VRS recognition, because the latter requires
22046 knowledge of the logical block size, which is detected during the
22047 former.
22048 Detect and validate logical block size during AVDP search, adding
22049 support for block sizes 512, 1024 and 4096.
22050 Make VRS recognition independent of block size.
22051
22052 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22053
22054 Properly handle deleted files on UDF.
22055
22056 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22057 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22058 set.
22059
22060 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22061
22062 Support reading files larger than 2 GiB.
22063
22064 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22065 "offset" to grub_off_t.
22066 (grub_udf_read_file): Likewise for parameter "pos".
22067
22068 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22071 unavailable.
22072 (Simple configuration): Refer to Changes from GRUB Legacy about
22073 save_env availability.
22074
22075 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * util/grub-install.in: Ignore empty partition table detection
22078 instead of trying to include part_ module.
22079
22080 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22081
22082 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22083 LVM on RAID support.
22084
22085 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22086
22087 Properly define WORDS_BIGENDIAN in wrapped environments.
22088
22089 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22090 definition.
22091 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22092
22093 Reported by: Manoel Rebelo Abranches.
22094 Tested by: Manoel Rebelo Abranches.
22095
22096 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22097
22098 * util/grub-mkconfig.in: Fix quoting.
22099
22100 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 Support big ext2 files.
22103
22104 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22105 (grub_ext2_read_block): Support triple indirect blocks.
22106 (grub_ext2_read_file): Use 64-bit types and read size_high.
22107 (grub_ext2_open): Read size_high.
22108 Reported by: Ximin Luo.
22109 Tested by: Manoel Rebelo Abranches.
22110
22111 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 * util/grub-install.in: Handle filenames containing spaces.
22114 Reported by: Jordan Uggla.
22115 Tested by: Jordan Uggla.
22116
22117 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22118
22119 * util/grub-mkconfig.in (grub_script_check): New variable.
22120 Use grub_script_check instead of grub-script-check.
22121 Reported by: Barry Jackson.
22122
22123 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * docs/grub.texi (menu): Correct the order.
22126 Reported by: D. Hugh Redelmeier.
22127
22128 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22129
22130 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22131 jump.
22132
22133 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22134
22135 * include/grub/elfload.h (grub_elf32_size): New parameter.
22136 All users updated.
22137 Return maximum segments alignment.
22138 (grub_elf64_size): Likewise.
22139 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22140 Return maximum segments alignment.
22141 (grub_elf64_size): Likewise.
22142 * grub-core/loader/powerpc/ieee1275/linux.c:
22143 (grub_linux_claimmap_iterate): New function. Uses the
22144 "available" property in the "memory" node for memory allocation
22145 for kernel in the PowerPC loader.
22146 (grub_linux_load32): Correctly find linux entry point offset.
22147 (grub_linux_load64): Likewise.
22148
22149 2010-11-07 Robert Millan <rmh@gnu.org>
22150
22151 On mips-yeeloong, build with -march=loongson2f when this flag is
22152 available (GCC >= 4.4).
22153 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22154 `-march=mips3'.
22155 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22156 or otherwise add -march=mips3.
22157
22158 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22159
22160 Suppress shell expansion on echo '*' and echo "*" like cases.
22161 Reported by: Jordan Uggla.
22162
22163 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22164 string arguments before shell expansion.
22165 * tests/grub_cmd_echo.in: New testcases.
22166
22167 2010-11-07 Robert Millan <rmh@gnu.org>
22168
22169 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22170 transition.
22171
22172 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22173
22174 * grub-core/kern/emu/hostdisk.c
22175 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22176
22177 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22178
22179 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22180 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22181 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22182
22183 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22184
22185 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22186
22187 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22188
22189 * util/grub-install.in: Replace useless recomendation to pass
22190 --modules with a recomendation to report a bug.
22191
22192 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22193
22194 Properly register serial terminfo.
22195 Reported by: Jordan Uggla
22196
22197 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22198 const.
22199 (grub_serial_terminfo_output_template): Likewise.
22200 (grub_cmd_serial): Register "serial" with terminfo.
22201 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22202 grub_serial_terminfo_output.
22203
22204 2010-11-05 Robert Millan <rmh@gnu.org>
22205
22206 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22207 needed).
22208
22209 2010-11-05 Robert Millan <rmh@gnu.org>
22210
22211 On Yeeloong, pass machine type information to Linux.
22212
22213 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22214 (LOONGSON_MACHTYPE): New macro, set to
22215 "machtype=lemote-yeeloong-2f-8.9inches".
22216 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22217 additional argument to Linux.
22218
22219 2010-11-04 Robert Millan <rmh@gnu.org>
22220
22221 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22222 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22223 (its SATA disks are detected as slaveless IDE master drives on
22224 kFreeBSD).
22225 Reported by Carsten Aulbert.
22226
22227 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
22228
22229 * util/bin2h.c (main): Fix spelling error in generated output.
22230
22231 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22232
22233 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22234
22235 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22236
22237 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22238 vga= option is supplied.
22239
22240 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22241
22242 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22243 * util/grub.d/10_kfreebsd.in: Likewise.
22244 * util/grub.d/10_linux.in: Likewise.
22245 * util/grub.d/20_linux_xen.in: Likewise.
22246
22247 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22248
22249 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22250 argument as an argument to no-argument option.
22251
22252 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22253
22254 * util/grub.d/10_linux.in: Add missing load_video with explicit
22255 GRUB_GFXPAYLOAD_LINUX.
22256
22257 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22258
22259 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22260
22261 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22264 elements with invlid index.
22265 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22266 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22267 members.
22268 * include/grub/raid.h (grub_raid_member): New struct.
22269 (grub_raid_array): Transform devices and start_sector into usage of
22270 grub_raid_member. All users updated
22271 (allocated_devs): New member.
22272
22273 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22274
22275 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22276 is modified
22277
22278 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22279
22280 NetBSD build fix for getline function conflict from gnulib.
22281
22282 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22283 components that depend on gnulib headers.
22284 (libgrubmods.a): Renamed from earlier libgrub.a.
22285 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22286
22287 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22290 install rather than creating a broken install.
22291
22292 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22293
22294 * util/grub-setup.c (argp): Remove misleading example of installing to
22295 a partition.
22296
22297 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 * util/grub-setup.c (setup): Clarify the error message.
22300
22301 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22302
22303 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22304
22305 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22306
22307 * grub-core/kern/emu/misc.c
22308 (grub_make_system_path_relative_to_its_root)
22309 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22310
22311 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22312
22313 * grub-core/kern/emu/misc.c
22314 (grub_make_system_path_relative_to_its_root): Revert r2882.
22315
22316 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22317
22318 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22319 useless field head. All users updated.
22320 (free_subchunk): Correct handling of IN_REGION subchunk.
22321
22322 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
22323
22324 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22325 (Supported kernels): Likewise.
22326
22327 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22328
22329 Make mktemp invocations portable.
22330
22331 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22332 exit if mktemp fails.
22333 * tests/grub_script_blockarg.in: Likewise.
22334 * tests/partmap_test.in: Likewise.
22335 * tests/util/grub-shell-tester.in: Likewise.
22336 * tests/util/grub-shell.in: Likewise.
22337 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22338 * Makefile.am: Likewise, and chain shell commands with `&&'
22339 instead of ';'.
22340 * util/grub-mkrescue.in: Use the same explicit template as above, and
22341 exit if mktemp fails.
22342
22343 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22344
22345 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22346 Linux kernel, reported by Dennis Schridde.
22347
22348 2010-10-17 Szymon Janc <szymon@janc.net.pl>
22349
22350 * grub-core/normal/auth.c (grub_auth_check_authentication):
22351 Set-but-not-used variable removed.
22352
22353 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22354
22355 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22356 32-bit linux protocol.
22357
22358 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22359
22360 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22361 cursor shape for sanity.
22362
22363 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 * docs/grub.texi (Installation): Document buggy BIOS install.
22366
22367 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22368
22369 * docs/grub.texi (Installation): Indent.
22370
22371 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22372
22373 * util/grub-setup.c (setup): New parameter allow_floppy.
22374 (arguments): New member allow_floppy.
22375 (argp_parser): Handle --allow-floppy.
22376 (main): Pass allow_floppy.
22377 * util/grub-install.in: New option --allow-floppy passed though to
22378 grub-setup.
22379
22380 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 * util/grub-install.in: Handle partitionless disks.
22383
22384 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 * util/grub-setup.c (setup): Don't clean blocklists before readability
22387 verfification.
22388
22389 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 * docs/grub.texi (Installation): Document embedding zone. Remove
22392 obsolete grub-install example.
22393
22394 2010-10-16 Szymon Janc <szymon@janc.net.pl>
22395
22396 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22397 Set-but-not-used variable ifdef'ed.
22398 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22399 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22400 variable removed.
22401 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22402 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22403 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22404 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22405 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22406 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22407 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22408 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22409 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22410 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22411 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22412 Likewise.
22413
22414 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22415
22416 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22417 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22418 enum value.
22419
22420 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22421
22422 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22423 synonym to _S5_. Needed for some DSDTs.
22424
22425 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22426
22427 Userspace ACPI parser debugging.
22428
22429 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22430 headers and add relevant defines. Don't include standard headers.
22431 (main) [GRUB_DSDT_TEST]: New function.
22432 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22433 Don't declare functions.
22434
22435 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22436
22437 Remove dead grub_efi_mm_fini.
22438
22439 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22440 (ALLOCATED_PAGES_SIZE): Likewise.
22441 (MAX_ALLOCATED_PAGES): Likewise.
22442 (allocated_pages): Likewise.
22443 (grub_efi_allocate_pages): Don't record allocated pages.
22444 (grub_efi_free_pages): Likewise.
22445 (grub_efi_mm_init): Likewise.
22446 (grub_efi_mm_fini): Removed.
22447
22448 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22449
22450 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22451 (grub_efi_mm_init): Take into account the memory map size increase.
22452
22453 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22454
22455 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22456 (serial_hw_put): Wait based on real time rather than port reads. Don't
22457 roken ports.
22458 * include/grub/serial.h (grub_serial_port): New field broken.
22459
22460 2010-10-16 Robert Millan <rmh@gnu.org>
22461
22462 * grub-core/kern/emu/misc.c
22463 (grub_make_system_path_relative_to_its_root): Fix premature return
22464 when processing non-root ZFS filesystems.
22465 Reported by Sergio Talens-Oliag.
22466
22467 2010-10-15 Robert Millan <rmh@gnu.org>
22468
22469 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22470 guarantee compressed ones are processed first.
22471
22472 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22475 grub_efiemu_autocore.
22476
22477 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22478
22479 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22480 rather than 0x1b.
22481 (grub_console_getkey): Use correct jae opcode rather than ja.
22482
22483 2010-10-12 Robert Millan <rmh@gnu.org>
22484
22485 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22486 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22487 variable. All references updated.
22488
22489 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22490
22491 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22492
22493 Correctly distinguish mdraid flavours.
22494
22495 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22496 (insert_array): New argument raid.
22497 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22498 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22499 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22500
22501 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22502
22503 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22504 handling of special keys.
22505
22506 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22507
22508 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22509 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
22510
22511 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22512
22513 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22514 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22515 users updated.
22516 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
22517 Use right endpoint when querying descriptor.
22518
22519 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22520
22521 Clear out 0x80 color bit on EFI.
22522 Tested by: decoder
22523 Reported by: decoder and meta tech.
22524
22525 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22526 (grub_console_setcolorstate): Clear out 0x80 bit.
22527 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22528 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22529 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22530
22531 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22532
22533 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22534 Set to "auto".
22535
22536 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22537
22538 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22539 mo_file after freeing.
22540
22541 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22542
22543 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22544
22545 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22548 flags.
22549
22550 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22551
22552 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22553 usage.
22554
22555 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22556
22557 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22558
22559 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22560 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22561 and terminfo.h when needed.
22562 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22563 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22564 (terminfo): Enable only on terminfokernel.
22565 (extcmd): Likewise.
22566 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22567 * include/grub/lib/arg.h: Likewise.
22568 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22569 incorrect usage of ->.
22570
22571 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22572
22573 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22574 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22575
22576 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 Fix coreboot compilation.
22579
22580 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22581 Take VBE info into account even if only text is supported.
22582 (fill_vbe_info): Take into account the case when only VGA text
22583 is supported.
22584 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22585 on coreboot, multiboot and qemu.
22586
22587 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22588
22589 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22590 debug messages.
22591 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22592
22593 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22594
22595 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22596 parameters.
22597
22598 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22599
22600 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22601 if they were BSD-style.
22602
22603 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22604
22605 * grub-core/boot/i386/pc/lnxboot.S: Replace
22606 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22607 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22608
22609 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 Write embedding zone using Reed-Solomon.
22612
22613 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22614 * grub-core/Makefile.am (rs_decoder.S): New target.
22615 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22616 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22617 (multiboot): Move to RS part.
22618 (post_reed_solomon): New label.
22619 (grub_boot_drive): Move to non-RS part since it's modified in memory
22620 on boot.
22621 Include rs_decoder.S.
22622 * grub-core/lib/reed_solomon.c: New file.
22623 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22624 New definition.
22625 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22626 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22627 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22628 * include/grub/partition.h (grub_partition_map): Change prototype of
22629 embed to allow returning additional sectors.
22630 * include/grub/reed_solomon.h: New file.
22631 * util/grub-setup.c (setup): Handle Reed-Solomon.
22632
22633 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
22634
22635 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22636 i386 and x86-64 definedness tests.
22637
22638 2010-09-27 Yves Blusseau <blusseau@zetam.org>
22639
22640 Fix generation of kernel_syms.lst
22641
22642 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22643 ASM_PREFIX
22644
22645 2010-09-26 Robert Millan <rmh@gnu.org>
22646
22647 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22648
22649 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22650 the pool is an array of devices, iterate through it and return the
22651 first device that passes a stat() test (instead of blindly returning
22652 the first one).
22653
22654 2010-09-26 Robert Millan <rmh@gnu.org>
22655
22656 Build fixes for GNU/kFreeBSD.
22657
22658 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22659 to programs that require ZFS conversion.
22660 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22661 kernels that don't have FLOPPY_MAJOR.
22662
22663 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22664
22665 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22666
22667 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22668
22669 Fix grub-emu build.
22670
22671 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22672 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22673 mdraid09 and mdraid1x.
22674
22675 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
22676
22677 Re-enable grub-extras.
22678
22679 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22680 avoid confusing Automake. Run autogen only twice, once for the top
22681 level and once for grub-core. Add Makefile.util.def and
22682 Makefile.core.def from extra modules to the appropriate autogen
22683 invocations. If Makefile.common exists in an extra module, include
22684 it in both Makefile.util.am and grub-core/Makefile.core.am;
22685 similarly, include any Makefile.util.common file in Makefile.util.am
22686 and any Makefile.core.common file in grub-core/Makefile.core.am.
22687 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22688 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22689 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22690 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22691
22692 * gentpl.py (gvar_add): Turn GVARS into a set.
22693 (global_variable_initializers): Sort global variables on output.
22694 (vars_init): New function.
22695 (first_time): Likewise.
22696 (library): Ensure that non-global variable initialisations are
22697 emitted before the first time we emit code for a library block.
22698 Append to variables rather than setting them. Only emit
22699 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22700 each conditional path.
22701 (program): installdir() emits an Autogen macro, so must be passed to
22702 var_add rather than gvar_add.
22703 (data): Likewise.
22704 (script): Likewise.
22705 (rules): New function, centralising handling for different target
22706 types. Set up Guile association lists for first_time and vars_init,
22707 and send most output to a diversion so that variable initialisations
22708 can be emitted first.
22709 (module_rules): Use new rules function.
22710 (kernel_rules): Likewise.
22711 (image_rules): Likewise.
22712 (library_rules): Likewise.
22713 (program_rules): Likewise.
22714 (script_rules): Likewise.
22715 (data_rules): Likewise.
22716
22717 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22718
22719 * .bzrignore: Add contrib and grub-core/contrib. Remove
22720 grub-core/Makefile.gcry.am.
22721
22722 2010-09-24 Yves Blusseau <blusseau@zetam.org>
22723
22724 * grub-core/lib/LzFind.c: Add missing include.
22725 * grub-core/lib/LzmaEnc.c: Likewise.
22726 * grub-core/script/lexer.c: Likewise.
22727 * grub-core/script/yylex.l: Likewise.
22728 * util/grub-macho2img.c: Likewise.
22729 * util/grub-menulst2cfg.c: Likewise.
22730 * util/grub-mklayout.c: Likewise.
22731 * util/grub-mkpasswd-pbkdf2.c
22732 * util/grub-mkrelpath.c: Likewise.
22733 * util/resolve.c: Likewise.
22734
22735 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22736
22737 * Makefile.util.def (example_unit_test): Add
22738 grub-core/gnulib/libgnu.a.
22739
22740 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22741
22742 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22743
22744 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22745
22746 Support xz compression on yeeloong.
22747
22748 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22749 * configure.ac: Check for LZMA.
22750 * grub-core/Makefile.core.def (xz_decompress): New target.
22751 (none_decompress): Likewise.
22752 * grub-core/boot/decompressor/minilib.c: New file.
22753 * grub-core/boot/decompressor/none.c: Likewise.
22754 * grub-core/boot/decompressor/xz.c: Likewise.
22755 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22756 * grub-core/kern/mips/cache_flush.S: Likewise.
22757 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22758 * grub-core/kern/mips/startup.S: Move first stage to ...
22759 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22760 nomacro.
22761 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22762 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22763 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22764 Allocate statically.
22765 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22766 Allocate statically or use scratch. Don't check CRC32.
22767 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22768 Allocate statically. Don't check CRC32.
22769 * include/grub/decompressor.h: New file.
22770 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22771 Removed.
22772 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22773 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22774 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22775 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22776 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22777 * util/grub-mkimage.c (grub_compression_t): New type.
22778 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22779 (image_target_desc): New field default_compression.
22780 (image_targets): Adjust yeeloong targets.
22781 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22782 (compress_kernel): New parameter comp.
22783 (generate_image): Likewise. Handle new compression case.
22784 (options): New option --compression
22785 (help): Likewise.
22786 (main): Handle new option.
22787
22788 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22789
22790 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22791
22792 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
22793
22794 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22795 typo in __i386__ conditional.
22796
22797 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22798
22799 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22800 include.
22801
22802 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22803
22804 Implement EFI and ACPI multiboot2 extensions.
22805
22806 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22807 new tags as supported.
22808 (acpiv2_size): New function.
22809 (grub_multiboot_get_mbi_size): Take new tags into account.
22810 (grub_multiboot_make_mbi): Add new tags.
22811 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
22812
22813 2010-09-21 Aleš Nesrsta <starous@volny.cz>
22814
22815 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22816 Added missing configuration of USB device.
22817
22818 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22819
22820 * grub-core/normal/menu_entry.c (run): Make sure we always return
22821 a value.
22822
22823 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22824
22825 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22826 NumberOfPages is UINT64 according to the UEFI specification, not
22827 UINTN. Fix printf format.
22828
22829 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22830
22831 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22832 `err' to grub_usb_err_t.
22833 Reported and tested by: KESHAV P.R.
22834
22835 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22836
22837 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22838 tpart non-const, so that we can assign to it. (Since this is a
22839 typedef, the constness refers to the pointer rather than what it
22840 points to.)
22841
22842 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22843
22844 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22845 $(top_srcdir)/grub-core/gnulib as well as
22846 $(top_builddir)/grub-core/gnulib.
22847 Reported by: KESHAV P.R.
22848
22849 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22850
22851 * util/grub-install.in: Fix the bootloader ID option to be
22852 consistently --bootloader-id, not --bootloader_id.
22853 Reported by: KESHAV P.R.
22854
22855 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22856
22857 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22858 check hash checksum." consistently translatable.
22859
22860 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22861
22862 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22863 $(top_builddir).
22864
22865 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22866
22867 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22868 (GRUB_MOD_INIT): Register sha1sum command.
22869 (GRUB_MOD_FINI): Unregister sha1sum command.
22870
22871 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22872
22873 Keep boot and grub directory names in sync with utils scripts
22874
22875 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22876 * config.h.in: Add previous macros.
22877 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22878 * util/grub-install.in: Use $bootdir and $grubdir variables.
22879
22880 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22881
22882 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22883 convert partition names to disk names if the new `convert' parameter
22884 is set.
22885 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22886 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22887 disk in its own right. This can happen with Xen disk images.
22888
22889 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22890
22891 * util/grub-editenv.c: Update strings to avoid warnings when generating
22892 grub.pot file.
22893 * util/grub-setup.c: Likewise.
22894
22895 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22896
22897 * configure.ac: Change version to 1.99~beta0.
22898
22899 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22900
22901 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22902 Add BADRAM.
22903 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22904 Likewise.
22905 * include/multiboot.h: Resynced with specification.
22906 * include/multiboot2.h: Likewise.
22907
22908 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22909
22910 Fix po directory handling.
22911
22912 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22913 * grub-core/gnulib/Makefile.am: Import gettext module.
22914 * m4/gnulib-cache.m4: Likewise.
22915 * m4/gnulib-comp.m4: Likewise.
22916 * m4/gettext.m4: New file, from gnulib.
22917 * m4/glibc2.m4: Likewise.
22918 * m4/iconv.m4: Likewise.
22919 * m4/intdiv0.m4: Likewise.
22920 * m4/intl.m4: Likewise.
22921 * m4/intldir.m4: Likewise.
22922 * m4/intlmacosx.m4: Likewise.
22923 * m4/intmax.m4: Likewise.
22924 * m4/inttypes-pri.m4: Likewise.
22925 * m4/lcmessage.m4: Likewise.
22926 * m4/lib-ld.m4: Likewise.
22927 * m4/lib-link.m4: Likewise.
22928 * m4/lib-prefix.m4: Likewise.
22929 * m4/lock.m4: Likewise.
22930 * m4/nls.m4: Likewise.
22931 * m4/po.m4: Likewise.
22932 * m4/printf-posix.m4: Likewise.
22933 * m4/progtest.m4: Likewise.
22934 * m4/threadlib.m4: Likewise.
22935 * m4/uintmax_t.m4: Likewise.
22936 * m4/visibility.m4: Likewise.
22937 * po/Makefile.am: Remove.
22938 * po/Makefile.in.in: New file, from gettext.
22939 ($(DOMAIN).pot-update): Support POTFILES-shell.
22940 * po/Makevars: New file.
22941 * po/POTFILES-shell: Rename to ...
22942 * po/POTFILES-shell.in: ... this. Update.
22943 * po/POTFILES: Rename to ...
22944 * po/POTFILES.in: ... this. Update.
22945 * po/Rules-quot: New file, from gettext.
22946 * po/boldquot.sed: Likewise.
22947 * po/en@boldquot.header: Likewise.
22948 * po/en@quot.header: Likewise.
22949 * po/insert-header.sin: Likewise.
22950 * po/quot.sed: Likewise.
22951 * po/remove-potcdate.sin: Likewise.
22952
22953 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22954
22955 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22956
22957 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22958
22959 * util/grub.d/20_linux_xen.in: Use submenus.
22960
22961 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22962
22963 Support submenus.
22964
22965 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22966 parameter submenu. All users updated.
22967 * grub-core/normal/main.c (free_menu): Rename to ...
22968 (grub_normal_free_menu): ... this. Made global.
22969 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22970 if requested.
22971 * grub-core/normal/menu_entry.c (screen): New field submenu.
22972 (make_screen): Set submenu.
22973 (run): Open new context if requested.
22974 * include/grub/menu.h (grub_menu_entry): New field submenu.
22975 * include/grub/normal.h (grub_normal_free_menu): New proto.
22976
22977 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22978
22979 Menu entries extractor.
22980
22981 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
22982 variants.
22983 (GRUB_MOD_INIT): Register new variants.
22984 (GRUB_MOD_FINI): Unregister new variants.
22985 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
22986 into grub_cmd_legacy_source.
22987 (grub_cmd_legacy_source): Implement extractor variants.
22988 (GRUB_MOD_INIT): Register new variants.
22989 (GRUB_MOD_FINI): Unregister new variants.
22990 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
22991 as an extractor.
22992 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
22993 search as an extractor.
22994 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
22995 test as an extractor.
22996 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
22997 as an extractor.
22998 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
22999 (grub_env_new_context): New function.
23000 (grub_env_context_open): Likewise.
23001 (grub_env_extractor_open): Likewise.
23002 (grub_env_extractor_close): Likewise.
23003 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23004 grub_extractor_level.
23005 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23006 * include/grub/env.h (grub_env_extractor_open): New proto.
23007 (grub_env_extractor_close): Likewise.
23008 * include/grub/normal.h (grub_extractor_level): New external variable.
23009
23010 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23011
23012 Make cutmem accept a region specification.
23013 Suggested by: Samuel Thibault
23014
23015 * grub-core/mmap/mmap.c (parsemem): New function.
23016 (grub_cmd_cutmem): Handle new arguments.
23017
23018 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23019
23020 New command cutmem.
23021
23022 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23023 (GRUB_MOD_INIT): Register new command.
23024 (GRUB_MOD_FINI): Unregister new command.
23025
23026 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 Support some annoying BSD and Minix subpartitions.
23029
23030 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23031 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23032 Properly handle concatenation.
23033 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23034 * grub-core/normal/completion.c (iterate_partition): Likewise.
23035 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23036 contain partition. All users updated.
23037 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23038 struct.
23039 (grub_openbsdlabel_partition_map): Likewise.
23040 (bsdlabel_partition_map_iterate): Rename to ..
23041 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23042 (bsdlabel_partition_map_iterate): New function.
23043 (netopenbsdlabel_partition_map_iterate): Likewise.
23044 (netbsdlabel_partition_map_iterate): Likewise.
23045 (openbsdlabel_partition_map_iterate): Likewise.
23046 (GRUB_MOD_INIT): Register new partmaps.
23047 (GRUB_MOD_FINI): Unregister new partmaps.
23048 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23049 (grub_partition_msdos_iterate): ... this. All users updated.
23050 Don't support embedding other than in a minix partition.
23051 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23052 proto.
23053 * include/grub/partition.h (grub_partition): New field msdostype.
23054 * util/grub-install.in: Handle openbsd and netbsd types being in
23055 part_bsd module.
23056
23057 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23058
23059 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23060
23061 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23062 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23063 (mdraid09): ... this.
23064 (mdraid1x): New module.
23065 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23066 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23067
23068 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23071 vsprintf.
23072
23073 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23074
23075 * grub-core/commands/efi/lsefimmap.c: Correct header.
23076 * NEWS: Update.
23077
23078 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23079
23080 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23081 as printf format strings; the translations might contain '%' which
23082 could cause a crash.
23083 (main): Likewise.
23084 * util/grub-fstest.c (argp_parser): Likewise.
23085 * util/grub-setup.c (argp_parser): Likewise.
23086 (main): Likewise.
23087
23088 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23089
23090 Use argp in grub-fstest.
23091
23092 * util/grub-fstest.c: Don't include getopt.h.
23093 Include argp.h.
23094 (root): New variable.
23095 (args_count): Likewise.
23096 (nparm): Likewise.
23097 (num_disks): Likewise.
23098 (images): Likewise.
23099 (cmd): Likewise.
23100 (debug_str): Likewise.
23101 (args): Likewise.
23102 (options): Transformed to argp.
23103 (usage): Removed.
23104 (main): Split argument parsing into ...
23105 (argp_parser): ... this. Changed to argp format.
23106 (argp): New variable.
23107 (main): Use argp_parse.
23108
23109 2010-09-20 Tristan Gingold <gingold@free.fr>
23110 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
23111 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23112
23113 * grub-core/commands/efi/lsefimmap.c: New file.
23114 * grub-core/Makefile.core.def (lsefimmap): New module.
23115 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23116
23117 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23118
23119 Pause the execution (10s max) if any errors are displayed so the user
23120 has a chance to see them.
23121
23122 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23123 (grub_print_error): Increment grub_err_printed_errors.
23124 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23125 execution if any errors were displayed.
23126 (show_menu): Remove old code for pause.
23127 * grub-core/normal/menu_entry.c (run): Likewise.
23128 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23129 users updated.
23130 (grub_normal_get_char_counter): Likewise.
23131 * include/grub/err.h (grub_err_printed_errors): New external variable.
23132 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23133
23134 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23135
23136 Support multiboot VBE info.
23137
23138 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23139 Take VBE info into account.
23140 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23141 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23142 Call fill_vbe_info when appropriate.
23143 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23144 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23145 as supported.
23146 (grub_multiboot_get_mbi_size): Take new tags into account.
23147 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23148 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23149 Call fill_vbe_tag when appropriate.
23150 (grub_multiboot_make_mbi): Properly align tags.
23151 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23152 function.
23153 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23154 proto.
23155 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23156
23157 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23158
23159 Suport manual terminal geometry specification.
23160
23161 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23162 Save state in grub_ofconsole_terminfo_output.
23163 (grub_ofconsole_term): Use grub_terminfo_getwh.
23164 (grub_ofconsole_getwh): Removed.
23165 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23166 (grub_serial_term): Use grub_terminfo_getwh.
23167 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23168 (options): New struct.
23169 (OPTION_*): New enum.
23170 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23171 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23172 width and height.
23173 (grub_terminfo_getwh): New proto.
23174 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23175
23176 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23177
23178 Handle legacy "terminal" command.
23179
23180 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23181 and FLAG_TERMINAL.
23182 (legacy_commands): Add terminal and title.
23183 (grub_legacy_parse): Handle terminal. Simplify title handling.
23184
23185 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23186
23187 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23188 parameters overflow.
23189
23190 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23191
23192 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23193 widthspec.h.
23194
23195 * docs/grub.texi (Shell-like scripting): Document `!'.
23196 (Network): Simplify using new i386-pc-pxe format. Mention
23197 grub-mknetdir.
23198
23199 * NEWS: Update.
23200
23201 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23202
23203 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23204 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23205 when needed.
23206
23207 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23208
23209 * grub-core/commands/efi/lsefisystab.c: Correct header.
23210 * grub-core/commands/efi/lssal.c: Likewise.
23211 * grub-core/commands/testload.c: Likewise.
23212
23213 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23214
23215 * util/grub-mkrescue.in: Add explicit root argument to --set to
23216 prevent the UUID being interpreted as an argument to --set (matches
23217 previous change to prepare_grub_to_access_device).
23218
23219 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23220
23221 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23222 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23223 the verbosity of later #ifs.
23224 (find_partition_start): Define this function on FreeBSD too.
23225 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23226 function.
23227 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23228 on FreeBSD.
23229
23230 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23231
23232 * util/grub-editenv.c: Use argp instead of getopt.
23233
23234 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23235
23236 * util/grub-setup.c: Use argp instead of getopt.
23237
23238 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23239
23240 Use gnulib-tool to create gnulib source files.
23241
23242 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23243 grub-core/gnulib directories
23244 * .bzignore: Add **/.deps and autogenerated gnulib files
23245 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23246 of gnulib macros, add grub-core/gnulib/Makefile
23247 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23248 include m4 directory to aclocal.
23249 * Makefile.util.def: Remove direct compilation of gnulib source files
23250 and use the new grub-core/gnulib/libgnu.a.
23251 * build-aux/config.rpath: move config.rpath from top directory to
23252 build-aux
23253 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23254 in gnulib headers
23255 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23256 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23257 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23258 header.
23259 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23260 string.
23261
23262 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23263
23264 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23265 grub-core/genmod.sh and grub-core/gensyminfo.sh
23266
23267 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23268
23269 Add a test for echo command options.
23270
23271 * tests/grub_cmd_echo.in: New test.
23272 * Makefile.util.def: Rules for new test.
23273
23274 2010-09-20 Szymon Janc <szymon@janc.net.pl>
23275
23276 Remove crc.mod and move crc command to hashsum.mod.
23277 Remove lib/crc.c - users updated to use gcrypt implementation.
23278
23279 * grub-core/commands/crc.c: Removed.
23280 * grub-core/Makefile.core.def (crc): Module removed.
23281 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23282 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23283 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23284 * grub-core/lib/crc.c: Removed.
23285 * include/grub/lib/crc.h: Removed.
23286 * Makefile.util.def (crc): Remove lib/crc.c
23287 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23288 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23289 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23290 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23291 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23292 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23293
23294 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23295
23296 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23297
23298 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23299
23300 Split config.h for util and core.
23301
23302 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23303 (ADDR32): Likewise.
23304 (DATA32): Likewise.
23305 (BSS_START_SYMBOL): Likewise.
23306 (END_SYMBOL): Likewise.
23307 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23308 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23309 * config.h.in: New file.
23310 * configure.ac: Use config-util.h as config define file.
23311 Rename MACHINE into GRUB_MACHINE. All users updated.
23312 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23313 updated.
23314 (NESTED_FUNC_ATTR): Likewise.
23315 Substitue new variables.
23316 (COND_HAVE_ASM_USCORE): New conditional.
23317 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23318 (kernel_syms.lst): Use ASM_PREFIX.
23319 * grub-core/kern/emu/console.c: Include config-util.h.
23320 * grub-core/kern/emu/misc.c: Likewise.
23321 * grub-core/kern/emu/mm.c: Likewise.
23322 * include/grub/emu/misc.h: Likewise.
23323 * include/grub/libgcc.h: Likewise.
23324
23325 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23326
23327 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23328 constants usage.
23329 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23330 Fix GRUB_TERM_KEY_* constants usage.
23331 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23332
23333 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23334
23335 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23336 print pointer.
23337 * grub-core/bus/usb/uhci.c: Remove empty define.
23338 (grub_uhci_check_transfer): Add missing cast.
23339 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23340 print pointer.
23341 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23342 PRIuGRUB_SIZE.
23343 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23344
23345 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23346
23347 * grub-core/Makefile.core.def (legacycfg): Add
23348 lib/i386/pc/vesa_modes_table.c on emu.
23349
23350 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23351
23352 Reduce number of temporary files generated by build system.
23353
23354 * grub-core/gencmdlist.sh: Removed.
23355 * grub-core/genfslist.sh: Removed.
23356 * grub-core/genhandlerlist.sh: Removed.
23357 * grub-core/genmodsrc.sh: Removed.
23358 * grub-core/genpartmaplist.sh: Removed.
23359 * grub-core/genparttoollist.sh: Removed.
23360 * grub-core/gentermiinallist.sh: Removed.
23361 * grub-core/genvideolist.sh: Removed.
23362
23363 * grub-core/genmod.sh.in: New file.
23364 * grub-core/gensyminfo.sh.in: New file.
23365
23366 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23367 * conf/Makefile.extra-dist: Update with new files.
23368 * gentpl.py: Remove rules related to unnecessary temporary files.
23369 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23370 and und-* files.
23371 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23372 genmod.sh scripts.
23373 * grub-core/bus/usb/uhci.c: Remove empty #define.
23374 * grub-core/genmoddep.awk: Updated with new syminfo format.
23375 * util/bash-completion.d/Makefile.am: Add config.log to
23376 CLEANFILES.
23377
23378 2010-09-19 Yves Blusseau <blusseau@zetam.org>
23379
23380 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23381
23382 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23383
23384 * util/grub-mkconfig.in: Check the config script for syntax errors
23385 before saving.
23386
23387 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
23388 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23389
23390 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23391 platforms.
23392 * util/grub-install.in: Add EFI and IEEE1275 support.
23393 * util/i386/efi/grub-install.in: Removed.
23394 * util/ieee1275/grub-install.in: Likewise.
23395
23396 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23397
23398 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23399 (grub_cmd_cmosclean): Likewise.
23400 (GRUB_MOD_INIT): Register command cmosclean.
23401 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23402 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23403
23404 2010-09-18 Carles Pina i Estany <carles@pina.cat>
23405 2010-09-18 Aleš Nesrsta <starous@volny.cz>
23406 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23407
23408 Add keyboard layouts support.
23409
23410 * Makefile.util.def (grub-mklayout): New file.
23411 (grub-kbdcomp): New script.
23412 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23413 Add keyboard_layouts.h.
23414 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23415 commands/boot.c on yeeloong.
23416 (keylayouts): New module.
23417 * grub-core/bus/usb/ohci.c
23418 * grub-core/bus/usb/uhci.c
23419 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23420 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23421 (attach_root_port): Likewise.
23422 (poll_nonroot_hub): Likewise.
23423 (grub_usb_poll_devices): Likewise.
23424 (detach_device): Close transfer.
23425 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23426 function.
23427 (grub_usb_bulk_setup_readwrite): Likewise.
23428 (grub_usb_bulk_finish_readwrite): Likewise.
23429 * grub-core/commands/keylayouts.c: New file.
23430 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23431 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23432 aliases.
23433 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23434 support scancode 2.
23435 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23436 * include/grub/keyboard_layouts.h: New file.
23437 * util/grub-mklayout.c: New file.
23438 * util/grub-kbdcomp.in: Likewise.
23439
23440 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23441
23442 Unify memory types.
23443
23444 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23445 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23446 types.
23447 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23448 (grub_upper_mem): Likewise.
23449 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23450 * include/grub/memory.h (grub_memory_type_t): New enum.
23451 All users updated.
23452
23453 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23454
23455 * grub-core/Makefile.core.def (lsapm): New module.
23456 * grub-core/commands/i386/pc/lsapm.c: New file.
23457 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23458 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23459 Likewise.
23460 * include/grub/i386/pc/apm.h: New file.
23461 * include/multiboot.h (multiboot_apm_info): New struct.
23462
23463 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23464
23465 GRUB-legacy configuration file support.
23466
23467 * Makefile.util.def (grub-menulst2cfg): New util.
23468 * docs/man/grub-menulst2cfg.h2m: New file.
23469 * grub-core/Makefile.core.def (legacycfg): New module.
23470 * grub-core/commands/legacycfg.c: New file.
23471 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23472 (grub_normal_add_menu_entry): ... this.
23473 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23474 (grub_normal_set_password): ...this.
23475 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23476 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23477 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23478 * grub-core/lib/legacy_parse.c: New file.
23479 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23480 * include/grub/i386/pc/vesa_modes_table.h: New file.
23481 * include/grub/legacy_parse.h: Likewise.
23482 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23483 * util/grub-menulst2cfg.c: New file.
23484
23485 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23486
23487 * grub-core/kern/emu/hostdisk.c
23488 (convert_system_partition_to_system_disk): Initialise node.
23489
23490 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23491
23492 * grub-core/kern/emu/hostdisk.c
23493 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23494 leak.
23495 Reported and based on patch by: Modestas Vainius.
23496
23497 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23498
23499 Fix DM-RAID probing with recent versions of device-mapper udev
23500 rules.
23501
23502 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23503 canonicalise device paths under /dev/mapper/.
23504 (convert_system_partition_to_system_disk): Compare the
23505 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23506 path, since device nodes under /dev/mapper/ are often symlinks.
23507
23508 2010-09-17 Yves Blusseau <blusseau@zetam.org>
23509
23510 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23511
23512 2010-09-16 Yves Blusseau <blusseau@zetam.org>
23513
23514 * configure.ac: Avoid some annoying error messages if freetype-config
23515 program is not found.
23516
23517 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23518
23519 Support RAID on virtio devices, and others.
23520
23521 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23522 Rename to ...
23523 [__MINGW32__] (grub_find_device): ... this.
23524 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23525 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23526 reasonable default if dir is NULL.
23527 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23528 ...
23529 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23530 (grub_guess_root_device): Update callers.
23531 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23532
23533 * util/raid.c (grub_util_getdiskname): Remove.
23534 (grub_util_raid_getmembers): Use grub_find_device rather than
23535 grub_util_getdiskname.
23536
23537 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23538
23539 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23540 needing to be compiled with serial support.
23541 (ls): Indicate that multiple files are accepted.
23542 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23543 indicate that multiple files are accepted.
23544
23545 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23546
23547 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23548 libgrub_a_init.c, and util/bash-completion.d/grub.
23549
23550 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 * util/grub-setup.c (setup): Fix incorrect container semantics.
23553
23554 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23555
23556 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23557 misusage.
23558 Reported by: J. Nick Terry
23559
23560 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23561
23562 Move embedding routines to partmap sources files.
23563
23564 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23565 [GRUB_UTIL]: New variable.
23566 (gpt_partition_map_iterate): Set part.parent.
23567 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23568 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23569 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23570 New function.
23571 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23572 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23573 (grub_partition_map) [GRUB_UTIL]: New field embed.
23574 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23575 (setup): Use ->embed.
23576
23577 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23578
23579 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23580 function.
23581 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23582 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23583
23584 2010-09-15 Yves Blusseau <blusseau@zetam.org>
23585
23586 Add function to get completions from usage.
23587
23588 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23589 completions from usage. Use LC_ALL=C to get options properly.
23590
23591 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 * grub-core/gnulib/basename-lgpl.c: Imported.
23594 * grub-core/gnulib/basename.c: Likewise.
23595 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23596 * grub-core/gnulib/dirname.c: Likewise.
23597 * grub-core/gnulib/dirname.h: Likewise.
23598 * grub-core/gnulib/stripslash.c: Likewise.
23599
23600 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23601
23602 * grub-core/gnulib/error.c: Resynced.
23603 * grub-core/gnulib/getopt.c: Likewise.
23604 * grub-core/gnulib/getopt_int.h: Likewise.
23605 * grub-core/gnulib/regex.h: Likewise.
23606 * grub-core/gnulib/regex_internal.c: Likewise.
23607 * grub-core/gnulib/regex_internal.h: Likewise.
23608
23609 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23610
23611 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23612 CRC calculations and validity checks.
23613 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23614 calculations.
23615
23616 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23617
23618 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23619
23620 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 Fix incorrect echo options handling.
23623 Reported by: Yves Blusseau.
23624
23625 * include/grub/command.h (grub_command_flags_t): New flags
23626 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23627 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23628 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23629
23630 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23631
23632 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23633 users updated.
23634 (GRUB_COMMAND_FLAG_MENU): Likewise.
23635 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23636 (GRUB_COMMAND_FLAG_TITLE): Removed.
23637 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23638 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23639 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23640 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23641 (grub_command_flags_t): New enum. All users updated.
23642
23643 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23644
23645 Fix solaris compilation.
23646
23647 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23648 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23649 (grub-emu-list): Likewise.
23650
23651 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23652
23653 Remove deprecated root command.
23654
23655 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23656 updated.
23657
23658 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23659
23660 * util/i386/pc/grub-setup.c: Merge this ...
23661 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23662 * util/grub-setup.c: ... into this.
23663 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23664 New struct.
23665
23666 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23667
23668 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23669 possible.
23670
23671 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23672
23673 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23674 allocate p.
23675
23676 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23677
23678 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23679 explicit root argument to set to prevent UUID to be interpreted as
23680 argument to set.
23681
23682 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23683
23684 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23685
23686 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23687
23688 Don't export grub_gate_a20.
23689
23690 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23691 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23692 to ...
23693 (grub_gate_a20): ... this. All users updated.
23694 * include/grub/i386/pc/init.h: Removed. All users updated.
23695
23696 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23697
23698 Create euro.pf2 which supports most European languages.
23699
23700 * Makefile.am (grubdata_DATA): Add euro.pf2.
23701 (euro.pf2): New target.
23702 (CLEANFILES): Add euro.pf2.
23703
23704 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23705
23706 * configure.ac: Disable emu-usb by default to prevent inadvertent
23707 device takeover.
23708
23709 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23710
23711 Disable usbserial on grub-emu since our libusb code isn't good enough
23712 yet.
23713
23714 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23715 (usbserial_pl2303): Likewise.
23716 (usbserial_ftdi): Likewise.
23717
23718 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23719
23720 * include/grub/disk.h (grub_disk): Remove has_partitions.
23721 All users updated.
23722 * disk/loopback.c (grub_loopback): Remove has_partitions.
23723 All users updated.
23724 (options): Remove partitions. All users updated.
23725 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23726 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23727 actual partition table is found.
23728
23729 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23730
23731 Remove readability checks (too many false negatives).
23732
23733 * util/grub-install.in: Remove readability checks.
23734 * util/grub-mkconfig.in: Likewise.
23735 * util/grub.d/10_hurd.in: Likewise.
23736 * util/grub.d/10_kfreebsd.in: Likewise.
23737 * util/grub.d/10_linux.in: Likewise.
23738 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23739 way.
23740
23741 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23742
23743 Enable acpi shutdown on all ACPI platforms.
23744
23745 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23746 on coreboo, multiboot and EFI.
23747 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23748 (grub_acpi_halt): Likewise.
23749 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23750 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23751 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23752 * grub-core/lib/i386/halt.c (grub_halt)
23753 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23754
23755 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23756
23757 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23758 context.
23759
23760 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23761
23762 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23763 * grub-core/video/efi_uga.c: Likewise.
23764
23765 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23766
23767 Filter devaliases and never open same device twice.
23768
23769 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23770 (last_ihandle): Likewise.
23771 (ofdisk_hash_ent): New member shortest.
23772 (ofdisk_hash_add): Add canonical path too.
23773 (scan): New function.
23774 (grub_ofdisk_iterate): Iterate over hashed entries.
23775 (compute_dev_path): Don't add :0.
23776 (grub_ofdisk_open): Don't really open the disk.
23777 (grub_ofdisk_close): Avoid closing unrelated disk.
23778 (grub_ofdisk_read): Implement reopen logic.
23779 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23780 New function.
23781 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23782 New proto.
23783
23784 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23785
23786 Fix sparc64.
23787
23788 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23789 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23790 right address. Add sparc64_ieee1275_ldflags.
23791 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23792 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23793 to grub_host_to_target_addr
23794 (load_image): Likewise.
23795
23796 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23797
23798 * grub-core/normal/completion.c (complete_file): Handle device
23799 containing slash.
23800 Fix based on patch by Doug Nazar.
23801
23802 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23803
23804 grub-mknetdir script.
23805
23806 * Makefile.util.def (grub-mknetdir): New module.
23807 * tests/util/grub-shell.in: Support boot=net
23808 * util/grub-mknetdir.in: New file.
23809
23810 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23811
23812 videoinfo on non-vbe.
23813
23814 * grub-core/Makefile.core.def (vbeinfo): Removed.
23815 (vbetest): Removed.
23816 (videoinfo): New module.
23817 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23818 * grub-core/commands/i386/pc/vbetest.c: Removed.
23819 * grub-core/commands/videoinfo.c: New file.
23820 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23821 specification.
23822 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23823 as vbetest.
23824 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23825 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23826 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23827 mode_number. New parameter mode. All users updated.
23828 (grub_video_gop_iterate): New function.
23829 (grub_video_efi_gop): New member iterate.
23830 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23831 (grub_vbe_set_video_mode): Remove setting useless fields.
23832 (vbe2videoinfo): New function.
23833 (grub_video_vbe_iterate): Likewise.
23834 (grub_video_vbe_setup): Use vbe2videoinfo.
23835 (grub_video_vbe_print_adapter_specific_info): New function.
23836 (grub_video_vbe_adapter): New fields iterate and
23837 print_adapter_specific_info.
23838 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23839 All users updated.
23840 (grub_video_mode_info): New field mode_number.
23841 (grub_video_adapter): New fields iterate and
23842 print_adapter_specific_info.
23843
23844 2010-09-13 Tristan Gingold <gingold@free.fr>
23845 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
23846 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 * grub-core/commands/efi/lsefisystab.c: New file.
23849 * grub-core/commands/efi/lssal.c: Likewise.
23850 * grub-core/Makefile.core.def (lsacpi): New module.
23851 (lsefisystab): Likewise.
23852 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23853 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23854 (grub_efi_sal_system_table): New struct.
23855 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23856 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23857 (grub_efi_sal_system_table_platform_features): Likewise.
23858 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23859 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23860 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23861 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23862
23863 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23864
23865 Support explicit user claim that a device is BIOS-visible.
23866
23867 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23868 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23869 * grub-core/kern/emu/hostdisk.c
23870 (convert_system_partition_to_system_disk): Support mdX.
23871 (find_system_device): New parameter add. All users updated.
23872 (grub_util_biosdisk_is_present): New function.
23873 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23874 proto.
23875
23876 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23877
23878 Search hints support.
23879
23880 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23881 All users updated.
23882
23883 2010-09-13 Yves Blusseau <blusseau@zetam.org>
23884
23885 Bash completion script for util commands
23886
23887 * Makefile.am: Add util/bash-completion.d directory
23888 * configure.ac: Likewise.
23889 * util/bash-completion.d/Makefile.am: New file.
23890 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23891
23892 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23893
23894 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23895 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23896 Reported by: Yves Blusseau.
23897
23898 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23899
23900 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23901 partition size and offset.
23902
23903 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23904
23905 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23906
23907 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23908
23909 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23910
23911 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23912
23913 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23914 (grub_xvasprintf): Likewise.
23915
23916 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23917
23918 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23919
23920 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23923 args ending with NULL.
23924
23925 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23926
23927 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23928 pointer.
23929
23930 2010-09-11 Szymon Janc <szymon@janc.net.pl>
23931
23932 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23933
23934 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23935
23936 Shutdown using ACPI.
23937
23938 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23939 * grub-core/commands/acpihalt.c: New file.
23940 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23941 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23942 (grub_acpi_halt): New proto.
23943 (GRUB_ACPI_SLP_EN): New const.
23944 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23945 (GRUB_ACPI_OPCODE_*): New enum.
23946 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23947
23948 2010-09-11 Tristan Gingold <gingold@free.fr>
23949 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
23950 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23951
23952 * commands/lsacpi.c: New file.
23953 * grub-core/Makefile.core.def (lsacpi): New module.
23954 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23955 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23956 (grub_acpi_madt_entry_header): New struct.
23957 (grub_acpi_madt): Likewise.
23958 (grub_acpi_madt_entry_interrupt_override): Likewise.
23959 (grub_acpi_madt_entry_sapic): Likewise.
23960 (grub_acpi_madt_entry_lsapic): Likewise.
23961 (grub_acpi_madt_entry_platform_int_source): Likewise.
23962 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23963 (PRIuGRUB_UINT32_T): Likewise.
23964 (PRIxGRUB_UINT64_T): Likewise.
23965
23966 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23967
23968 Implement loading palette on ieee1275_fb.
23969
23970 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23971 (have_setcolors): Likewise.
23972 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23973 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
23974 (grub_video_ieee1275_set_palette): Implement.
23975
23976 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23977 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
23978
23979 * util/grub-install.in (grub_partition): New variable.
23980 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
23981 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
23982 Fixes a bug reported by Yves Blusseau.
23983
23984 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23985
23986 Fix emu on mipsel.
23987
23988 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
23989 =grub_cpu_flush_cache on all mips and not only yeeloong.
23990 * configure.ac (COND_mips): New conditional.
23991 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
23992 platforms.
23993 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
23994 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
23995 [GRUB_LINKER_HAVE_INIT]: New function.
23996 (grub_emu_post_init): Likewise.
23997 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
23998 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
23999 * include/grub/cache.h (_mips): Include mips/cache.h.
24000 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24001 LVM and RAID prototypes.
24002 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24003 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24004 function.
24005
24006 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24007
24008 * util/grub-install.in: Don't try to verify core.img until after
24009 running grub-mkimage to create it.
24010
24011 2010-09-10 Robert Millan <rmh@gnu.org>
24012
24013 * util/grub.d/10_hurd.in: Add misc readability checks.
24014 * util/grub.d/10_kfreebsd.in: Likewise.
24015 * util/grub.d/10_linux.in: Likewise.
24016
24017 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24018
24019 * util/grub-install.in: ${imgext} won't be defined here until the
24020 install branch is merged. For the meantime, only verify core.img on
24021 i386-pc and sparc64-ieee1275 platforms.
24022
24023 2010-09-10 Robert Millan <rmh@gnu.org>
24024
24025 Solaris support in grub_find_zpool_from_dir(). Thanks
24026 Seth Goldberg for referring to getextmntent() facility.
24027
24028 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24029 `sys/mkdev.h'.
24030 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24031 `<sys/mnttab.h>'.
24032 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24033 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24034 method for finding zpool name.
24035
24036 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24037
24038 grub-fstest needs the host and hostfs modules while other utilities
24039 actively require those modules to be absent, so grub-fstest needs
24040 its own initialisation and finalisation code.
24041
24042 * Makefile.am (grub_fstest.pp): New target.
24043 (grub_fstest_init.lst): Likewise.
24044 (grub_fstest_init.c): Likewise.
24045 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24046
24047 2010-09-10 Robert Millan <rmh@gnu.org>
24048
24049 * configure.ac: Check for `struct statfs.f_fstypename' and
24050 `struct statfs.f_mntfromname'.
24051
24052 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24053 kFreeBSD-specific code.
24054
24055 2010-09-10 Robert Millan <rmh@gnu.org>
24056
24057 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24058 on ZFS. Now non-main filesystems are supported as / too.
24059
24060 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
24061
24062 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24063 and grub-core/disk/host.c to ...
24064 (grub-fstest): ... here. Having the host disk implementation
24065 present confuses grub-probe and other utility programs.
24066
24067 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24068 when writing to a file, not when writing to stdout.
24069
24070 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24071
24072 * tests/partmap_test.in: New test for partitions.
24073 * Makefile.util.def: Rules for new test.
24074
24075 2010-09-09 Robert Millan <rmh@gnu.org>
24076
24077 * util/grub-probe.c (probe): Fix a pair of unhandled error
24078 conditions.
24079
24080 2010-09-09 Robert Millan <rmh@gnu.org>
24081
24082 Basic Btrfs support (detection and UUID).
24083
24084 * grub-core/fs/btrfs.c: New file.
24085 * Makefile.util.def (library): Register btrfs.c.
24086 * grub-core/Makefile.core.def: Likewise.
24087
24088 2010-09-08 Robert Millan <rmh@gnu.org>
24089
24090 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24091 with (optional) parameters to specify device and relative path.
24092 * util/grub-install.in: Use is_path_readable_by_grub() to
24093 verify readability of a few critical files.
24094 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24095 verify readability of grub.cfg.new.
24096
24097 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24098
24099 Split minix.mod into minix.mod and minix2.mod.
24100
24101 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24102 * grub-core/Makefile.core.def (minix2): New module.
24103 * grub-core/fs/minix.c: Use definitions instead of runtime version
24104 checking.
24105 * grub-core/fs/minix2.c: New file.
24106
24107 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24108
24109 Add new --boot-directory option to replace --root-directory
24110
24111 * util/grub-install.in: Add new --boot-directory option
24112 * util/grub-reboot.in: Likewise.
24113 * util/grub-set-default.in: Likewise.
24114
24115 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24116
24117 * util/grub-mkconfig.in: Use new variable.
24118
24119 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24120
24121 * configure.ac: Define some useful variables.
24122
24123 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24124
24125 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24126 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24127 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24128 Use terminfo and don't use cursor-on/cursor-off unless it's known
24129 to work.
24130 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24131 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24132
24133 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
24134
24135 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24136 starts with "(,", fill the drive containing the loaded image in
24137 between those two characters, but expect that a full partition
24138 specification including partition map names will follow.
24139
24140 2010-09-08 Robert Millan <rmh@gnu.org>
24141
24142 * configure.ac: Remove `--enable-grub-fstest' option.
24143 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24144
24145 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24146 `grub-fstest' instead of `grub-probe' for readability verification.
24147 * util/grub-probe.c (probe): Remove readability verification kludge.
24148
24149 2010-09-08 Robert Millan <rmh@gnu.org>
24150
24151 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24152 initializing `GRUB_FS'.
24153
24154 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24155
24156 Not command (!) support to GRUB script.
24157
24158 * tests/grub_script_not.in: New test.
24159 * Makefile.util.def: Rules for new test.
24160
24161 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24162 ! command as a special case.
24163 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24164
24165 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24166
24167 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24168 grub_free.
24169
24170 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24171
24172 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24173
24174 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24175
24176 * docs/grub.texi (Shell-like scripting): Documentation for break,
24177 continue, shift and return commands.
24178
24179 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24180
24181 Rename CD-ROM to cd on BIOS.
24182
24183 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24184 "cd".
24185 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24186
24187 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24188
24189 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24190 * util/grub-probe.c (main): Likewise.
24191 * util/i386/pc/grub-setup.c (main): Likewise.
24192 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24193 Reported and debugged by: alexxy
24194
24195 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24196
24197 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24198 diagnostic info.
24199
24200 2010-09-05 Jo Shields <directhex@apebox.org>
24201
24202 * util/grub.d/30_os-prober.in: Add missing classes.
24203
24204 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 * docs/grub.texi (Theme file format): Document new position format.
24207
24208 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24209
24210 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24211 a table. Use @code instead of @verbatim.
24212
24213 2010-09-05 Colin D Bennett <colin@gibibit.com>
24214
24215 Gfxmenu documentation.
24216
24217 * docs/grub.texi (Theme file format): New chapter.
24218
24219 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24220
24221 * grub-core/Makefile.core.def (xzio): New module.
24222 * grub-core/io/xzio.c: New file.
24223 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24224 * grub-core/lib/xzembed/xz_config.h: Likewise.
24225 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24226 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24227 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24228 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24229 * grub-core/lib/xzembed/xz_private.h: Likewise.
24230 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24231 * include/grub/file.h (grub_file_filter_id): New compression filter
24232 GRUB_FILE_FILTER_XZIO.
24233
24234 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24235
24236 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24237 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24238 size.
24239
24240 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24241
24242 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24243 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24244
24245 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24246
24247 Uncompressed checksum support.
24248
24249 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24250 (check_list): New parameter uncompress.
24251 (grub_cmd_hashsum): Handle --uncompress.
24252
24253 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24254
24255 Reintroduce testload.
24256
24257 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24258 from here ...
24259 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24260 (GRUB_MOD_INIT): New function.
24261 (GRUB_MOD_FINI): Likewise.
24262 * grub-core/Makefile.core.def (testload): New module.
24263
24264 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24265
24266 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24267 (uint8_t): New type.
24268 (uint16_t): Likewise.
24269 (uint32_t): Likewise.
24270 (uint64_t): Likewise.
24271
24272 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24273
24274 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24275
24276 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24277
24278 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24279 Made static.
24280 (grub_gzfile_open): Removed. All users updated.
24281 (GRUB_MOD_INIT): New function.
24282 (GRUB_MOD_FINI): Likewise.
24283 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24284 (grub_file_filters_enabled): Likewise.
24285 (grub_file_open): Handle filters.
24286 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24287 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24288 * include/grub/file.h (grub_file_filter_id_t): New type.
24289 (grub_file_filter_t): Likewise.
24290 (grub_file_filters_all): New extern variable.
24291 (grub_file_filters_enabled): Likewise.
24292 (grub_file_filter_register): New inline function.
24293 (grub_file_filter_unregister): Likewise.
24294 (grub_file_filter_disable): Likewise.
24295 (grub_file_filter_disable_compression): Likewise.
24296 * include/grub/gzio.h: Removed.
24297
24298 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24299
24300 Filename expansion support for wildcards in GRUB script.
24301
24302 * tests/grub_script_expansion.in: New test.
24303 * Makefile.util.def: Rule for new test.
24304
24305 * grub-core/commands/wildcard.c: New file, implements filename
24306 expansion support for GRUB script.
24307 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24308 * grub-core/script/argv.c: Cosmetic changes.
24309 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24310 Refactored to perform wildcard expansion on arguments.
24311 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24312 struct.
24313
24314 * tests/util/grub-shell.in: Fix quoting for read input.
24315
24316 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24317
24318 Support for updating environment variables with matched substrings
24319 of regexp.
24320
24321 * tests/grub_cmd_regexp.in: New test.
24322 * Makefile.util.def: Rule for new test.
24323
24324 * grub-core/commands/regexp.c: New option -s to update environment
24325 variables with regexp matches.
24326
24327 2010-09-04 Szymon Janc <szymon@janc.net.pl>
24328
24329 * include/grub/file.h (grub_file): New member not_easly_seekable.
24330 (grub_file_seekable): New inline function.
24331 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24332 easily seekable.
24333 (grub_gzio_open): Set not_easly_seekable.
24334 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24335 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24336
24337 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24338
24339 Support for options to appear multiple times on cmdline.
24340
24341 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24342 * grub-core/commands/extcmd.c: Support for repeatable option.
24343 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24344 repeatable option support.
24345
24346 Refactor menuentry into a regular command.
24347
24348 * grub-core/commands/menuentry.c: New file, menuentry command
24349 implementation.
24350 * grub-core/Makefile.core.def: Rule update for normal.mod.
24351 * grub-core/normal/main.c: Moved menuentry creation to
24352 grub-core/commands/menuentry.c.
24353 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24354 (grub_menu_execute_entry_real): Removed.
24355 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24356 function.
24357 (grub_script_execute_menuentry): Removed.
24358 * grub-core/script/parser.y (menuentry): Removed.
24359 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24360 * grub-core/script/yylex.l (menuentry): Removed.
24361 * include/grub/menu.h (grub_menu_init): New prototype.
24362 (grub_menu_fini): New prototype.
24363 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24364 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24365 (grub_script_execute_sourcecode): New prototype.
24366
24367 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24368
24369 "return" command for GRUB script functions.
24370
24371 * tests/grub_script_return.in: New test.
24372 * Makefile.util.def: Rules for new test.
24373
24374 * grub-core/script/execute.c (grub_script_return): New function.
24375 * grub-core/script/main.c: Register/unregister return commaond.
24376 * include/grub/script_sh.h (grub_script_return): New prototype.
24377
24378 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24379
24380 "setparams" command to update positional parameters.
24381
24382 * tests/grub_script_setparams.in: New test.
24383 * Makefile.util.def: Rules for new test.
24384
24385 * grub-core/script/argv.c (grub_script_argv_make): New function.
24386 * grub-core/script/execute.c (replace_scope): New function.
24387 (grub_script_setparams): New function.
24388 * grub-core/script/lexer.c: Remove unused variables.
24389 * grub-core/script/main.c: Register/unregister setparams command.
24390 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24391 (grub_script_setparams): New prototype.
24392
24393 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24394
24395 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24396 grub_free order.
24397
24398 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24399
24400 Support for passing block of commands as an argument to extcmds.
24401
24402 * Makefile.util.def: Rules for new test.
24403 * tests/grub_script_blockarg.in: New test.
24404 * grub-core/tests/test_blockarg.c: New file, block argument
24405 command used in the test.
24406
24407 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24408 (grub_register_extcmd_prio): New function prototype.
24409 (grub_extcmd_dispatcher): New function prototype.
24410 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24411 type.
24412 * include/grub/script_sh.h (struct grub_script): New members
24413 `children', `next_siblings' and `refcnt' for block arguments and
24414 reference counting.
24415 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24416 (grub_script_arg): New member `script' for block argument.
24417 (grub_script_argv): New member `script' for block argument.
24418 (grub_parser_param): New member `scripts' for block argument.
24419 (grub_script_mem_free): New extern function prototype.
24420 (grub_script_ref): New function prototype.
24421 (grub_script_unref): New function prototype.
24422
24423 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24424 extcmd form to support block arguments.
24425 * grub-core/script/argv.c: Block arguments support.
24426 * grub-core/script/execute.c: Likewise.
24427 * grub-core/script/lexer.c: Likewise.
24428 * grub-core/script/main.c: Likewise.
24429 * grub-core/script/script.c: Likewise.
24430 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24431 non-terminals.
24432
24433 * grub-core/commands/acpi.c: Update extcmd implementations with
24434 grub_extcmd_context_t.
24435 * grub-core/commands/cat.c: Likewise.
24436 * grub-core/commands/echo.c: Likewise.
24437 * grub-core/commands/extcmd.c: Likewise.
24438 * grub-core/commands/hashsum.c: Likewise.
24439 * grub-core/commands/hdparm.c: Likewise.
24440 * grub-core/commands/help.c: Likewise.
24441 * grub-core/commands/hexdump.c: Likewise.
24442 * grub-core/commands/i386/cpuid.c: Likewise.
24443 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24444 * grub-core/commands/i386/pc/halt.c: Likewise.
24445 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24446 * grub-core/commands/iorw.c: Likewise.
24447 * grub-core/commands/keystatus.c: Likewise.
24448 * grub-core/commands/loadenv.c: Likewise.
24449 * grub-core/commands/ls.c: Likewise.
24450 * grub-core/commands/lspci.c: Likewise.
24451 * grub-core/commands/memrw.c: Likewise.
24452 * grub-core/commands/probe.c: Likewise.
24453 * grub-core/commands/search_wrap.c: Likewise.
24454 * grub-core/commands/setpci.c: Likewise.
24455 * grub-core/commands/sleep.c: Likewise.
24456 * grub-core/disk/loopback.c: Likewise.
24457 * grub-core/hello/hello.c: Likewise.
24458 * grub-core/loader/i386/bsd.c: Likewise.
24459 * grub-core/loader/xnu.c: Likewise.
24460 * grub-core/term/gfxterm.c: Likewise.
24461 * grub-core/term/serial.c: Likewise.
24462 * grub-core/tests/lib/functional_test.c: Likewise.
24463
24464 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24465
24466 Multi-line quoted strings support.
24467
24468 * grub-core/script/lexer.c (append_newline): Removed.
24469 (grub_script_lexer_yywrap): Refactored.
24470 (grub_script_lexer_init): Refactored.
24471 * grub-core/script/yylex.l (yywrap): New function.
24472 (grub_lexer_resplit): New function.
24473 (grub_lexer_unput): New function.
24474 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24475 and resplit.
24476 * tests/grub_script_echo1.in: Added few more testcases.
24477
24478 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24479
24480 * grub-core/kern/misc.c: Don't add abort alias in utils.
24481 Reported by: echoline.
24482
24483 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24484
24485 Add missing files into "make dist" tarball for other platforms.
24486
24487 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24488 * conf/Makefile.common (dist_noinst_DATA): New variable.
24489 * conf/Makefile.extra-dist: Added missing make dist files.
24490 * grub-core/Makefile.core.def: Likewise.
24491
24492 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24493
24494 Compress grub_prefix.
24495
24496 * grub-core/boot/i386/pc/lnxboot.S: Use
24497 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24498 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24499 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24500 GRUB_MACHINE_PREFIX_END. All users updated.
24501 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24502 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24503 + 0x40.
24504 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24505 * util/grub-mkimage.c (image_target_desc): Change data_end to
24506 prefix_end. All users updated.
24507
24508 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24509
24510 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24511 value.
24512 (grub_openbsd_boot): Likewise.
24513 (grub_netbsd_boot): Likewise.
24514 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24515 (grub_xnu_boot): Likewise.
24516
24517 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24518
24519 * configure.ac: Clean LIBS variable after tests.
24520
24521 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24522
24523 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24524
24525 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24526
24527 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24528 echo if libdevmapper will be used.
24529
24530 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24531
24532 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24533 constant for the same file.
24534
24535 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24536
24537 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24538
24539 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24540
24541 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24542 grub-core/*.pp.
24543
24544 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24545
24546 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24547 required by the boot protocol.
24548
24549 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24550 ebp and edi members.
24551 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24552 state.ebp and state.edi.
24553 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24554 %ebp and %edi according to grub_relocator32_ebp and
24555 grub_relocator32_edi respectively.
24556 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24557 and state.edi.
24558
24559 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24560
24561 Add i386-pc-pxe image target.
24562
24563 * util/grub-mkimage.c (image_target_desc): New enum value
24564 IMAGE_I386_PC_PXE.
24565 (image_targets): New target i386-pc-pxe.
24566 (generate_image): Handle i386-pc-pxe image.
24567
24568 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24569
24570 Fix grub_pxe_scan.
24571
24572 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24573 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24574 All users updated.
24575 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24576 (grub_pxe_pxenv): Correct type.
24577
24578 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24579
24580 * NEWS: Document most of the important changes since 1.98.
24581
24582 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24583
24584 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24585 generated manual page) a little.
24586
24587 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24588
24589 * docs/grub.texi: Add myself as an author.
24590
24591 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 * Makefile.util.def (libgrub.a): Add missing sunpc.
24594 Reported by: Seth Goldberg.
24595
24596 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24597
24598 Interrupt wrapping and code simplifications.
24599
24600 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24601 x86_noieee1275 which are functionaly equivalent in this case.
24602 (grub-install): Make source on each platform explicit. Enable on
24603 all noemu.
24604 * gentpl.py (x86_efi_pc): Removed group.
24605 (x86_noefi): Likewise.
24606 (i386_noefi): Likewise.
24607 (x86_noieee1275): Likewise.
24608 (i386_noieee1275): Likewise.
24609 (i386_noefi_noieee1275): Likewise.
24610 (i386_pc_qemu_coreboot): Likewise.
24611 (i386_coreboot_multiboot): Likewise.
24612 (i386_pc_coreboot_multiboot_qemu): Likewise.
24613 (x86_noefi_mips): Likewise.
24614 (noieee1275): Likewise.
24615 (ieee1275_mips): Likewise.
24616 (noemu_noieee1275): Likewise.
24617 (cmos): New group.
24618 (usb): Likewise.
24619 (videoinkernel): Likewise.
24620 (videomodules): Likewise.
24621 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
24622 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24623 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24624 include/grub/loader.h, include/grub/msdos_partition.h,
24625 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24626 include/grub/machine/console.h, include/grub/machine/vga.h,
24627 include/grub/machine/vbe.h, include/grub/machine/init.h,
24628 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24629 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
24630 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
24631 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24632 * grub-core/Makefile.core.def (kernel): Explicit the source for
24633 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24634 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24635 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24636 Use videoinkernel tag.
24637 (usb): Enable on all usb.
24638 (usbserial_common): Likewise.
24639 (usbserial_pl2303): Likewise.
24640 (usbserial_ftdi): Likewise.
24641 (uhci): Enable on all x86.
24642 (ohci): Enable on all pci.
24643 (cmostest): Enable on all CMOS.
24644 (acpi): Include commands/acpi.c on all platforms.
24645 (halt): Add relevant lib/*/halt.c.
24646 (hdparm): Enable on all pci.
24647 (lspci): Likewise.
24648 (usbtest): Enable on all usb.
24649 (ata): Enable on all pci.
24650 (ata_pthru): Likewise.
24651 (usbms): Enable on all usb.
24652 (usb_keyboard): Likewise.
24653 (font): Use tag videomodules.
24654 (bufio): Likewise.
24655 (datetime): Use tag cmos. Enable on all noemu.
24656 (mmap): Use tags common and x86.
24657 (gfxterm): Use tag videomodules.
24658 (bitmap): Likewise.
24659 (bitmap_scale): Likewise.
24660 (video_fb): Likewise.
24661 (video): Likewise.
24662 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24663 adjust padding accordingly. All users updated.
24664 (grub_ohci_transaction): Fix bad format specification.
24665 (GRUB_MOD_INIT): Add asserts for struct size.
24666 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24667 (grub_alloc_td): Likewise.
24668 (grub_free_queue): Likewise.
24669 (grub_uhci_transfer): Likewise.
24670 (grub_uhci_transaction): Fix bad format specification.
24671 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24672 (grub_usb_bulk_readwrite): Likewise.
24673 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24674 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24675 Made static.
24676 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24677 Made static.
24678 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24679 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24680 Transformed into C.
24681 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24682 Moved from here ...
24683 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24684 ... here. Transformed into C. Made static.
24685 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24686 Moved from here ...
24687 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24688 ... here. Transformed into C. Made static.
24689 * grub-core/kern/i386/pc/startup.S
24690 (grub_biosdisk_check_int13_extensions): Moved from here ...
24691 * grub-core/disk/i386/pc/biosdisk.c
24692 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24693 Made static.
24694 * grub-core/kern/i386/pc/startup.S
24695 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24696 * grub-core/disk/i386/pc/biosdisk.c
24697 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24698 Transformed into C. Made static.
24699 * grub-core/kern/i386/pc/startup.S
24700 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24701 * grub-core/disk/i386/pc/biosdisk.c
24702 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24703 Transformed into C. Made static.
24704 * grub-core/kern/i386/pc/startup.S
24705 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24706 * grub-core/disk/i386/pc/biosdisk.c
24707 (grub_biosdisk_get_diskinfo_standard): ... here.
24708 Transformed into C. Made static.
24709 * grub-core/kern/i386/pc/startup.S
24710 (grub_biosdisk_get_num_floppies): Moved from here ...
24711 * grub-core/disk/i386/pc/biosdisk.c
24712 (grub_biosdisk_get_num_floppies): ... here.
24713 Transformed into C. Made static.
24714 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24715 New function.
24716 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24717 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24718 Transformed into C. Made static.
24719 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24720 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24721 Transformed into C. Made static.
24722 * grub-core/kern/i386/ieee1275/init.c: Removed.
24723 * grub-core/kern/i386/misc.S: Likewise.
24724 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24725 Splitted from here ...
24726 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24727 Transformed into C. Made static. All users updated.
24728 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24729 Transformed into C. Made static. All users updated.
24730 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24731 Moved from here...
24732 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24733 Transformed into C. Made static. All users updated.
24734 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24735 Moved from here...
24736 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24737 Transformed into C. Made static. All users updated.
24738 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24739 Removed (replaced by C version).
24740 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24741 Moved from here...
24742 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24743 Transformed into C. Made static.
24744 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24745 Moved from here...
24746 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24747 ... here. Transformed into C.
24748 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24749 Moved from here...
24750 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24751 ... here. Transformed into C.
24752 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24753 Moved from here...
24754 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24755 ... here. Transformed into C. Made static.
24756 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24757 Moved from here...
24758 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24759 ... here. Transformed into C.
24760 * grub-core/kern/i386/pc/startup.S
24761 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24762 * grub-core/video/i386/pc/vbe.c
24763 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
24764 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24765 Moved from here...
24766 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24767 ... here. Transformed into C.
24768 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24769 Moved from here...
24770 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24771 ... here. Transformed into C.
24772 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24773 Moved from here...
24774 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24775 ... here. Transformed into C.
24776 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24777 Moved from here...
24778 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24779 ... here. Transformed into C.
24780 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24781 Moved from here...
24782 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24783 ... here. Transformed into C. Made static.
24784 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24785 Moved from here...
24786 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24787 ... here. Transformed into C. Made static.
24788 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24789 Moved from here...
24790 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24791 ... here. Transformed into C. Made static.
24792 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24793 pxe_rm_entry as third argument.
24794 (grub_bios_interrupt): New function.
24795 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24796 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24797 of calling grub_stop.
24798 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24799 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24800 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24801 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24802 * grub-core/lib/i386/halt.c: Moved from here ...
24803 * grub-core/lib/i386/halt.c: ... here.
24804 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24805 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24806 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24807 grub_stop_floppy.
24808 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24809 * include/grub/i386/coreboot/init.h: Removed.
24810 * include/grub/i386/multiboot/init.h: Likewise.
24811 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24812 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24813 * include/grub/i386/pc/int.h: New file.
24814 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24815 (grub_pxe_scan): Removed.
24816 (grub_pxe_call): Update prototype.
24817 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24818 prototypes.
24819 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24820 * include/grub/i386/qemu/init.h: Removed.
24821 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24822 noreturn.
24823 (grub_halt): Likewise.
24824 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24825 (grub_reboot): Likewise.
24826 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24827 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
24828 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24829
24830 2010-08-30 Robert Millan <rmh@gnu.org>
24831
24832 * NEWS: Document addition of ZFS support in `grub-install' and
24833 `grub-mkconfig'.
24834
24835 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24836
24837 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24838 dprintf output.
24839
24840 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24841
24842 Remove leftover embedding of font objects.
24843
24844 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24845 * util/grub-install.in (font): Removed.
24846 * util/grub-mkimage.c (generate_image): Remove font support. All users
24847 updated.
24848
24849 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24850
24851 Remove leftover embedding of font objects.
24852
24853 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24854 * util/grub-install.in (font): Removed.
24855 * util/grub-mkimage.c (generate_image): Remove font support. All users
24856 updated.
24857
24858 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24859
24860 * docs/grub.texi (Network): Fix reference to pxe_blksize.
24861 Reported by: Ian Turner
24862
24863 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24864
24865 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24866 timeout to avoid indefinite boot stalling.
24867
24868 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24869
24870 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24871 (grub_env_write_color_highlight): Likewise.
24872
24873 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24874
24875 * grub-core/normal/term.c (print_more): Return to normal and not
24876 to standard state after printing "---MORE---".
24877
24878 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24879
24880 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24881 Mask out the bit 0x80 since it has other meaning that specifiing color.
24882
24883 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24884
24885 New relocator. Allows for more kernel support and more straightforward
24886 loader writing.
24887
24888 * Makefile.am (BOOTTARGET): New variable.
24889 (QEMU32): Likewise.
24890 (linux.init.x86_64): New target.
24891 (linux.init.i386): Likewise.
24892 (multiboot.elf): Likewise.
24893 (kfreebsd.elf): Likewise.
24894 (kfreebsd.aout): Likewise.
24895 (pc-chainloader.elf): Likewise.
24896 (pc-chainloader.bin): Likewise.
24897 (ntldr.elf): Likewise.
24898 (ntldr.bin): Likewise.
24899 (multiboot2.elf): Likewise.
24900 (kfreebsd.init.x86_64): Likewise.
24901 (kfreebsd.init.i386): Likewise.
24902 (knetbsd.init.i386): Likewise.
24903 (kopenbsd.init.i386): Likewise.
24904 (knetbsd.init.x86_64): Likewise.
24905 (kopenbsd.init.x86_64): Likewise.
24906 (linux-initramfs.i386): Likewise.
24907 (linux-initramfs.x86_64): Likewise.
24908 (kfreebsd-mfsroot.i386.img): Likewise.
24909 (knetbsd.image.i386): Likewise.
24910 (kopenbsd.image.i386): Likewise.
24911 (kopenbsd.image.x86_64): Likewise.
24912 (knetbsd.miniroot-image.i386.img): Likewise.
24913 (kfreebsd-mfsroot.x86_64.img): Likewise.
24914 (knetbsd.image.x86_64): Likewise.
24915 (knetbsd.miniroot-image.x86_64.img): Likewise.
24916 (kfreebsd-mfsroot.i386.gz): Likewise.
24917 (bootcheck-kfreebsd-i386): Likewise.
24918 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24919 (bootcheck-kfreebsd-x86_64): Likewise.
24920 (knetbsd.miniroot-image.i386.gz): Likewise.
24921 (bootcheck-knetbsd-i386): Likewise.
24922 (bootcheck-kopenbsd-i386): Likewise.
24923 (bootcheck-kopenbsd-x86_64): Likewise.
24924 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24925 (bootcheck-knetbsd-x86_64): Likewise.
24926 (bootcheck-linux-i386): Likewise.
24927 (bootcheck-linux-x86_64): Likewise.
24928 (bootcheck-linux16-i386): Likewise.
24929 (bootcheck-linux16-x86_64): Likewise.
24930 (bootcheck-multiboot): Likewise.
24931 (bootcheck-multiboot2): Likewise.
24932 (bootcheck-kfreebsd-aout): Likewise.
24933 (bootcheck-pc-chainloader): Likewise.
24934 (bootcheck-ntldr): Likewise.
24935 (CLEANFILES): Add new targets.
24936 (BOOTCHECKS): New variable.
24937 (.PHONY): Add bootchecks.
24938 (SUCCESSFUL_BOOT_STRING): New variable.
24939 (BOOTCHECK_TIMEOUT): Likewise.
24940 (bootcheck): New target
24941 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24942 * configure.ac: Correct efiemu excuse.
24943 * docs/grub.texi (Supported kernels): New chapter.
24944 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24945 include/grub/mm_private.h. Simplify inclusion of
24946 include/grub/boot.h, include/grub/loader.h
24947 and include/grub/msdos_partition.h
24948 (KERNEL_HEADER_FILES) [i386_coreboot]:
24949 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24950 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24951 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24952 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24953 include/grub/machine/loader.h.
24954 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24955 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24956 extra_dist.
24957 (pci.mod): Enable on i386-multiboot.
24958 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24959 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24960 i386-qemu.
24961 (relocator.mod): Rewritten.
24962 (aout.mod): Enable on all x86.
24963 (bsd.mod): Likewise.
24964 (ntldr.mod): New module.
24965 (linux.mod): Use loader/i386/linux.c on all x86.
24966 (xnu.mod): Enable on all x86.
24967 (vga_text.mod): disable on EFI and QEMU.
24968 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24969 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24970 * grub-core/efiemu/loadcore.c: Likewise.
24971 * grub-core/efiemu/main.c: Likewise.
24972 (grub_efiemu_exit_boot_services): Removed.
24973 (grub_efiemu_finish_boot_services): Likewise.
24974 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
24975 function.
24976 * grub-core/efiemu/i386/nocfgtables.c: New file.
24977 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
24978 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
24979 (grub_efi_finish_boot_services): Moved from here ...
24980 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
24981 Fille finish memory map and related data.
24982 (finish_mmap_buf): New variable.
24983 (grub_efi_uintn_t finish_mmap_size): Likewise.
24984 (grub_efi_uintn_t finish_key): Likewise.
24985 (grub_efi_uintn_t finish_desc_size): Likewise.
24986 (grub_efi_uint32_t finish_desc_version): Likewise.
24987 (grub_efi_is_finished): Likewise.
24988 (grub_efi_get_memory_map): Use saved memory map if EFI is already
24989 finished.
24990 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
24991 (grub_elf64_phdr_iterate): Likewise.
24992 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
24993 (grub_os_area_size): Likewise.
24994 (grub_machine_init): Don't reserve os area.
24995 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
24996 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
24997 * grub-core/kern/i386/loader.S: Removed.
24998 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
24999 (grub_os_area_size): Likewise.
25000 (grub_machine_init): Don't reserve os area.
25001 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25002 Don't call grub_dl_unload_all.
25003 Don't include loader.S.
25004 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25005 Declare the memory after _end as available.
25006 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
25007 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
25008 (GRUB_MM_ALLOC_MAGIC): Moved from here...
25009 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25010 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25011 * include/grub/mm_private.h (grub_mm_header): ... here.
25012 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25013 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
25014 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25015 (grub_mm_region): ..here. Removed addr. Added pre_size.
25016 All users updated.
25017 * grub-core/kern/mm.c (base): Renamed to ...
25018 (grub_mm_base): ... this. Made global.
25019 (grub_real_malloc): Alloc from end of region.
25020 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25021 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25022 * grub-core/kern/powerpc/cache_flush.S: ... here.
25023 * grub-core/lib/efi/relocator.c: New file.
25024 * grub-core/lib/i386/relocator.c: Rewritten.
25025 * grub-core/lib/i386/relocator16.S: New file.
25026 * grub-core/lib/i386/relocator32.S: Likewise.
25027 * grub-core/lib/i386/relocator64.S: Likewise.
25028 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25029 * grub-core/lib/i386/relocator_common.S: New file.
25030 * grub-core/lib/ieee1275/relocator.c: Likewise.
25031 * grub-core/lib/mips/relocator.c: Rewritten.
25032 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25033 stylistic adjustments.
25034 * grub-core/lib/powerpc/relocator.c: New file.
25035 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25036 * grub-core/lib/relocator.c: Rewritten.
25037 * grub-core/lib/x86_64/relocator_asm.S: New file.
25038 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25039 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25040 (bsd_tag): New struct.
25041 (tags): New variable.
25042 (tags_last): Likewise.
25043 (netbsd_module): New struct.
25044 (netbsd_mods): New variable.
25045 (netbsd_mods_last): Likewise.
25046 (openbsd_opts): New parameter "serial".
25047 (OPENBSD_SERIAL_ARG): New definition.
25048 (netbsd_opts): New parameter "serial".
25049 (NETBSD_SERIAL_ARG): New definition.
25050 (grub_freebsd_add_meta): Reorganised into ...
25051 (grub_bsd_add_meta): ...this. All users updated.
25052 (grub_freebsd_add_mmap): Reorganised into ...
25053 (generate_e820_mmap): ...this...
25054 (grub_bsd_add_mmap): ...and this. All users updated.
25055 (grub_freebsd_list_modules): Use tags.
25056 (grub_netbsd_add_meta_module): New function.
25057 (grub_netbsd_list_modules): Likewise.
25058 (grub_freebsd_boot): Use relocator and finish EFI.
25059 (grub_openbsd_boot): Likewise.
25060 (grub_netbsd_setup_video): New function.
25061 (grub_netbsd_add_modules): Likewise.
25062 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25063 and finish EFI.
25064 (grub_bsd_unload): Unload tags.
25065 (grub_bsd_load_aout): Use relocator.
25066 (grub_bsd_elf32_size_hook): New function.
25067 (grub_bsd_elf32_hook): Use relocator.
25068 (grub_bsd_elf64_size_hook): New function.
25069 (grub_bsd_elf64_hook): Use relocator.
25070 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25071 (grub_bsd_load): Zero-out openbsd_ramdisk.
25072 (grub_bsd_load): Use relocator.
25073 (grub_cmd_openbsd): Support serial.
25074 (grub_cmd_netbsd): Support modules.
25075 (grub_cmd_freebsd_module): Use relocator.
25076 (grub_netbsd_module_load): New function.
25077 (grub_cmd_netbsd_module): Likewise.
25078 (grub_cmd_openbsd_ramdisk): Likewise.
25079 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25080 kopenbsd_ramdisk.
25081 (GRUB_MOD_FINI): Unregister new commands.
25082 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25083 (grub_freebsd_load_elfmodule_obj): Use relocator.
25084 (grub_freebsd_load_elfmodule): Likewise.
25085 (grub_freebsd_load_elf_meta): Likewise.
25086 (grub_netbsd_load_elf_meta): New function.
25087 (grub_openbsd_find_ramdisk): Likewise.
25088 * grub-core/loader/i386/bsd_helper.S: Removed.
25089 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25090 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25091 * grub-core/loader/i386/efi/linux.c: Likewise.
25092 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25093 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25094 (DEFAULT_VIDEO_MODE): Likewise.
25095 (real_mode_target): New variable.
25096 (prot_mode_target): Likewise.
25097 (initrd_mem_target): Likewise.
25098 (relocator): Likewise.
25099 (efi_mmap_buf): Likewise.
25100 (efi_mmap_size): Likewise.
25101 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25102 (free_pages): Use relocator.
25103 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25104 (grub_linux_setup_video): Return error.
25105 (grub_linux_trampoline_start): Removed.
25106 (grub_linux_trampoline_end): Likewise.
25107 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25108 andd video parameters depending on firmware.
25109 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25110 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25111 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25112 (grub_cmd_initrd): Use relocator.
25113 * grub-core/loader/i386/linux_trampoline.S: Removed.
25114 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25115 (elf_sec_entsize): Likewise.
25116 (elf_sec_shstrndx): Likewise.
25117 (elf_sections): Likewise.
25118 (grub_multiboot_load): Use relocator.
25119 (grub_multiboot_get_mbi_size): Account for sections.
25120 (grub_multiboot_make_mbi): Use relocator and support sections.
25121 (grub_multiboot_add_elfsyms): New function.
25122 (grub_multiboot_free_mbi): Free sections.
25123 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25124 (grub_linux_real_target): Likewise.
25125 (grub_linux_real_chunk): Likewise.
25126 (grub_linux16_prot_size): Likewise.
25127 (grub_linux16_boot): Use relocator.
25128 (grub_linux_unload): Unload relocator.
25129 (grub_cmd_linux): Use relocator.
25130 (grub_cmd_initrd): Likewise.
25131 * grub-core/loader/i386/pc/ntldr.c: New file.
25132 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25133 Don't try to guess CPU frequency.
25134 (grub_xnu_set_video): Stretch bitmap.
25135 (grub_xnu_boot): Use relocator.
25136 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25137 (grub_linux_unload): Free relocator.
25138 (grub_linux_load32): Use relocator.
25139 (grub_linux_load64): Likewise.
25140 (grub_cmd_initrd): Likewise.
25141 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25142 (grub_multiboot_unload): Unload relocator.
25143 (grub_cmd_multiboot): Use relocator.
25144 (grub_cmd_module): Likewise.
25145 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25146 Use relocator and support sections.
25147 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25148 (elf_sec_entsize): Likewise.
25149 (elf_sec_shstrndx): Likewise.
25150 (elf_sections): Likewise.
25151 (grub_multiboot_load): Use relocator.
25152 (grub_multiboot_get_mbi_size): Account for sections.
25153 (grub_multiboot_make_mbi): Use relocator and support sections.
25154 (grub_multiboot_add_elfsyms): New function.
25155 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25156 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25157 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25158 Prototype changed. All users updated.
25159 (grub_xnu_align_heap): Simplified.
25160 (grub_xnu_writetree_toheap): Likewise.
25161 (grub_xnu_unload): Unload relocator.
25162 (grub_cmd_xnu_kernel): Use relocator.
25163 (grub_cmd_xnu_kernel64): Likewise.
25164 (grub_xnu_register_memory): Simplified.
25165 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
25166 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25167 EFI is finished.
25168 (grub_console_checkkey): Likewise.
25169 (grub_console_getkey): Likewise.
25170 (grub_console_getwh): Likewise.
25171 (grub_console_getxy): Likewise.
25172 (grub_console_gotoxy): Likewise.
25173 (grub_console_cls): Likewise.
25174 (grub_console_setcolorstate): Likewise.
25175 (grub_console_setcursor): Likewise.
25176 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25177 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25178 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25179 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25180 * grub-core/tests/boot/kernel-8086.S: Likewise.
25181 * grub-core/tests/boot/kernel-i386.S: Likewise.
25182 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25183 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25184 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25185 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25186 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25187 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25188 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25189 * grub-core/tests/boot/linux.cfg: Likewise.
25190 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25191 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25192 * grub-core/tests/boot/linux16.cfg: Likewise.
25193 * grub-core/tests/boot/multiboot.cfg: Likewise.
25194 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25195 * grub-core/tests/boot/ntldr.cfg: Likewise.
25196 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25197 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25198 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25199 New definition.
25200 * include/grub/dl.h (grub_dl_unload_all): Removed.
25201 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25202 (grub_efi_finish_boot_services): Change prototype.
25203 (grub_efi_is_finished): New variable.
25204 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25205 Changed prototype.
25206 (grub_efiemu_finish_boot_services): Removed.
25207 (grub_machine_efiemu_init_tables): New prototype.
25208 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25209 (grub_elf64_phdr_iterate): Likewise.
25210 * include/grub/i386/bsd.h: Include relocator.h.
25211 (freebsd_tag_header): New struct.
25212 (grub_openbsd_bios_mmap): Removed.
25213 (grub_unix_real_boot): Removed.
25214 (grub_freebsd_load_elfmodule32): Changed prototype.
25215 (grub_freebsd_load_elfmodule_obj64): Likewise.
25216 (grub_freebsd_load_elf_meta32): Likewise.
25217 (grub_freebsd_load_elf_meta64): Likewise.
25218 (grub_freebsd_add_meta): Removed.
25219 (grub_netbsd_load_elf_meta32): New prototype.
25220 (grub_netbsd_load_elf_meta64): Likewise.
25221 (grub_bsd_add_meta): Likewise.
25222 (grub_openbsd_ramdisk_descriptor): New struct.
25223 (grub_openbsd_find_ramdisk32): New prototype.
25224 (grub_openbsd_find_ramdisk64): Likewise.
25225 * include/grub/i386/coreboot/loader.h: Removed.
25226 * include/grub/i386/efi/loader.h: Likewise.
25227 * include/grub/i386/ieee1275/loader.h: Likewise.
25228 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25229 to grub_uint32_t.
25230 * include/grub/i386/loader.h: Removed.
25231 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25232 value.
25233 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25234 (grub_phys_addr_t): New type.
25235 (grub_vtop): New inline function.
25236 (grub_map_memory): Likewise.
25237 (grub_unmap_memory): Likewise.
25238 * include/grub/i386/multiboot/loader.h: Removed.
25239 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25240 (NETBSD_BTINFO_CONSOLE): New definition.
25241 (NETBSD_BTINFO_SYMTAB): Likewise.
25242 (NETBSD_BTINFO_MODULES): Likewise.
25243 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25244 (grub_netbsd_bootinfo): New struct.
25245 (grub_netbsd_btinfo_common): Use explicit bitsize.
25246 (grub_netbsd_btinfo_mmap_entry): Removed.
25247 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25248 (grub_netbsd_btinfo_bootdisk): New struct.
25249 (grub_netbsd_btinfo_symtab): Likewise.
25250 (grub_netbsd_btinfo_serial): Likewise.
25251 (grub_netbsd_btinfo_modules): Likewise.
25252 (grub_netbsd_btinfo_framebuf): Likewise.
25253 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25254 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25255 Likewise.
25256 (grub_openbsd_bootargs): Use explicit bitsize.
25257 (grub_openbsd_bootarg_console): New struct.
25258 (GRUB_OPENBSD_COM_MAJOR): New definition.
25259 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25260 * include/grub/i386/pc/efiemu.h: Removed.
25261 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25262 * include/grub/i386/qemu/loader.h: Removed.
25263 * include/grub/i386/relocator.h: Rewritten.
25264 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25265 * include/grub/mips/memory.h: New file.
25266 * include/grub/mips/multiboot.h: Rewritten.
25267 * include/grub/mips/relocator.h: Rewritten.
25268 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25269 (grub_vtop): New function.
25270 (grub_map_memory): Likewise.
25271 (grub_unmap_memory): Likewise.
25272 * include/grub/misc.h (ALIGN_DOWN): New definition.
25273 * include/grub/mm.h (grub_mm_check_real): New proto.
25274 (GRUB_MM_CHECK): New definition.
25275 * include/grub/mm_private.h: New file.
25276 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25277 (grub_multiboot_get_mbi_size): Removed.
25278 (grub_multiboot_make_mbi): Change prottype.
25279 (grub_multiboot_set_accepts_video): New proto.
25280 (grub_multiboot_add_elfsyms): Likewise.
25281 (grub_multiboot_payload_eip): New variable.
25282 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25283 New prototype.
25284 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25285 New definition.
25286 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25287 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25288 * include/grub/powerpc/ieee1275/loader.h: Removed.
25289 * include/grub/powerpc/memory.h: New file.
25290 * include/grub/powerpc/relocator.h: Likewise.
25291 * include/grub/relocator.h: Likewise.
25292 * include/grub/relocator_private.h: Likewise.
25293 * include/grub/sparc64/ieee1275/loader.h: Removed.
25294 * include/grub/x86_64/memory.h: New file.
25295 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25296 (grub_xnu_heap_malloc): Likewise.
25297 (grub_xnu_heap_real_start): Removed.
25298 (grub_xnu_heap_start): Likewise.
25299 (grub_xnu_relocator): New variable.
25300 (grub_xnu_heap_target_start): Likewise.
25301 * tests/util/grub-shell.in: Support non-pc.
25302 * util/grub-mkimage.c (image_targets): Fix multiboot target.
25303
25304 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25305
25306 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25307 on malloc error.
25308 (grub_bidi_logical_to_visual): Check that malloc succeded.
25309 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25310 puts.
25311 (grub_xputs_normal): Likewise.
25312
25313 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25314
25315 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25316 extra_dist.
25317
25318 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25319
25320 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25321
25322 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25323
25324 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25325
25326 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25327
25328 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25329 dprintf.
25330
25331 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25332
25333 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25334
25335 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25336
25337 * grub-core/normal/term.c (print_more): Fix a memory leak.
25338 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25339 (grub_xputs_normal): Likewise.
25340
25341 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25342
25343 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25344 the begining of the string
25345
25346 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25347
25348 * grub-core/script/script.c (grub_script_parse): Free parsed on
25349 failure.
25350
25351 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25352
25353 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25354 on failure.
25355
25356 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25359 return.
25360
25361 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25362
25363 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25364 (scroll_up): Fix a memory leak.
25365
25366 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25367
25368 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25369 errors.
25370
25371 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25372
25373 Handle USB pendrives exposed as floppies.
25374
25375 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25376 floppy.
25377 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25378 Check for partitions on all devices.
25379
25380 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25383 (readkey): Likewise.
25384
25385 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25386
25387 Multiple variable names support to "export" command.
25388
25389 * normal/context.c (grub_cmd_export): "export" command supports
25390 multiple variable names.
25391
25392 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25393
25394 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25395 --target=drive output to Mach device name.
25396
25397 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25398
25399 New Automake based build system for GRUB.
25400
25401 * ABOUT-NLS: New file.
25402 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25403 in Makefile.util.def file.
25404 * Makefile.util.def: New file. Autogen build definitions file for
25405 GRUB host utils.
25406 * conf/Makefile.common: New file. Common variables for GRUB host
25407 utils and target modules.
25408 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25409 * docs/Makefile.am: New file. Automake file for docs.
25410 * gentpl.py: New file. Python script to generate Autogen
25411 template.
25412 * grub-core/Makefile.am: New file. GRUB target modules' rules
25413 that doesn't fit in Makefile.core.def file.
25414 * grub-core/Makefile.core.def: New file. Autogen build
25415 definitions file for GRUB target modules.
25416 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25417 specific setjmp.S file.
25418 * po/Makefile.am: New file.
25419
25420 * .bzrignore: New ignores.
25421 * INSTALL: New requirements, without Ruby.
25422 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25423 * autogen.sh: Updated to invoke autogen as necessary.
25424 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25425 and defines for Automake conditionals.
25426 * geninit.sh: Refactoring.
25427
25428 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25429 necessary.
25430 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25431 New prototype.
25432
25433 * include/grub/test.h: Fix functional test modules' naming.
25434 * grub-core/tests/example_functional_test.c: Fix test module name.
25435
25436 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25437 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25438 * util/grub-editenv.c: Likewise.
25439 * util/grub-fstest.c: Likewise.
25440 * util/grub-mkdevicemap.c: Likewise.
25441 * util/grub-mkfont.c: Likewise.
25442 * util/grub-mkimage.c: Likewise.
25443 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25444 * util/grub-probe.c: Likewise.
25445 * util/grub-script-check.c: Likewise.
25446 * util/i386/pc/grub-setup.c: Likewise.
25447 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25448
25449 * tests/util/grub-shell.in: Fix override directory path.
25450 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25451 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25452
25453 * util/lvm.c: Update #includes.
25454 * util/raid.c: Likewise.
25455 * util/resolve.c: Likewise.
25456 * grub-core/bus/emu/pci.c: Likewise.
25457 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25458 * grub-core/lib/posix_wrap/string.h: Likewise.
25459 * grub-core/kern/emu/main.c: Likewise.
25460
25461 * grub-core/gensymlist.sh: New file. Script for generating kernel
25462 symbols file.
25463 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25464
25465 * grub-core/gentrigtables.c: Fix unused variable warnings.
25466
25467 * Makefile.in: Removed.
25468 * conf/any-emu.rmk: Removed.
25469 * conf/common.rmk: Removed.
25470 * conf/i386-coreboot.rmk: Removed.
25471 * conf/i386-efi.rmk: Removed.
25472 * conf/i386-ieee1275.rmk: Removed.
25473 * conf/i386-multiboot.rmk: Removed.
25474 * conf/i386-pc.rmk: Removed.
25475 * conf/i386-qemu.rmk: Removed.
25476 * conf/i386.rmk: Removed.
25477 * conf/mips-yeeloong.rmk: Removed.
25478 * conf/mips.rmk: Removed.
25479 * conf/powerpc-ieee1275.rmk: Removed.
25480 * conf/sparc64-ieee1275.rmk: Removed.
25481 * conf/tests.rmk: Removed.
25482 * conf/x86-efi.rmk: Removed.
25483 * conf/x86_64-efi.rmk: Removed.
25484 * gendistlist.sh: Removed.
25485 * geninitheader.sh: Removed.
25486 * genkernsyms.sh.in: Removed.
25487 * genmk.rb: Removed.
25488 * gensymlist.sh.in: Removed.
25489 * mkinstalldirs: Removed.
25490 * boot: Moved ...
25491 * grub-core/boot: ... to here.
25492 * bus: Moved ...
25493 * grub-core/bus: ... to here.
25494 * commands: Moved ...
25495 * grub-core/commands: ... to here.
25496 * disk: Moved ...
25497 * grub-core/disk: ... to here.
25498 * efiemu: Moved ...
25499 * grub-core/efiemu: ... to here.
25500 * font: Moved ...
25501 * grub-core/font: ... to here.
25502 * fs: Moved ...
25503 * grub-core/fs: ... to here.
25504 * gencmdlist.sh: Moved ...
25505 * grub-core/gencmdlist.sh: ... to here.
25506 * genemuinit.sh: Moved ...
25507 * grub-core/genemuinit.sh: ... to here.
25508 * genemuinitheader.sh: Moved ...
25509 * grub-core/genemuinitheader.sh: ... to here.
25510 * genfslist.sh: Moved ...
25511 * grub-core/genfslist.sh: ... to here.
25512 * genhandlerlist.sh: Moved ...
25513 * grub-core/genhandlerlist.sh: ... to here.
25514 * genmoddep.awk: Moved ...
25515 * grub-core/genmoddep.awk: ... to here.
25516 * genmodsrc.sh: Moved ...
25517 * grub-core/genmodsrc.sh: ... to here.
25518 * genpartmaplist.sh: Moved ...
25519 * grub-core/genpartmaplist.sh: ... to here.
25520 * genparttoollist.sh: Moved ...
25521 * grub-core/genparttoollist.sh: ... to here.
25522 * genterminallist.sh: Moved ...
25523 * grub-core/genterminallist.sh: ... to here.
25524 * gentrigtables.c: Moved ...
25525 * grub-core/gentrigtables.c: ... to here.
25526 * genvideolist.sh: Moved ...
25527 * grub-core/genvideolist.sh: ... to here.
25528 * gettext: Moved ...
25529 * grub-core/gettext: ... to here.
25530 * gfxmenu: Moved ...
25531 * grub-core/gfxmenu: ... to here.
25532 * gnulib: Moved ...
25533 * grub-core/gnulib: ... to here.
25534 * hello: Moved ...
25535 * grub-core/hello: ... to here.
25536 * hook: Moved ...
25537 * grub-core/hook: ... to here.
25538 * io: Moved ...
25539 * grub-core/io: ... to here.
25540 * kern: Moved ...
25541 * grub-core/kern: ... to here.
25542 * lib: Moved ...
25543 * grub-core/lib: ... to here.
25544 * loader: Moved ...
25545 * grub-core/loader: ... to here.
25546 * mmap: Moved ...
25547 * grub-core/mmap: ... to here.
25548 * normal: Moved ...
25549 * grub-core/normal: ... to here.
25550 * partmap: Moved ...
25551 * grub-core/partmap: ... to here.
25552 * parttool: Moved ...
25553 * grub-core/parttool: ... to here.
25554 * script: Moved ...
25555 * grub-core/script: ... to here.
25556 * term: Moved ...
25557 * grub-core/term: ... to here
25558 * tests/example_functional_test.c: Moved ...
25559 * grub-core/tests/example_functional_test.c: ... to here.
25560 * tests/lib/functional_test.c: Moved ...
25561 * grub-core/tests/lib/functional_test.c: ... to here.
25562 * tests/lib/test.c: Moved ...
25563 * grub-core/tests/lib/test.c: ... to here.
25564 * video: Moved ...
25565 * grub-core/video: ... to here.
25566
25567 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25568
25569 Replace --enable-grub-emu-modules with grub-emu-lite.
25570
25571 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25572 cache.S.
25573
25574 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25575 * kern/emu/full.c: New file. For grub-emu specific initialization.
25576 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25577 * kern/emu/main.c: Call initialization function grub_emu_init.
25578
25579 * Makefile.in: Include grub-emu-lite in install.
25580 * commands/parttool.c: Use grub_no_autoload to differentiate
25581 between grub-emu and grub-emu-lite.
25582 * include/grub/misc.h: New variable grub_no_autoload.
25583
25584 * conf/any-emu.rmk: New rules for grub-emu-lite.
25585 * configure.ac: Remove --enable-grub-emu-modules.
25586 * genmk.rb: Cleanup unnecessary rules.
25587 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25588
25589 * normal/main.c: Don't load list files on grub-emu-lite.
25590 * util/misc.c (grub_arch_sync_caches): Removed.
25591
25592 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
25593
25594 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25595 grub-mkimage rather than grub-mkelfimage.
25596 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25597
25598 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25599
25600 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25601 a key after CapsLock or NumLock. It's just a qemu bug.
25602
25603 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25604
25605 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25606 needed by libusb wrapper.
25607
25608 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25609
25610 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25611
25612 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25613
25614 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25615 --nounzip is passed.
25616
25617 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25618
25619 USB hotunplugging and USB serial support.
25620
25621 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25622 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25623 (grub_uhci_transfer): Respect timeout and set *actual.
25624 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25625 non-standard length.
25626 (grub_usb_device_attach): Autoload modules.
25627 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25628 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25629 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25630 users updated.
25631 (grub_usb_add_hub): Fill nports and children.
25632 (attach_root_port): Receive hub instead of controller.
25633 All users updated. Fill hub->devices.
25634 (grub_usb_root_hub): Allocate hub->devices.
25635 (detach_device): New function.
25636 (poll_nonroot_hub): Fill children and detach devices.
25637 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25638 actual arguments. All users updated.
25639 (grub_usb_bulk_read_extended): New function.
25640 * bus/usb/serial/common.c: New file.
25641 * bus/usb/serial/ftdi.c: Likewise.
25642 * bus/usb/serial/pl2303.c: Likewise.
25643 * commands/terminal.c (handle_command): Support wildcard.
25644 * commands/usbtest.c: Output "Unknown" instead of empty string.
25645 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25646 (usbserial_common_mod_SOURCES): New variable.
25647 (usbserial_common_mod_CFLAGS): Likewise.
25648 (usbserial_common_mod_LDFLAGS): Likewise.
25649 (pkglib_MODULES): Add usbserial_pl2303.mod.
25650 (usbserial_pl2303_mod_SOURCES): New variable.
25651 (usbserial_pl2303_mod_CFLAGS): Likewise.
25652 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25653 (pkglib_MODULES): Add usbserial_ftdi.mod.
25654 (usbserial_ftdi_mod_SOURCES): New variable.
25655 (usbserial_ftdi_mod_CFLAGS): Likewise.
25656 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25657 (pkglib_MODULES): Add serial.mod.
25658 (serial_mod_SOURCES): New variable.
25659 (serial_mod_CFLAGS): Likewise.
25660 (serial_mod_LDFLAGS): Likewise.
25661 * conf/i386-pc.rmk: Likewise.
25662 * conf/mips-yeeloong.rmk: Likewise.
25663 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25664 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25665 * disk/usbms.c (first_available_slot): New variable.
25666 (grub_usbms_attach): Don't reuse free slots due to potential cache
25667 problems.
25668 * include/grub/serial.h: Moved to ..
25669 * include/grub/ns8250.h: ...this.
25670 * include/grub/serial.h: New file.
25671 * include/grub/term.h (grub_term_poll_usb): New variable.
25672 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25673 readkey. All users updated.
25674 (grub_terminfo_output_state): Pass term to put.
25675 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25676 (grub_usb_controller_dev): Add timeout and actual arguments to
25677 transfer. All users updated.
25678 (grub_usb_interface): New field detach_data.
25679 (grub_usb_device): New fields children and nports.
25680 (grub_usb_ep_type_t): New type.
25681 (grub_usb_get_ep_type): New function.
25682 (grub_usb_bulk_read_extended): Likewise.
25683 * include/grub/usbdesc.h (grub_usb_desc): New type.
25684 * include/grub/usbserial.h: New file.
25685 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25686 * kern/term.c (grub_term_poll_usb): New variable.
25687 (grub_getkey): Call grub_term_poll_usb if set.
25688 (grub_checkkey): Likewise.
25689 (grub_getkeystatus): Likewise.
25690 * term/serial.c: Moved controller-specific parts to ...
25691 * term/ns8250.c: ... here.
25692 * term/serial.c: Mostly rewritten.
25693 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25694 according to spec.
25695
25696 2010-08-20 Robert Millan <rmh@gnu.org>
25697
25698 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25699 a separate module and maybe other interesting combinations.
25700
25701 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25702 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25703 (kfreebsd_entry): Add generic filesystem module load routine.
25704 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25705
25706 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25707
25708 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25709 "numcenter" (I misunderstood the purpose of this entry).
25710 * docs/grub.texi (sendkey): Likewise.
25711
25712 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25713
25714 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25715 status flag options; simply omitting the option is equivalent and
25716 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25717 (keysym_table): Rename "num5numlock" to "numlock".
25718 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25719 can uniformly say that only the last of multiple `sendkey'
25720 invocations has any effect.
25721 * docs/grub.texi (sendkey): New section.
25722
25723 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
25724
25725 * commands/i386/pc/sendkey.c (options): Fix three typos.
25726
25727 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25728
25729 Implement sendkey support.
25730
25731 * commands/i386/pc/sendkey.c: New file.
25732 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25733 (sendkey_mod_SOURCES): New variable.
25734 (sendkey_mod_CFLAGS): Likewise.
25735 (sendkey_mod_LDFLAGS): Likewise.
25736
25737 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25738
25739 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25740 fix warnings from Autoconf.
25741
25742 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25743
25744 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25745 to avoid false positives with some assemblers that output things
25746 like "someprefix_func" as part of their output.
25747
25748 2010-08-15 Robert Millan <rmh@gnu.org>
25749
25750 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25751 errors.
25752 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25753 grub_get_libzfs_handle() errors.
25754
25755 2010-08-14 Robert Millan <rmh@gnu.org>
25756
25757 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25758 filesystem is not ZFS.
25759
25760 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25761
25762 Fix for misspelled color names defaulting to black/black (bug
25763 reported by Doug Nazar)
25764
25765 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25766 status to prototype.
25767 * normal/color.c (grub_parse_color_name_pair): Return failure
25768 status.
25769 (grub_env_write_color_normal): Ignore bad color names.
25770 (grub_env_write_color_highlight): Likewise.
25771 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25772
25773 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25774
25775 "shift" command support to GRUB script.
25776
25777 * include/grub/script_sh.h (grub_script_shift): New prototype.
25778 * script/execute.c (grub_script_shift): New function.
25779 * script/main.c (grub_script_init): Register shift command.
25780 (grub_script_fini): Unregister shift command.
25781 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25782
25783 * tests/grub_script_shift.in: New testcase.
25784 * conf/tests.rmk: Rules for new testcase.
25785
25786 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25787
25788 "continue" command support to GRUB script.
25789
25790 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25791 (grub_script_break): Continue support.
25792 * script/main.c (grub_script_init): Register continue command.
25793 (grub_script_fini): Unregister continue command.
25794
25795 * tests/grub_script_continue.in: New testcase.
25796 * conf/tests.rmk: Rules for new testcase.
25797
25798 2010-08-12 BVK Chaitanya <bvk@dbook>
25799
25800 "break" command support to GRUB script.
25801
25802 * conf/common.rmk: Rule updates to grub-script-check.
25803 * include/grub/misc.h (grub_min): New function.
25804 * include/grub/script_sh.h (grub_script_init): New prototype.
25805 (grub_script_fini): New prototype.
25806 (grub_script_break): New prototype.
25807 * script/main.c (grub_script_init): New function.
25808 (grub_script_fini): New function.
25809 * script/execute.c (grub_script_break): New function.
25810 * normal/main.c: Calls to grub_script_{init,fini}.
25811 * util/grub-script-check.c (grub_script_break): New function.
25812
25813 * tests/grub_script_break.in: New testcase.
25814 * conf/tests.rmk: Rules for new test case.
25815
25816 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25817
25818 Function parameters support to GRUB script.
25819
25820 * script/yylex.l (VARIABLE): Regular expression update.
25821 * script/function.c (grub_script_function_call): Moved ...
25822 * script/execute.c (grub_script_function_call): ... to here.
25823 (grub_script_execute_arglist_to_argv): Removed.
25824 (grub_script_arglist_to_argv): New function.
25825 * script/argv.c: New file.
25826 (grub_script_argv_free): New function.
25827 (grub_script_argv_next): Likewise.
25828 (grub_script_argv_append): Likewise.
25829 (grub_script_argv_split_append): Likewise.
25830 * include/grub/script_sh.h (grub_script_argv): New struct.
25831 (grub_script_argv_free): New function.
25832 (grub_script_argv_next): Likewise.
25833 (grub_script_argv_append): Likewise.
25834 (grub_script_argv_split_append): Likewise.
25835
25836 * conf/common.rmk (normal.mod): New source script/argv.c.
25837
25838 * tests/grub_script_echo1.in: More tests.
25839 * tests/grub_script_vars1.in: Likewise.
25840 * tests/grub_script_functions.in: New test case.
25841 * conf/tests.rmk: Rules for new testcase.
25842
25843 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25844
25845 Remove grub_script_cmdblock struct.
25846
25847 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25848 * script/parser.y: Likewise.
25849 * script/execute.c: Rename cmdblock suffix to cmdlist.
25850 * script/script.c: Likewise.
25851 * util/grub-script-check.c: Likewise.
25852
25853 2010-08-11 Yves Blusseau <blusseau@zetam.org>
25854
25855 * .bzrignore: add grub-macho2img
25856
25857 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25858
25859 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25860
25861 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25862
25863 Remove the dump of sm712 initialisation sequence.
25864
25865 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25866 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25867 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25868 (GRUB_VGA_CR_*): Added many registers.
25869 (GRUB_VGA_SR_*): Likewise.
25870 (GRUB_VGA_GR_*): Likewise.
25871 (grub_vga_write_arx): New function.
25872 (grub_video_hw_config): New struct.
25873 (grub_vga_set_geometry): New function.
25874 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25875 GRUB_PCI_CLASS_SUBCLASS_VGA.
25876 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25877 * video/sm712.c (grub_sm712_write_reg): New function
25878 (grub_sm712_read_reg): Likewise.
25879 (grub_sm712_sr_write): Likewise.
25880 (grub_sm712_gr_write): Likewise.
25881 (grub_sm712_cr_write): Likewise.
25882 (grub_sm712_write_arx): Likewise.
25883 (grub_sm712_cr_shadow_write): Likewise.
25884 (grub_sm712_write_dda_lookup): Likewise.
25885 (grub_video_sm712_setup): Initialise the video rather then
25886 blindly replay the dump.
25887 (main) [TEST]: Add a routine to be able to compile as standalone for
25888 tests.
25889 * video/sm712_init.c (sm712_init): Removed.
25890 (sm712_sr_seq1): New array.
25891 (sm712_sr_seq2): Likewise.
25892
25893 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25894
25895 * include/grub/vga.h: Add missing grub/pci.h include.
25896
25897 2010-08-10 Yves Blusseau <blusseau@zetam.org>
25898
25899 * util/grub-macho2img.c (main): fix typo
25900
25901 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25902
25903 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25904 (grub_vga_gr_read): Likewise.
25905 (grub_vga_cr_write): Likewise.
25906 (grub_vga_cr_read): Likewise.
25907 (grub_vga_sr_write): Likewise.
25908 (grub_vga_sr_read): Likewise.
25909 (grub_vga_palette_read): Likewise.
25910 (grub_vga_palette_write): Likewise.
25911 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25912 (grub_sm712_sr_read): New function.
25913 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25914 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25915
25916 2010-08-09 Robert Millan <rmh@gnu.org>
25917
25918 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25919 out unused variables on non-ZFS build.
25920
25921 2010-08-08 Robert Millan <rmh@gnu.org>
25922
25923 Fix path generation for sub-filesystems in ZFS.
25924
25925 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25926 missing slash.
25927
25928 2010-08-08 Robert Millan <rmh@gnu.org>
25929
25930 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25931
25932 2010-08-08 Robert Millan <rmh@gnu.org>
25933
25934 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25935 exist, issue a proper error message (rely on `ls' for translated
25936 strings).
25937
25938 2010-08-08 Robert Millan <rmh@gnu.org>
25939
25940 Fix grub-probe invocation.
25941
25942 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25943
25944 2010-08-04 Robert Millan <rmh@gnu.org>
25945
25946 * configure.ac: Remove checks for getfsstat() and getmntany().
25947 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25948 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25949 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25950 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25951 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25952 function.
25953 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25954 via find_mount_point_from_dir() and getfsstat() / getmntany().
25955
25956 2010-08-04 Robert Millan <rmh@gnu.org>
25957
25958 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25959 (grub_find_zpool_from_mount_point): Merge into ...
25960 (grub_find_zpool_from_dir): ... this.
25961 * kern/emu/misc.c: Likewise.
25962
25963 * kern/emu/misc.c
25964 (grub_make_system_path_relative_to_its_root): Replace
25965 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25966 with grub_find_zpool_from_dir().
25967 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25968
25969 2010-08-04 Robert Millan <rmh@gnu.org>
25970
25971 Support OpenSolaris in ZFS device resolution.
25972
25973 * configure.ac: Check for getmntany().
25974 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
25975 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
25976 support.
25977
25978 2010-08-03 Robert Millan <rmh@gnu.org>
25979
25980 Fix grub-emu build.
25981
25982 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
25983 * include/grub/emu/misc.h: ... here.
25984
25985 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
25986 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
25987
25988 * util/misc.c: Remove `<grub/util/libzfs.h>'.
25989 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
25990 (grub_get_libzfs_handle): Move to ...
25991 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
25992 (grub_get_libzfs_handle): ... here.
25993
25994 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
25995
25996 * script/execute.c (grub_script_execute_cmdline): Check for NULL
25997 as command name case.
25998
25999 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
26000
26001 * disk/raid.c (insert_array): Select unique numbers for named arrays
26002 as well, for use as keys in the disk cache.
26003
26004 2010-08-01 Robert Millan <rmh@gnu.org>
26005
26006 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26007 kFreeBSD device name, except on ZFS where the filesystem label is
26008 used.
26009 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26010 `/boot/zfs/zpool.cache'.
26011 Set mountfrom kernel variable using ${kfreebsd_device}.
26012
26013 2010-08-01 Robert Millan <rmh@gnu.org>
26014
26015 Make it even harder to use uninitialized `libzfs_handle' (and
26016 make the interface a bit simpler).
26017
26018 * include/grub/util/misc.h (grub_util_init_libzfs)
26019 (libzfs_handle): Remove.
26020 (grub_get_libzfs_handle): New prototype.
26021
26022 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26023 attribute.
26024 (grub_util_init_libzfs): Remove.
26025 (grub_get_libzfs_handle): New function.
26026
26027 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26028 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26029 accessing `libzfs_handle' directly.
26030
26031 2010-08-01 Robert Millan <rmh@gnu.org>
26032
26033 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26034 (grub_find_zpool_from_mount_point): New function prototypes.
26035
26036 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26037 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26038
26039 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26040 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26041 `static' attribute.
26042
26043 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26044 finding zpool from mount point into ...
26045 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26046
26047 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26048 requested path is part of a ZFS pool, use
26049 grub_find_zpool_from_mount_point() to detect its filesystem name,
26050 and generate a path with `/fsname@path' syntax.
26051
26052 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26053
26054 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26055 (void) rather than () so that this is a proper prototype.
26056
26057 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26058
26059 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26060
26061 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26062
26063 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26064 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26065
26066 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26067
26068 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26069
26070 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26071
26072 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26073
26074 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26075
26076 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26077 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26078 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26079 disable gfxpayload.
26080 (Shell-like scripting): Add real content.
26081 (Serial terminal): Suggest `terminal_input serial; terminal_output
26082 serial' rather than putting the two commands on separate lines,
26083 since console input will be inoperative after the first command.
26084 (menuentry): Document --class, --users, and --hotkey options.
26085 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26086 Vladimir Serbinenko).
26087
26088 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26089 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26090
26091 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26092
26093 2010-08-01 Robert Millan <rmh@gnu.org>
26094
26095 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26096 (grub_find_zpool_from_mount_point): New function prototypes.
26097
26098 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26099 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26100
26101 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26102 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26103 `static' attribute.
26104
26105 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26106 finding zpool from mount point into ...
26107 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26108
26109 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26110 requested path is part of a ZFS pool, use
26111 grub_find_zpool_from_mount_point() to detect its filesystem name,
26112 and generate a path with `/fsname@path' syntax.
26113
26114 2010-08-01 Robert Millan <rmh@gnu.org>
26115
26116 Prevent accidental use of uninitialized libzfs_handle.
26117
26118 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26119 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26120 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26121
26122 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26123
26124 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26125 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26126
26127 2010-08-01 Robert Millan <rmh@gnu.org>
26128
26129 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
26130
26131 2010-07-31 Robert Millan <rmh@gnu.org>
26132
26133 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26134
26135 2010-07-31 Robert Millan <rmh@gnu.org>
26136
26137 * kern/emu/misc.c: Add missing license header.
26138
26139 2010-07-31 Robert Millan <rmh@gnu.org>
26140
26141 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26142
26143 * include/grub/util/libnvpair.h: Include `<config.h>'.
26144 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26145 declaring libnvpair prototypes ourselves.
26146 * include/grub/util/libzfs.h: Include `<config.h>'.
26147 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26148 declaring libzfs prototypes ourselves.
26149
26150 (libzfs_handle): Moved to ...
26151 * include/grub/util/misc.h (libzfs_handle): ... here.
26152 Include `<grub/util/libzfs.h>'.
26153
26154 2010-07-30 Robert Millan <rmh@gnu.org>
26155
26156 * include/grub/emu/misc.h: Add missing license header.
26157
26158 2010-07-30 Robert Millan <rmh@gnu.org>
26159
26160 Enable `grub-probe -t device' resolution on ZFS.
26161
26162 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26163 * include/grub/util/libnvpair.h: New file.
26164 * include/grub/util/libzfs.h: New file.
26165
26166 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26167 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26168 `<grub/util/libnvpair.h>'.
26169 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26170
26171 (find_mount_point_from_dir): New static function.
26172 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26173 function.
26174 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26175 find_root_device_from_libzfs() before ressorting to find_root_device().
26176
26177 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26178 prototype.
26179 * util/misc.c: Include `<grub/util/libzfs.h>'.
26180 (grub_util_init_libzfs): New function.
26181 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26182 [HAVE_LIBZFS] (fini_libzfs): New static function.
26183 (grub_util_init_libzfs): New function.
26184 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26185
26186 2010-07-30 Robert Millan <rmh@gnu.org>
26187
26188 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26189 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26190 `warn_unused_result' attribute.
26191 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26192 (grub_xasprintf, grub_xvasprintf): Likewise.
26193 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26194
26195 2010-07-29 Robert Millan <rmh@gnu.org>
26196
26197 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26198 (probe): Handle `PRINT_FS_LABEL'.
26199 (main): Handle `-t fs_label'.
26200
26201 2010-07-29 Robert Millan <rmh@gnu.org>
26202
26203 * configure.ac: Remove grub-mkisofs checks.
26204
26205 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26206
26207 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26208 Reported by: Lennart Sorensen.
26209
26210 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26211
26212 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26213 prior to terminal_input/terminal_output separation. It's been over 1.5
26214 years and those versions weren't widely deployed.
26215
26216 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
26217
26218 * disk/raid.c (insert_array): Don't count named arrays when looking
26219 for unused array numbers.
26220 Reported and tested by: Michael Guntsche.
26221
26222 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26223
26224 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26225 implementation of this so that grub-emu links again, with a note
26226 that this should support hotplugging in the future.
26227
26228 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26229
26230 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26231
26232 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26233
26234 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26235 handle on failure.
26236 (grub_loopback_close): Remove empty function.
26237 (grub_loopback_dev): Remove close method.
26238
26239 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26240
26241 Disable EFI cursor when the EFI console becomes inactive.
26242
26243 * term/efi/console.c (grub_efi_console_init): New function.
26244 (grub_efi_console_fini): New function.
26245 (grub_console_term_output): Register init and fini methods.
26246
26247 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26248
26249 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26250 sh script.
26251
26252 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26253
26254 * disk/loopback.c (grub_loopback): Replace filename with file.
26255 (delete_loopback): Handle new semantics.
26256 (grub_cmd_loopback): Likewise.
26257 (grub_loopback_iterate): Likewise.
26258 (grub_loopback_close): Likewise.
26259
26260 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26261
26262 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26263 with -p "".
26264 Reported by: Tito Keitel.
26265
26266 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26267
26268 * docs/grub.texi (Naming convention): Document new naming convention.
26269
26270 2010-07-20 Vadim Solomin <vadic052@gmail.com>
26271 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26272
26273 Generate device.map in something closer to the old ordering.
26274
26275 * util/deviceiter.c (struct device): New declaration.
26276 (compare_file_names): Rename to ...
26277 (compare_devices): ... this. Sort by kernel name in preference to
26278 the stable by-id name, but keep the latter as a fallback comparison.
26279 Update header comment.
26280 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26281 of `struct device' rather than of plain file names.
26282
26283 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26284
26285 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26286 on i386.
26287
26288 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26289
26290 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26291 hardcoding size.
26292 (setv1table): Likewise.
26293
26294 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26295
26296 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26297 removing the homehost if present.
26298 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26299 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26300 removing the homehost if present.
26301 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26302 if possible.
26303 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26304
26305 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26306 parameter. Set its pointer target to 0.
26307 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26308 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26309 `data_offset' value from the superblock for 1.x metadata.
26310 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26311 data on the device.
26312 (insert_array): Record the start sector of data on the device.
26313 (grub_raid_register): Pass start_sector parameters to
26314 grub_raid_list->detect and insert_array.
26315 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26316 member.
26317 (struct grub_raid): Add start_sector parameter to `detect'.
26318
26319 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26320 __attribute__ ((packed)), leaving a comment.
26321 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26322 (grub_mdraid_detect_09): ... here and ...
26323 (grub_mdraid_detect_1x): ... here.
26324
26325 2010-07-20 Peter Henn <peter.henn@web.de>
26326
26327 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26328 chunk size and disk size, which are already given as sector counts
26329 as distinct from the 0.90 units. Fetch the correct device number
26330 from the role table instead of using the table index.
26331
26332 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
26333
26334 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26335 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26336 (WriteMostly1): New macro.
26337 Set array->name to NULL for metadata format 0.90. Add support for
26338 metadata 1.x. Fix some comments.
26339 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26340 few comments.
26341 * util/getroot.c (grub_util_get_grub_dev): Add support for
26342 /dev/md/name style devices.
26343
26344 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26345
26346 * .bzrignore: Ignore 20_linux_xen.
26347
26348 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
26349
26350 * util/import_unicode.py: Remove unnecessary imports.
26351
26352 2010-07-17 Aleš Nesrsta <starous@volny.cz>
26353
26354 Hotplugging and USB hub support.
26355
26356 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26357 (grub_ohci): Likewise.
26358 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26359 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26360 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26361 (GRUB_OHCI_CTRL_EDS): Likewise.
26362 (GRUB_OHCI_BULK_EDS): Likewise.
26363 (GRUB_OHCI_TDS): Likewise.
26364 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26365 (grub_ohci_ed_phys2virt): New function.
26366 (grub_ohci_virt_to_phys): Likewise.
26367 (grub_ohci_td_phys2virt): Likewise.
26368 (grub_ohci_td_virt2phys): Likewise.
26369 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26370 attachment.
26371 (grub_ohci_find_ed): New function.
26372 (grub_ohci_alloc_td): Likewise.
26373 (grub_ohci_free_td): Likewise.
26374 (grub_ohci_free_tds): Likewise.
26375 (grub_ohci_transfer): Use previously allocated memory.
26376 (grub_ohci_portstatus): Reset status changed bit.
26377 (grub_ohci_detect_dev): Supply status changed.
26378 (grub_ohci_fini_hw): Free memory.
26379 (grub_ohci_restore_hw): Reallocate memory.
26380 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26381 Reset status change.
26382 (grub_uhci_detect_dev): Supply status_change.
26383 * bus/usb/usb.c (attach_hooks): New var.
26384 (grub_usb_device_attach): New function.
26385 (grub_usb_register_attach_hook_class): Likewise.
26386 (grub_usb_unregister_attach_hook_class): Likewise.
26387 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26388 (grub_usb_add_hub): Reset connection changed bit.
26389 (attach_root_port): New function.
26390 (grub_usb_root_hub): Likewise.
26391 (poll_nonroot_hub): Likewise.
26392 (grub_usb_poll_devices): Likewise.
26393 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26394 * disk/usbms.c (grub_usbms_open): Use device hooks.
26395 (grub_usbms_iterate) :Poll devices.
26396 (grub_usbms_finddevs): Split into ...
26397 (grub_usbms_attach): ... this ...
26398 (grub_usbms_attach): ... and this.
26399 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26400 in detect_dev.
26401 (grub_usb_interface): New fields attached and detach_hook.
26402 (grub_usb_attach_hook_class): New type.
26403 (grub_usb_attach_desc): New struct.
26404 (grub_usb_register_attach_hook_class): New function.
26405 (grub_usb_unregister_attach_hook_class): Likewise.
26406 (grub_usb_poll_devices): Likewise.
26407 (grub_usb_device_attach): Likewise.
26408 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26409 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26410
26411 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26412
26413 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26414 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26415 delta determination style. Works with most NetBSD partitions too.
26416
26417 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26418
26419 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26420 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26421
26422 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26423
26424 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26425
26426 2010-07-14 Anton Blanchard <anton@samba.org>
26427
26428 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26429 ET_DYN files.
26430
26431 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26432
26433 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26434
26435 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26436
26437 * kern/partition.c (grub_partition_check_containment): New function to
26438 check that a partition is physically contained in a parent. Since
26439 offsets are relative (and non-negative), this reduces to checking that
26440 the partition ends before its parent.
26441 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26442 (grub_partition_iterate): Likewise.
26443 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26444 comments.
26445 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26446 partitions that start before their parent, and add debug printfs.
26447
26448 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26449
26450 * Makefile.in (.SUFFIX): Spell correctly, as ...
26451 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26452 bare module name without `.mod', e.g. `test') tried to invoke a
26453 Modula-2 compiler.
26454
26455 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26456
26457 * README: Point to the Info manual.
26458
26459 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
26460
26461 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26462 2nd superblock position from partition size.
26463
26464 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
26465
26466 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26467 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26468 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26469 outputs.
26470
26471 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26472
26473 Restructure SCSI .id handling.
26474 Reported and tested by: Aleš Nesrsta.
26475
26476 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26477 (grub_atapi_dev): Changed .name to "ata". New field .id.
26478 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26479 (grub_usbms_dev): New field .id.
26480 * disk/scsi.c (grub_scsi_iterate): Generate name.
26481 (grub_scsi_open): Parse name.
26482 * include/grub/scsi.h (grub_make_scsi_id): New function.
26483 (grub_scsi_dev): Change iterate and open to number instead of naming
26484 busses. All users updated.
26485 (grub_scsi): Remove name. Add .bus.
26486
26487 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26488
26489 * commands/help.c (grub_cmd_help): Fix a typo.
26490
26491 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26492
26493 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26494 Reported and tested by: Colin Watson.
26495
26496 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26497
26498 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26499 in this context.
26500
26501 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26502
26503 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26504
26505 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
26506
26507 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26508 indentation.
26509
26510 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26511
26512 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26513 and disk/raid6_recover.c.
26514 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26515 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26516
26517 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26518
26519 * term/gfxterm.c (repaint_schedulded): Rename to ...
26520 (repaint_scheduled): ... this. Update all callers.
26521 (repaint_was_schedulded): Rename to ...
26522 (repaint_was_scheduled): ... this. Update all callers.
26523
26524 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26525
26526 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26527 which we expect to be handled by upper layers.
26528
26529 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26530
26531 * bus/usb/usbhub.c: #include time.h header.
26532
26533 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26534
26535 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26536 entry_name also for entries without stat blocks (e.g. ".."); fixes
26537 corruption of the first entry in a directory.
26538
26539 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26540
26541 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26542 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26543 doesn't work otherwise.
26544
26545 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26546
26547 * docs/grub.texi (Features): Update list of supported file systems.
26548 (GNU/Linux): Update for GRUB 2.
26549 (Serial terminal): Remove mention of --disable-serial, which was a
26550 GRUB Legacy configure option. Update instructions to use
26551 `terminal_input' and `terminal_output' rather than `terminal'.
26552 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26553 configuration' and `Installing GRUB using grub-install'.
26554 (Menu entry editor): Update for GRUB 2.
26555 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26556 Document new -a, -u, and -v options.
26557 (initrd): New section.
26558 (initrd16): New section.
26559 (linux): New section.
26560 (linux16): New section.
26561 (search): The `var' argument to `--set' is optional.
26562 (GRUB only offers a rescue shell): Go into a little more detail on
26563 drive ordering.
26564
26565 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26566
26567 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26568
26569 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26570
26571 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26572 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26573
26574 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26575
26576 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26577 install_prefix, in line with install_dos_part and install_bsd_part.
26578 Add new prefix variable, which is copied to install_prefix after
26579 comparing core.img in memory with the one read from disk in the
26580 no-embedding case, and use that rather than overwriting
26581 install_prefix immediately when installing to a partition.
26582 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26583 Bicakci.
26584
26585 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26586
26587 * configure.ac: Avoid == in test command, it's not portable.
26588 * util/grub.d/30_os-prober.in: Likewise.
26589
26590 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
26591
26592 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26593
26594 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26595
26596 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26597 multiple (top-level) partmaps.
26598
26599 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26600
26601 * util/i386/efi/grub-install.in: Don't use empty grub_device.
26602 Reported by: Tino Keitel.
26603
26604 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26605
26606 Bidi and diacritics support.
26607
26608 * Makefile.in (widthspec.bin): New target.
26609 (widthspec.h): Likewise.
26610 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26611 * autogen.sh: Generate unidata.c.
26612 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26613 * commands/ls.c (grub_ls_list_devices): Likewise.
26614 (grub_ls_list_files): Likewise.
26615 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26616 (grub_mini_cmd_lsmod): Likewise.
26617 * commands/read.c: Likewise.
26618 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26619 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26620 * lib/arg.c (grub_arg_show_help): Likewise.
26621 * lib/crypto.c (grub_password_get): Likewise.
26622 * normal/auth.c (grub_username_get): Likewise.
26623 * normal/misc.c (grub_normal_print_device_info): Likewise.
26624 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26625 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26626 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26627 (normal/charset.c_DEPENDENCIES): New variable.
26628 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26629 (pkglib_MODULES): Remove charset.mod.
26630 (charset_mod_SOURCES): Removed.
26631 (charset_mod_CFLAGS): Likewise.
26632 (charset_mod_LDFLAGS): Likewise.
26633 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26634 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26635 and term/tparm.c.
26636 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26637 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26638 (kernel_img_HEADERS): Add terminfo.h.
26639 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26640 Fill ->font. Reverse ascii bitmaps.
26641 (grub_font_get_xheight): New function.
26642 * font/font.c (grub_font_get_string_width): Moved from here ...
26643 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26644 * font/font.c (grub_font_draw_string): Moved from here ...
26645 * gfxmenu/font.c (grub_font_draw_string): ... here.
26646 * font/font.c (grub_font_dup_glyph): New function.
26647 (grub_font_blit_glyph): Likewise.
26648 (grub_font_blit_glyph_mirror): Likewise.
26649 (blit_comb): Likewise.
26650 (grub_font_construct_dry_run): Likewise.
26651 (grub_font_get_constructed_device_width): Likewise.
26652 (grub_font_construct_glyph): Likewise.
26653 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26654 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26655 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26656 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26657 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26658 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26659 (grub_font_get_xheight): New proto.
26660 (grub_font_get_constructed_device_width): Likewise.
26661 (grub_font_construct_glyph): Likewise.
26662 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26663 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26664 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26665 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26666 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26667 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26668 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26669 (grub_console_getcharwidth): Likewise.
26670 * include/grub/misc.h (grub_xputs): New proto.
26671 (grub_puts): Inlined.
26672 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26673 (grub_normal_get_line_counter): Removed.
26674 (grub_install_newline_hook): Likewise.
26675 (grub_normal_get_char_counter): New proto.
26676 (grub_normal_reset_more): Likewise.
26677 (grub_xputs_normal): Likewise.
26678 * include/grub/powerpc/ieee1275/console.h: Removed.
26679 * include/grub/sparc64/ieee1275/console.h: Likewise.
26680 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26681 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26682 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26683 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26684 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26685 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26686 (grub_term_input): Pass reference to self. All users updated.
26687 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26688 Pass reference to self. New fields normal_color, highlight_color and
26689 data. All users updated.
26690 (grub_putchar): Removed.
26691 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26692 (grub_unicode_estimate_width): New function.
26693 (grub_term_getcharwidth): Add defaults.
26694 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26695 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26696 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26697 (grub_cls): Remove EXPORT_FUNC.
26698 (grub_setcolorstate): Inline.
26699 (grub_newline_hook): Removed.
26700 * include/grub/terminfo.h: Rewritten. All users updated.
26701 * include/grub/unicode.h: New file.
26702 * include/grub/video.h (grub_video_signed_rect): New type.
26703 * kern/emu/console.c (grub_console_highlight_color): Removed.
26704 (grub_console_normal_color): Likewise.
26705 (grub_console_standard_color): Made static.
26706 (grub_ncurses_putchar): Remove mapping.
26707 (grub_ncurses_getcharwidth): Removed.
26708 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26709 (grub_ncurses_setcolor): Removed.
26710 (grub_ncurses_getcolor): Likewise.
26711 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26712 (grub_console_putchar): ... this.
26713 (grub_console_putchar): Handle argument difference.
26714 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26715 console_init_early and console_init_lately.
26716 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26717 * kern/misc.c (grub_puts): Removed.
26718 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26719 (grub_vsnprintf_real): Remove str = NULL support.
26720 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26721 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26722 * kern/term.c (grub_putcode): Renamed to ...
26723 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26724 (grub_putchar): Removed.
26725 (grub_xputs_dumb): New function.
26726 (grub_xputs): New variable.
26727 * lib/charset.c: Move from here ...
26728 * normal/charset.c: ... to here.
26729 (grub_ucs4_to_utf8): New function.
26730 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26731 (join_types): New variable.
26732 (unpack_join): New function.
26733 (bidi_types): New variable.
26734 (unpack_bidi): New function.
26735 (get_bidi_type): Likewise.
26736 (get_join_type): Likewise.
26737 (is_mirrored): Likewise.
26738 (grub_unicode_get_comb_type): Likewise.
26739 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26740 (is_type_after): Likewise.
26741 (grub_unicode_aglomerate_comb): Likewise.
26742 (bidi_line_wrap): Likewise.
26743 (grub_bidi_line_logical_to_visual): Likewise.
26744 (grub_bidi_logical_to_visual): Likewise.
26745 (grub_unicode_mirror_code): Likewise.
26746 (grub_unicode_shape_code): Likewise.
26747 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26748 Don't use grub_putchar.
26749 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26750 (grub_normal_reader_init): Likewise.
26751 (grub_xputs_saved): New variable.
26752 (GRUB_MOD_INIT): Set grub_xputs.
26753 (GRUB_MOD_FINI): Restore grub_xputs.
26754 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26755 (menu_init): Avoid printing gfxmenu error.
26756 (show_menu): Use grub_normal_get_char_counter.
26757 * normal/menu_entry.c (update_screen): Fix out-of-array.
26758 (complete): Avoid NULL dereferencing.
26759 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26760 * normal/menu_text.c (print_spaces): Removed.
26761 (grub_print_ucs4): Likewise.
26762 (grub_print_message_indented): Use grub_print_ucs4.
26763 (print_message): Use grub_putcode.
26764 (print_entry): Hanlde diacritics.
26765 * normal/term.c (term_state): New type.
26766 (grub_more_lines): Removed.
26767 (term_states): New variable.
26768 (grub_normal_line_counter): Renamed to ..
26769 (grub_normal_char_counter): ...this. All users updated.
26770 (grub_normal_get_line_counter): Renamed to ...
26771 (grub_normal_get_char_counter): ... this.
26772 (grub_normal_reset_more): New function.
26773 (process_newline): Removed.
26774 (print_more): New function.
26775 (grub_install_newline_hook): Removed.
26776 (map_code): New function.
26777 (grub_puts_terminal): Use grub_print_ucs4.
26778 (putglyph): New function.
26779 (putcode_real): Likewise.
26780 (grub_putcode): Use putcode_real.
26781 (get_maxwidth): New function.
26782 (get_startwidth): Likewise.
26783 (print_ucs4_terminal): Likewise.
26784 (find_term_state): Likewise.
26785 (put_glyphs_terminal): Likewise.
26786 (print_backlog): Likewise.
26787 (print_ucs4_real): Likewise.
26788 (grub_print_ucs4): Likewise.
26789 (grub_xputs_normal): Likewise.
26790 * term/efi/console.c (grub_console_putchar): Output diacritics.
26791 (grub_console_getcharwidth): Removed.
26792 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26793 * term/gfxterm.c (clear_char): Free chars.
26794 (scroll_up): Avoid leaking memory.
26795 (grub_gfxterm_putchar): Support diacritics.
26796 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26797 * term/i386/pc/console.c (grub_console_term_output): Declare as
26798 GRUB_TERM_CODE_TYPE_VGA.
26799 * term/i386/pc/vga.c (grub_vga_term): Declare as
26800 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26801 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26802 GRUB_TERM_CODE_TYPE_VGA.
26803 * term/i386/vga_common.c (map_char): Removed.
26804 (grub_console_putchar): Likewise.
26805 (grub_console_getcharwidth): Likewise.
26806 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26807 (colors): Reordered to match terminfo.
26808 (grub_ofconsole_normal_color): Removed.
26809 (grub_ofconsole_writeesc): Likewise.
26810 (grub_ofconsole_highlight_color): Likewise.
26811 (grub_ofconsole_getcharwidth): Likewise.
26812 (grub_ofconsole_setcolorstate): Likewise.
26813 (grub_ofconsole_setcolor): Likewise.
26814 (grub_ofconsole_getcolor): Likewise.
26815 (grub_ofconsole_readkey): Renamed to ...
26816 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26817 key.
26818 (grub_ofconsole_checkkey): Removed.
26819 (grub_ofconsole_getkey): Likewise.
26820 (grub_ofconsole_getxy): Likewise.
26821 (grub_ofconsole_gotoxy): Likewise.
26822 (grub_ofconsole_cls): Likewise.
26823 (grub_ofconsole_refresh): Likewise.
26824 (grub_ofconsole_terminfo_input): New struct.
26825 (grub_ofconsole_terminfo_output): Likewise.
26826 (grub_ofconsole_term_input): Use terminfo.
26827 (grub_ofconsole_term_output): Likewise.
26828 (grub_console_init): Split into ...
26829 (grub_console_init_early): ...this and ...
26830 (grub_console_init_lately): ...this. Use terminfo.
26831 (grub_ofconsole_putchar): Renamed to ...
26832 (put): ... this. Remove mapping.
26833 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26834 * term/serial.c: Simplify using terminfo.
26835 (xpos): Removed.
26836 (ypos): Likewise.
26837 (keep_track): Likewise.
26838 (registered): Likewise.
26839 (input_buf): Likewise.
26840 (npending): Likewise.
26841 (serial_translate_key_sequence): Likewise.
26842 (fill_input_buf): Likewise.
26843 (grub_serial_checkkey): Likewise.
26844 (grub_serial_getkey): Likewise.
26845 (grub_serial_getxy): Likewise.
26846 (grub_serial_gotoxy): Likewise.
26847 (grub_serial_putchar): Likewise.
26848 (grub_serial_cls): Likewise.
26849 (grub_serial_setcolorstate): Likewise.
26850 (grub_serial_setcursor): Likewise.
26851 (serial_hw_init): Use serial_hw_fetch.
26852 (grub_serial_terminfo_input): New variable.
26853 (grub_serial_terminfo_output): Likewise.
26854 (grub_serial_term_input): Use terminfo.
26855 (grub_serial_term_output): Likewise.
26856 * term/terminfo.c (putstr): Use put.
26857 (grub_terminfo_all_free): New function
26858 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26859 (grub_terminfo_output_register): New function.
26860 (grub_terminfo_output_unregister): Likewise.
26861 (grub_terminfo_getxy): Likewise.
26862 (grub_terminfo_readkey): Likewise.
26863 (grub_terminfo_checkkey): Likewise.
26864 (grub_terminfo_getkey): Likewise.
26865 (grub_terminfo_input_init): Likewise.
26866 (print_terminfo): Likewise.
26867 (grub_cmd_terminfo): Handle encoding.
26868 (grub_terminfo_gotoxy): Track position.
26869 (grub_terminfo_cls): Likewise.
26870 (grub_terminfo_putchar): Likewise.
26871 (grub_terminfo_setcolorstate): Handle colors
26872 (grub_terminfo_cursor_on): This ...
26873 (grub_terminfo_cursor_off): ... and this merged into ...
26874 (grub_terminfo_setcursor): ... this.
26875 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26876 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26877 * unicode/BidiMirroring.txt: Likewise.
26878 * unicode/UnicodeData.txt: Likewise.
26879 * unicode/COPYING: Likewise.
26880 * util/grub-editenv.c (grub_putchar): Removed.
26881 (grub_xputs_real): New function.
26882 (grub_xputs): New variable.
26883 * util/grub-fstest.c (grub_putchar): Removed.
26884 (grub_xputs_real): New function.
26885 (grub_xputs): New variable.
26886 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26887 (grub_xputs_real): New function.
26888 (grub_xputs): New variable.
26889 * util/grub-probe.c (grub_putchar): Removed.
26890 (grub_xputs_real): New function.
26891 (grub_xputs): New variable.
26892 * util/grub-script-check.c (grub_putchar): Removed.
26893 (grub_xputs_real): New function.
26894 (grub_xputs): New variable.
26895 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26896 (grub_xputs_real): New function.
26897 (grub_xputs): New variable.
26898 * util/import_unicode.py: New file.
26899 * util/grub-mkfont.c (ft_errmsgs): New array.
26900 (grub_glyph_info): Make bitmap a pointer.
26901 (file_formats): New type WIDTH_SPEC.
26902 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26903 (options): Add width-spec.
26904 (help): Likewise.
26905 (add_char): Renamed to ...
26906 (add_glyph): ... this.
26907 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26908 (glyph_replace): New type.
26909 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26910 (add_char): New function.
26911 (add_subst): Likewise.
26912 (process_cursive): Likewise.
26913 (add_font): Handle GSUB.
26914 (write_font_width_spec): New function.
26915 (main): Sort glyphs.
26916 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26917 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26918 * kern/term.c (grub_cls): Moved from here...
26919 * normal/term.c (grub_cls): ... here.
26920
26921 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26922
26923 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26924 suitable for using within the format argument of printf when
26925 converting grub_size_t.
26926 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26927 "x" to convert grub_size_t arguments.
26928
26929 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26930
26931 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26932 too long captions.
26933 (list_get_minimal_size): Take selection box into account.
26934
26935 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26936
26937 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26938 NULL font.
26939
26940 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26941
26942 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26943 devices when iterating over /dev/disk/by-id; they will be handled
26944 later if appropriate, which they aren't always (e.g. LVM).
26945
26946 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26947
26948 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26949 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26950 fails.
26951 (grub_halt): Likewise.
26952 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26953 reset-all fails.
26954 (grub_halt): Don't return, even if all of shut-down, power-off, and
26955 poweroff fail.
26956
26957 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26958
26959 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26960 arguments, not three.
26961
26962 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26963
26964 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26965 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26966 LVM-on-RAID is handled correctly.
26967
26968 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26969
26970 * docs/grub.texi (Changes from GRUB Legacy): New section.
26971 (Future): Fix typo.
26972
26973 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26974
26975 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
26976 grub.d/README accidentally ends up executable for one reason or
26977 another. Ignore it.
26978
26979 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26980
26981 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
26982 (gpt_partition_map_iterate): Support non-512B sectors.
26983
26984 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26985
26986 * kern/efi/init.c (grub_efi_init): Disable watchdog.
26987 Tested by: Seth Goldberg.
26988
26989 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26990
26991 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
26992 Properly align mbi.
26993 Reported by: Seth Goldberg.
26994
26995 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
26996
26997 * util/grub-mkrescue.in: Avoid module duplication.
26998
26999 2010-07-01 Sean Finney <seanius@seanius.net>
27000
27001 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27002
27003 2010-07-01 Sean Finney <seanius@seanius.net>
27004
27005 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27006
27007 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 * disk/lvm.c (grub_lvm_checkvalue): New function.
27010 (grub_lvm_check_flag): Likewise.
27011
27012 2010-07-01 Robert Millan <rmh@gnu.org>
27013
27014 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27015 Support 'p' as partition separator on kernel of FreeBSD (used
27016 with GPT labels).
27017 (grub_util_biosdisk_get_grub_dev): Likewise.
27018
27019 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27020
27021 Yeeloong firmware port.
27022
27023 * boot/mips/yeeloong/fwstart.S: New file.
27024 * bus/cs5536.c (gpiodump): New const.
27025 (set_io_space): New function.
27026 (set_iod): Likewise.
27027 (set_p2d): Likewise.
27028 (grub_cs5536_init_geode): Likewise.
27029 * commands/mips/yeeloong/lsspd.c: New file.
27030 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27031 (serial_mod_SOURCES): New variable.
27032 (serial_mod_CFLAGS): Likewise.
27033 (serial_mod_LDFLAGS): Likewise.
27034 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27035 term/terminfo.c and term/tparm.c.
27036 (pkglib_IMAGES): Add fwstart.img.
27037 (fwstart_img_SOURCES): New variable.
27038 (fwstart_img_CFLAGS): Likewise.
27039 (fwstart_img_ASFLAGS): Likewise.
27040 (fwstart_img_LDFLAGS): Likewise.
27041 (fwstart_img_FORMAT): Likewise.
27042 (pkglib_MODULES): Add lsspd.mod.
27043 (lsspd_mod_SOURCES): New variable.
27044 (lsspd_mod_CFLAGS): Likewise.
27045 (lsspd_mod_LDFLAGS): Likewise.
27046 (pkglib_MODULES): Add halt.mod.
27047 (halt_mod_SOURCES): New variable.
27048 (halt_mod_CFLAGS): Likewise.
27049 (halt_mod_LDFLAGS): Likewise.
27050 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27051 (serial_mod_SOURCES): Removed.
27052 (serial_mod_CFLAGS): Likewise.
27053 (serial_mod_LDFLAGS): Likewise.
27054 * disk/ata.c (check_device): New function.
27055 (grub_ata_device_initialize): Use check_device.
27056 (grub_ata_iterate): Recheck devices.
27057 (grub_ata_open): Likewise.
27058 (grub_atapi_iterate): Likewise.
27059 (grub_atapi_open): Likewise.
27060 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27061 (GRUB_ATA_CH1_PORT1): Likewise.
27062 (GRUB_ATA_CH0_PORT2): Likewise.
27063 (GRUB_ATA_CH1_PORT2): Likewise.
27064 * include/grub/mips/loongson.h: New file.
27065 * include/grub/mips/yeeloong/ec.h: Likewise.
27066 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27067 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27068 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27069 * include/grub/misc.h (grub_halt): Declare as noreturn.
27070 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27071 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27072 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27073 (UART_ENABLE_DTRRTS): Likewise.
27074 (UART_ENABLE_MODEM): Removed.
27075 (UART_ENABLE_OUT2): New const.
27076 * include/grub/term.h (grub_term_register_input_active): New function.
27077 (grub_term_register_output_active): Likewise.
27078 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27079 argument.
27080 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27081 (init_pci): New function.
27082 (grub_machine_init): Execute platform init when firmware. Init serial.
27083 (grub_halt): Implement.
27084 (grub_exit): Likewise.
27085 (grub_reboot): Likewise.
27086 * term/serial.c (serial_hw_init): Update macros.
27087 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27088 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27089 (image_targets): New target mipsel-yeeloong-flash.
27090 (generate_image): Support IMAGE_YEELOONG_FLASH.
27091 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27092 (grub_video_sm712_setup): Init card.
27093 (grub_video_sm712_set_palette): Removed.
27094 * video/sm712_init.c: New file.
27095
27096 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
27097
27098 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27099 PATH when running help2man and then run it on the unadorned
27100 executable names, rather than passing $(builddir)/* paths to
27101 help2man. This avoids the build directory ending up in generated
27102 manual pages.
27103
27104 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27105
27106 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27107 to avoid accidents when debugging with 'sh -x'.
27108 * util/grub-mkrescue.in: Likewise.
27109 * util/grub.d/00_header.in: Likewise.
27110 * util/grub.d/10_hurd.in: Likewise.
27111 * util/grub.d/10_kfreebsd.in: Likewise.
27112 * util/grub.d/10_linux.in: Likewise.
27113 * util/grub.d/10_netbsd.in: Likewise.
27114 * util/grub.d/10_windows.in: Likewise.
27115 * util/grub.d/20_linux_xen.in: Likewise.
27116 * util/grub.d/30_os-prober.in: Likewise.
27117 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27118
27119 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27120
27121 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27122 last character in the buffer.
27123 Reported by: Vladimir Serbinenko.
27124
27125 2010-06-29 Robert Millan <rmh@gnu.org>
27126
27127 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27128 (Command-line and menu entry commands): Document `badram' command.
27129
27130 2010-06-28 Robert Millan <rmh@gnu.org>
27131
27132 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27133 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27134 command using ${GRUB_BADRAM} as parameter.
27135
27136 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27137
27138 * docs/grub.texi (Device map): New section.
27139 (Themes): New section (stub).
27140 * Makefile.in (docs/grub.info): The info documentation now builds
27141 without errors. Make sure it stays that way.
27142
27143 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27144
27145 Use normal parser for menu entries.
27146 Reported by: Thomas Frauendorfer
27147
27148 * include/grub/parser.h (grub_parser_execute): Don't export.
27149 * normal/menu.c (grub_menu_execute_entry_real): New function.
27150 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27151
27152 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27153
27154 * docs/grub.texi (Embedded configuration): New section (replacing
27155 old "Preset Menu" stub).
27156 (Images): New section.
27157 (configfile): Note that any menu entries defined in `file' are shown
27158 immediately.
27159
27160 2010-06-28 Josh Triplett <josh@joshtriplett.org>
27161
27162 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27163
27164 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27165
27166 * util/grub-install.in: Add --debug-image= option.
27167
27168 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27169
27170 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27171 possible on Linux.
27172
27173 * util/deviceiter.c (check_device): Rename to ...
27174 (check_device_readable_unique): ... this. Update all callers.
27175 Maintain and check a list of which devices (by canonicalized name)
27176 have already been seen.
27177 (clear_seen_devices): New function.
27178 (compare_file_names) [__linux__]: New function.
27179 (grub_util_iterate_devices): Clear the list of seen devices on exit
27180 and (just in case) on entry.
27181 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27182 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27183 seen-devices list, superseded by general code in check_device.
27184
27185 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27186
27187 * commands/cat.c (options): New variable.
27188 (grub_cmd_cat): Parse options. If the --dos option is given, print
27189 DOS-style "\r\n" line endings as simple newlines (Debian bug
27190 #586358).
27191 (GRUB_MOD_INIT): Use extcmd.
27192 (GRUB_MOD_FINI): Likewise.
27193 * docs/grub.texi (cat): Document --dos.
27194
27195 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27196
27197 XEN with Linux grub-mkconfig support.
27198
27199 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27200 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27201 GRUB_CMDLINE_XEN_DEFAULT.
27202 * util/grub.d/20_linux_xen.in: New file.
27203
27204 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27205
27206 Initialise VGA video on qemu ourselves.
27207
27208 * boot/i386/qemu/boot.S: Don't call 0xc000.
27209 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27210 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27211 (kernel_img_HEADERS): Add pci.h.
27212 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27213 * configure.ac: Force unifont on qemu and yeeloong.
27214 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27215 (grub_vga_palette_write): Use correct register.
27216 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27217 Call grub_qemu_init_cirrus.
27218 * kern/i386/qemu/init.c: New file.
27219 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27220
27221 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27222
27223 2010-06-26 Pavel Roskin <proski@gnu.org>
27224
27225 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27226 13.
27227
27228 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27229
27230 * docs/grub.texi (Simple configuration): Explain that
27231 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27232 set to `true' to disable their respective recovery entries, not
27233 merely set.
27234
27235 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27236
27237 Make the `source' command slightly faster.
27238
27239 * normal/main.c (grub_normal_execute): Don't re-read list files when
27240 nested.
27241
27242 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27243
27244 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27245 field position and mask size to red fields from mode_info, not
27246 green.
27247 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27248 Remove redundant tag->common.framebuffer_type assignment.
27249 Reported by: Seth Goldberg.
27250
27251 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27252
27253 Sync up other versions of the Linux loader with Robert Millan's
27254 change of 2010-01-09, "Make loader output a bit more user-friendly".
27255
27256 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27257 grub_dprintf().
27258 (grub_cmd_linux): Likewise.
27259 (grub_cmd_initrd): Likewise.
27260 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27261 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27262
27263 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
27264
27265 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27266 larger than MEMORY_MAP_SIZE.
27267
27268 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27269
27270 Fix parallel build.
27271
27272 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27273 dependency.
27274 * script/parser.y: #include grub_script.tab.h header.
27275
27276 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27277
27278 Support >3GiB and <16MiB RAM in i386-qemu.
27279
27280 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27281 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27282 (grub_lower_mem): Removed.
27283 (grub_upper_mem): Likewise.
27284 (mem_size): Made static.
27285 (above_4g): New variable.
27286 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27287 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27288 support.
27289
27290 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 Cirrus 5446 and Bochs video cards support.
27293
27294 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27295 video_bochs.mod
27296 (video_cirrus_mod_SOURCES): New variable.
27297 (video_cirrus_mod_CFLAGS): Likewise.
27298 (video_cirrus_mod_LDFLAGS): Likewise.
27299 (video_bochs_mod_SOURCES): Likewise.
27300 (video_bochs_mod_CFLAGS): Likewise.
27301 (video_bochs_mod_LDFLAGS): Likewise.
27302 * include/grub/vga.h: New file.
27303 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27304 (grub_video_fb_set_page_t): New type.
27305 (grub_video_fb_setup): New prototype.
27306 (grub_video_fb_swap_buffers): Likewise.
27307 (grub_video_fb_get_info_and_fini): Likewise.
27308 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27309 (CRTC_DATA_PORT): Likewise.
27310 (CRTC_CURSOR): Likewise.
27311 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27312 (CRTC_CURSOR_ADDR_LOW): Likewise.
27313 (CRTC_CURSOR_DISABLE): Likewise.
27314 (update_cursor): Use grub_vga_cr_write.
27315 (grub_vga_text_setcursor): Likewise.
27316 * video/bochs.c: New file.
27317 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27318 (palette): Likewise.
27319 (palette_size): Likewise.
27320 (framebuffer): New variable.
27321 (grub_video_fb_init): Use 'framebuffer'.
27322 (grub_video_fb_fini): Likewise.
27323 (grub_video_fb_get_info): Likewise.
27324 (grub_video_fb_get_palette): Likewise.
27325 (grub_video_fb_set_palette): Likewise.
27326 (grub_video_fb_set_viewport): Likewise.
27327 (grub_video_fb_get_viewport): Likewise.
27328 (grub_video_fb_map_color): Likewise.
27329 (grub_video_fb_map_rgb): Likewise.
27330 (grub_video_fb_map_rgba): Likewise.
27331 (grub_video_fb_unmap_color): Likewise.
27332 (grub_video_fb_unmap_color_int): Likewise.
27333 (grub_video_fb_fill_rect): Likewise.
27334 (grub_video_fb_blit_bitmap): Likewise.
27335 (grub_video_fb_blit_render_target): Likewise.
27336 (grub_video_fb_scroll): Likewise.
27337 (grub_video_fb_create_render_target): Likewise.
27338 (grub_video_fb_doublebuf_blit_init): Likewise.
27339 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27340 (doublebuf_pageflipping_update_screen): New function.
27341 (doublebuf_pageflipping_init): Likewise.
27342 (grub_video_fb_setup): Likewise.
27343 (grub_video_fb_swap_buffers): Likewise.
27344 (grub_video_fb_get_info_and_fini): Likewise.
27345 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27346 All users updated.
27347 (doublebuf_pageflipping_commit): Restructured into ...
27348 (doublebuf_pageflipping_set_page): ... this.
27349 (doublebuf_pageflipping_update_screen): Removed.
27350 (doublebuf_pageflipping_init): Likewise.
27351 (double_buffering_init): Likewise.
27352 (grub_video_vbe_setup): Use grub_video_fb_setup.
27353 (grub_video_vbe_swap_buffers): Removed.
27354 (grub_video_vbe_set_active_render_target): Likewise.
27355 (grub_video_vbe_get_active_render_target): Likewise.
27356 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27357 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27358 grub_video_fb_set_active_render_target and
27359 grub_video_fb_get_active_render_target.
27360 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27361 (SEQUENCER_DATA_PORT): Likewise.
27362 (MAP_MASK_REGISTER): Likewise.
27363 (CRTC_ADDR_PORT): Likewise.
27364 (CRTC_DATA_PORT): Likewise.
27365 (START_ADDR_HIGH_REGISTER): Likewise.
27366 (START_ADDR_LOW_REGISTER): Likewise.
27367 (GRAPHICS_ADDR_PORT): Likewise.
27368 (GRAPHICS_DATA_PORT): Likewise.
27369 (READ_MAP_REGISTER): Likewise.
27370 (INPUT_STATUS1_REGISTER): Likewise.
27371 (INPUT_STATUS1_VERTR_BIT): Likewise.
27372 (get_map_mask): Use grub_vga_sr_read.
27373 (set_map_mask): Use grub_vga_sr_write.
27374 (set_read_map): Use grub_vga_gr_write.
27375 (set_start_address): Use grub_vga_cr_write.
27376 * video/sm712.c (framebuffer): Remove leftover fields.
27377
27378 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
27379
27380 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27381 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27382 instead. Replace the gfxterm backend check with a check that
27383 ${GRUB_PREFIX}/video.lst is non-empty.
27384 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27385 again.
27386 (load_video): New generated function. Call it before loading
27387 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27388 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27389 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27390 * docs/grub.texi (Simple configuration): Document
27391 GRUB_VIDEO_BACKEND.
27392
27393 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27394
27395 Use video functions in linux and xnu loaders.
27396
27397 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27398 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27399 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27400 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27401 loader/i386/pc/linux.c.
27402 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27403 (find_line_len): Removed.
27404 (find_framebuf): Likewise.
27405 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27406 * loader/i386/efi/xnu.c: Removed.
27407 * loader/i386/pc/xnu.c: Moved from here...
27408 * loader/i386/xnu.c: ...here.
27409
27410 Enable priorities in video drivers.
27411
27412 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27413 (grub_video_adapter): New field prio.
27414 (grub_video_register): Respect prio when inserting.
27415 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27416 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27417 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27418 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27419 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27420 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27421 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27422
27423 Fix SDL driver ID.
27424
27425 * include/grub/video.h (grub_video_driver_id_t): New value
27426 GRUB_VIDEO_DRIVER_SDL.
27427 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27428
27429 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27430
27431 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27432 argument to printf.
27433 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27434
27435 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27436
27437 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27438 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27439
27440 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27441
27442 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27443 directly, and recommend grub-install instead.
27444 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27445
27446 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27447
27448 Fix i386-pc prefix handling with nested partitions (Debian bug
27449 #585068). Note that the case where the core image is booted using
27450 multiboot and relocated from its original location still requires
27451 more work.
27452
27453 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27454 with "(,", fill the boot drive in between those two characters, but
27455 expect that a full partition specification including partition map
27456 names will follow.
27457 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27458 specified, write a prefix without the drive name but including a
27459 full partition specification.
27460
27461 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
27462
27463 * util/grub-mkconfig.in: Ignore non-option arguments, for
27464 compatibility with older versions (before 2010-06-12) which did the
27465 same. In particular, this makes it easier to ship an update-grub
27466 wrapper which is compatible with that used with GRUB Legacy (Debian
27467 bug #586056).
27468
27469 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27470
27471 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27472 for manual page generation.
27473
27474 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27475
27476 * po/POTFILES: Remove leftover commands/handler.c.
27477
27478 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27479
27480 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27481 left this script non-functional.
27482
27483 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27484
27485 * docs/man/grub-emu.h2m: New file.
27486
27487 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
27488
27489 * docs/grub.texi (Commands): Document reduced command set in rescue
27490 mode.
27491 (cpuid): New section.
27492
27493 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27494
27495 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27496 new partition naming style.
27497 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27498
27499 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27500
27501 Add "-o grub.iso" like cmdline options support.
27502
27503 * util/grub-install.in: Improve cmdline option parsing.
27504 * util/grub-mkconfig.in: Likewise.
27505 * util/grub-mkrescue.in: Likewise.
27506 * util/grub-reboot.in: Likewise.
27507 * util/grub-set-default.in: Likewise.
27508 * util/i386/efi/grub-install.in: Likewise.
27509 * util/ieee1275/grub-install.in: Likewise.
27510 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27511
27512 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27513
27514 * .bzrignore: Ignore 41_custom.
27515
27516 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27517
27518 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27519
27520 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27521
27522 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27523 prototype declarations.
27524
27525 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27526 generating fs, partmap, and video lists.
27527 * include/grub/fs.h (grub_fs_register): Omit prototype if
27528 GRUB_LST_GENERATOR is defined.
27529 * include/grub/partition.h (grub_partition_map_register): Likewise.
27530 * include/grub/video.h (grub_video_register): Likewise.
27531
27532 2010-06-12 Javier Martín <lordhabbit@gmail.com>
27533
27534 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27535
27536 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27537
27538 * util/grub-mkrescue.in: Support --xorriso argument.
27539
27540 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27541
27542 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27543 Suggested by: Thomas Schmitt.
27544
27545 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27546
27547 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27548 Suggested by: Thomas Schmitt.
27549
27550 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27551
27552 custom.cfg support.
27553
27554 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27555 * util/grub.d/41_custom.in: New file.
27556
27557 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27558
27559 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27560 been merged back into normal.
27561
27562 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27563
27564 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27565 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27566
27567 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27568
27569 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27570 when generating manual pages.
27571 * docs/man/grub-bin2h.h2m: New file.
27572 * docs/man/grub-editenv.h2m: New file.
27573 * docs/man/grub-fstest.h2m: New file.
27574 * docs/man/grub-install.h2m: New file.
27575 * docs/man/grub-macho2img.h2m: New file.
27576 * docs/man/grub-mkconfig.h2m: New file.
27577 * docs/man/grub-mkdevicemap.h2m: New file.
27578 * docs/man/grub-mkfont.h2m: New file.
27579 * docs/man/grub-mkimage.h2m: New file.
27580 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27581 * docs/man/grub-mkrelpath.h2m: New file.
27582 * docs/man/grub-mkrescue.h2m: New file.
27583 * docs/man/grub-ofpathname.h2m: New file.
27584 * docs/man/grub-pe2elf.h2m: New file.
27585 * docs/man/grub-probe.h2m: New file.
27586 * docs/man/grub-reboot.h2m: New file.
27587 * docs/man/grub-script-check.h2m: New file.
27588 * docs/man/grub-set-default.h2m: New file.
27589 * docs/man/grub-setup.h2m: New file.
27590
27591 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27592
27593 Use FOR_* macros instead of *_iterate whenever possible.
27594
27595 * commands/handler.c: Removed.
27596 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27597 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27598 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27599 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27600 (grub_probe_SOURCES): Remove kern/parser.c.
27601 (util/grub-script-check.c_DEPENDENCIES): Removed.
27602 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27603 and grub_script_check_init.c.
27604 (grub_script_check_init.lst): Removed.
27605 (grub_script_check_init.h): Likewise.
27606 (grub_script_check_init.c): Likewise.
27607 (pkglib_MODULES): Remove handler.mod and sh.mod.
27608 (handler_mod_SOURCES): Removed.
27609 (handler_mod_CFLAGS): Likewise.
27610 (handler_mod_LDFLAGS): Likewise.
27611 (normal_mod_SOURCES): Remove normal/handler.c.
27612 Add script/main.c, script/script.c, script/execute.c,
27613 script/function.c, script/lexer.c, grub_script.tab.c
27614 and grub_script.yy.c.
27615 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27616 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27617 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27618 (grub_setup_SOURCES): Remove kern/parser.c.
27619 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27620 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27621 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27622 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27623 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27624 (grub_setup_SOURCES): Remove kern/parser.c.
27625 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27626 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27627 * include/grub/command.h (grub_command_iterate): Removed.
27628 (FOR_COMMANDS): New macro.
27629 * include/grub/dl.h (grub_dl): New member next.
27630 (grub_dl_iterate): Removed.
27631 (grub_dl_head): New variable declaration.
27632 (FOR_DL_MODULES): New macro.
27633 * include/grub/fs.h: Include list.h.
27634 (grub_fs): Make next first element.
27635 (grub_fs_list): New variable declaration.
27636 (grub_fs_register): Make inline.
27637 (grub_fs_unregister): Likewise.
27638 (grub_fs_iterate): Removed.
27639 (FOR_FILESYSTEMS): New macro.
27640 * include/grub/handler.h: Removed.
27641 * include/grub/list.h (grub_list_hook_t): Removed.
27642 (grub_list_test_t): Likewise.
27643 (grub_list_pop): Likewise.
27644 (grub_list_iterate): Likewise.
27645 (grub_list_insert): Likewise.
27646 (FOR_LIST_ELEMENTS): New macro.
27647 * include/grub/parser.h (grub_parser_class): Removed.
27648 (grub_parser_register): Likewise.
27649 (grub_parser_unregister): Likewise.
27650 (grub_parser_get_current): Likewise.
27651 (grub_parser_set_current): Likewise.
27652 (grub_register_rescue_parser): Likewise.
27653 (grub_rescue_parse_line): New function.
27654 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27655 * include/grub/script_sh.h (grub_script_function_list): New variable
27656 declaration.
27657 (FOR_SCRIPT_FUNCTIONS): New macro.
27658 (grub_script_function_iterate): Removed.
27659 (grub_normal_parse_line): New prototype.
27660 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27661 (FOR_DISABLED_TERM_INPUTS): Likewise.
27662 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27663 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27664 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27665 element.
27666 (grub_video_register): Inline.
27667 (grub_video_unregister): Likewise.
27668 (grub_video_adapter_list): New variable declaration.
27669 (grub_video_iterate): Removed.
27670 (FOR_VIDEO_ADAPTERS): New macro.
27671 * kern/dl.c (grub_dl_list): Removed. All users updated.
27672 (grub_dl_iterate): Removed.
27673 * kern/fs.c (grub_fs_list): Make global.
27674 (grub_fs_register): Removed.
27675 (grub_fs_unregister): Likewise.
27676 (grub_fs_iterate): Likewise.
27677 * kern/handler.c: Removed.
27678 * kern/list.c (grub_list_pop): Removed.
27679 (grub_list_iterate): Likewise.
27680 (grub_list_insert): Likewise.
27681 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27682 (grub_prio_list_insert): Don't use grub_list_insert.
27683 * kern/main.c (grub_register_rescue_parser): Don't call
27684 grub_register_rescue_parser.
27685 * kern/parser.c (grub_parser_class): Removed.
27686 (grub_parser_execute): Use grub_rescue_parse_line.
27687 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27688 (grub_rescue_parser): Removed.
27689 (grub_register_rescue_parser): Likewise.
27690 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27691 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27692 (grub_auth_check_authentication): Likewise.
27693 * normal/completion.c (iterate_command): Removed.
27694 (grub_normal_do_completion): Use FOR_COMMANDS.
27695 * normal/handler.c: Removed.
27696 * normal/main.c (read_config_file): Remove parser changing.
27697 (grub_normal_execute): Don't call read_handler_list.
27698 (grub_normal_read_line_real): Statically allocate prompt.
27699 (grub_cmdline_run): Use grub_normal_parse_line.
27700 (GRUB_MOD_FINI): Don't call free_handler_list.
27701 * normal/menu_entry.c (run): Likewise.
27702 * script/function.c (grub_script_function_list): Make global.
27703 (grub_script_function_iterate): Removed.
27704 * script/main.c (grub_normal_parse_line): Make global.
27705 (grub_sh_parser): Removed.
27706 (GRUB_MOD_INIT): Likewise.
27707 (GRUB_MOD_FINI): Likewise.
27708 * tests/lib/functional_test.c (grub_functional_test): Use
27709 FOR_LIST_ELEMENTS.
27710 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27711 (grub_test_run): Use FOR_LIST_ELEMENTS.
27712 * tests/lib/unit_test.c (main): Likewise.
27713 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27714 grub_list_pop.
27715 * util/grub-fstest.c (grub_term_input_class): Removed.
27716 (grub_term_output_class): Likewise.
27717 * util/grub-probe.c: Likewise.
27718 * util/i386/pc/grub-setup.c: Likewise.
27719 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27720 * util/grub-script-check.c (main): Don't call grub_init_all and
27721 grub_fini_all.
27722 * video/video.c (grub_video_adapter_list): Make global.
27723 (grub_video_register): Removed.
27724 (grub_video_unregister): Likewise.
27725 (grub_video_iterate): Likewise.
27726
27727 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27728
27729 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27730 reported by Henrique Ferreiro.
27731
27732 2010-06-09 Robert Millan <rmh@gnu.org>
27733
27734 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27735 ones, when both are available.
27736
27737 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27738
27739 Make --version uniform and avoid hard-coded program name.
27740
27741 * util/grub-mkimage.c (main): Use `program_name' instead of
27742 hard-coded string.
27743 * util/i386/pc/grub-setup.c (main): Likewise.
27744 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27745 * util/grub-install.in: Save the basename of $0 in $self, and use the
27746 latter in informational messages. Use the same format for --version
27747 as the binary programs.
27748 * util/grub-mkconfig.in: Likewise.
27749 * util/grub-mkrescue.in: Likewise.
27750 * util/grub-reboot.in: Likewise.
27751 * util/grub-set-default.in: Likewise.
27752 * util/i386/efi/grub-install.in: Likewise.
27753 * util/ieee1275/grub-install.in: Likewise.
27754 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27755
27756 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27757
27758 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27759 embedding area. Use <= instead of == when checking for non-emptiness.
27760
27761 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27762
27763 * configure.ac: Add `.' to the directories searched for unifont.
27764
27765 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27766
27767 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27768 grub_script.yy.h.
27769
27770 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27771
27772 * docs/grub.texi (History): Expand to cover GRUB 2.
27773 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27774 commands, not `terminal'.
27775 (serial): Likewise.
27776 (terminal_input): New section.
27777 (terminal_output): New section.
27778 (uppermem): New section (stub).
27779 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27780
27781 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27782
27783 * docs/grub.texi (Security): Menu entries are unrestricted by
27784 default, not restricted to superusers as I had previously thought.
27785 Reword to account for this.
27786
27787 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27788
27789 * kern/emu/misc.c (device_mapper_null_log): New function.
27790 (grub_device_mapper_supported): New function.
27791 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27792 prototype.
27793 * kern/emu/hostdisk.c (find_partition_start): Check whether
27794 device-mapper is supported before trying to use it.
27795 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27796
27797 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27798
27799 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27800 (File name syntax): Likewise.
27801 (help): --all is no longer supported in GRUB 2. Be more precise
27802 about pattern matching.
27803
27804 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27805
27806 * normal/completion.c (grub_normal_do_completion): When completing
27807 arguments to "set" and the current word contains an equals sign,
27808 skip to after the equals sign before starting completion.
27809
27810 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27811
27812 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27813
27814 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27815
27816 * docs/grub.texi (Network): New section.
27817 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27818 `(nd)' as in GRUB Legacy.
27819 (pxe_unload): New section.
27820
27821 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27822
27823 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27824 in the rescue shell, so recommend using `set' instead. Thanks,
27825 Jordan Uggla.
27826
27827 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27828
27829 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27830 (password): New section.
27831 (password_pbkdf2): New section.
27832 (search): New section.
27833 (Security): New section.
27834 (Troubleshooting): New section, currently very incomplete.
27835 (Invoking grub-mkpasswd-pbkdf2): New section.
27836 (Internals): New section, currently very incomplete.
27837
27838 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27839
27840 * util/grub.d/00_header.in: Add some more quoting (of
27841 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27842 work again.
27843 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27844
27845 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27846
27847 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27848 to `count', fixing variable shadowing that broke the -c option.
27849
27850 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
27851
27852 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27853 in case they contain spaces.
27854
27855 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27856
27857 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27858 "part_" to partmap module names, in line with grub-install.
27859 Reported by: Jindřich Makovička (Debian bug #584426).
27860
27861 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27862
27863 * util/grub-mkimage.c: Make target-related error messages slightly
27864 more helpful; -O talks about "format". Explicitly point to the use
27865 of -O if no target is specified.
27866 Reported by: Didier Raboud (Debian bug #584415).
27867
27868 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
27869
27870 * INSTALL: Document several build requirements for optional features
27871 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27872
27873 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27874
27875 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27876 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27877 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27878
27879 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27880
27881 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27882 Thanks to Jordan Uggla for spotting this.
27883
27884 2010-06-02 Aleš Nesrsta <starous@volny.cz>
27885
27886 Finally make USB usable.
27887
27888 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27889 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27890 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27891 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27892 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27893 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27894 (GRUB_OHCI_FSMPS): Likewise.
27895 (GRUB_OHCI_PERIODIC_START): Likewise.
27896 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27897 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27898 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27899 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27900 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27901 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27902 (grub_ohci_transaction): Likewise.
27903 (grub_ohci_transfer): Improve condition detection algorithms.
27904 Handle toggle property. Program the transactions correctly.
27905 Improve error handling. Various important fixups.
27906 (grub_ohci_portstatus): Put register writes in right order.
27907 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27908 (grub_uhci_transfer): Don't show "failed" message on success.
27909 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27910 array.
27911 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27912 determine its size.
27913 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27914 before initialization is completed. Use IN direction for empty
27915 transfers. Use last_trans and compute toggle.
27916 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27917 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27918 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27919 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27920 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27921 (grub_usb_device): Increase toggle to 256.
27922 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27923 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27924 GRUB_USBMS_SUBCLASS_SFF8070.
27925 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27926 (grub_scsi_inquiry): New member page and alloc_length.
27927 (grub_scsi_request_sense): New structure.
27928 (grub_scsi_request_sense_data): Likewise.
27929 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27930 control.
27931 * disk/scsi.c (grub_scsi_request_sense): New function.
27932 (grub_scsi_test_unit_ready): Likewise.
27933 (grub_scsi_inquiry): Fill new fields.
27934 (grub_scsi_read_capacity): Likewise.
27935 (grub_scsi_read10): Add request sense at the end.
27936 (grub_scsi_read12): Likewise.
27937 (grub_scsi_write10): Likewise.
27938 (grub_scsi_write12): Likewise.
27939 (grub_scsi_open): Add Test Unit Ready.
27940 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27941 Support additional subclasses. Con't clear halt yet. Activate the
27942 proper config. Calculate LUNs correctly.
27943 (grub_usbms_transfer): Various important fixups.
27944
27945 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27946
27947 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27948 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27949 (grub_ohci_fini_hw): New function.
27950 (grub_ohci_restore_hw): Likewise.
27951 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27952 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27953 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27954
27955 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27956
27957 Dedicated DMA allocations.
27958
27959 * bus/pci.c (grub_memalign_dma32): New function
27960 (grub_dma_free): Likewise.
27961 (grub_dma_get_virt): Likewise.
27962 (grub_dma_get_phys): Likewise.
27963 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27964 (grub_ohci_pci_iter): Use dma32_alloc.
27965 (grub_ohci_transfer): Likewise.
27966 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27967 (grub_usb_bulk_readwrite): Likewise.
27968 * include/grub/pci.h: Add declarations.
27969
27970 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27971
27972 CS5536 support.
27973
27974 * bus/cs5536.c: New file.
27975 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
27976 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
27977 (cs5536_mod_SOURCES): New variable.
27978 (cs5536_mod_CFLAGS): Likewise.
27979 (cs5536_mod_LDFLAGS): Likewise.
27980 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
27981 machine/pci.h.
27982 (kernel_img_SOURCES): Add bus/cs5536.c.
27983 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
27984 usb_keyboard.mod.
27985 (usb_mod_SOURCES): New variable.
27986 (usb_mod_CFLAGS): New variable.
27987 (usb_mod_LDFLAGS): New variable.
27988 (usbtest_mod_SOURCES): New variable.
27989 (usbtest_mod_CFLAGS): New variable.
27990 (usbtest_mod_LDFLAGS): New variable.
27991 (ohci_mod_SOURCES): New variable.
27992 (ohci_mod_CFLAGS): New variable.
27993 (ohci_mod_LDFLAGS): New variable.
27994 (usbms_mod_SOURCES): New variable.
27995 (usbms_mod_CFLAGS): New variable.
27996 (usbms_mod_LDFLAGS): New variable.
27997 (usb_keyboard_mod_SOURCES): New variable.
27998 (usb_keyboard_mod_CFLAGS): New variable.
27999 (usb_keyboard_mod_LDFLAGS): New variable.
28000 * include/grub/smbus.h: New file.
28001 * include/grub/cs5536.h: New file.
28002
28003 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28004
28005 * util/grub.d/00_header.in: Add safety check to make sure that
28006 ${locale_dir} exists before trying to probe it.
28007
28008 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28009
28010 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28011 per the GNU Coding Standards; this is now too obscure to be worth
28012 documenting.
28013 (QNX): Likewise.
28014 (chainloader): Remove cross-reference to `SCO UnixWare'.
28015
28016 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28017
28018 * docs/grub.texi (Chain-loading): New section.
28019 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28020 adjusted for GRUB 2.
28021 (SCO UnixWare): Likewise.
28022 (QNX): Likewise.
28023 (chainloader): Add reference to `Block list syntax'.
28024 (drivemap): New section.
28025 (parttool): New section.
28026
28027 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28028
28029 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28030 the grub shell'.
28031 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28032 (Installing GRUB using grub-install): Remove reference to the grub
28033 shell; mention `grub-mkimage' and `grub-setup' instead.
28034 (Invoking grub-install): Likewise.
28035 (Interface): Add reference to `Menu entry editor'.
28036 (serial): Remove `--device' option.
28037
28038 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28039
28040 * docs/grub.texi (Configuration): New section, documenting
28041 configuration file generation using grub-mkconfig. I've left a slot
28042 for documenting the full shell scripting format but have not yet
28043 started on writing that up.
28044 (Invoking grub-mkconfig): New section.
28045
28046 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28047
28048 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28049 (GNU GRUB manual): Likewise.
28050 (General commands): Update description of `terminfo' for GRUB 2.
28051
28052 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28053
28054 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28055 (GRUB_MOD_INIT): Fix capitalisation.
28056 * docs/grub.texi (Command-line and menu entry commands): Document
28057 gettext and gptsync commands.
28058
28059 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28060
28061 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28062 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28063
28064 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
28065
28066 Add btrfs probing support, currently only in the single-device case.
28067
28068 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28069 function.
28070 (grub_guess_root_device): Call find_root_device_from_mountinfo
28071 before looking in /dev.
28072
28073 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28074
28075 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28076 GRUB_DISK_SIZE_UNKNOWN.
28077 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28078
28079 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
28080
28081 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28082 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28083 corrupted or not synced properly.
28084
28085 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28086
28087 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28088 Reported by: Seth Goldberg.
28089
28090 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28091
28092 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28093 addition of dest.
28094 Reported by: Seth Goldberg.
28095
28096 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28097
28098 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28099 Reported by: Seth Goldberg.
28100
28101 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28102
28103 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28104 64-bit address as signed on MIPS.
28105
28106 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28107
28108 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28109 to the empty string.
28110
28111 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28112
28113 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28114
28115 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28116 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28117 * kern/misc.c (__enable_execute_stack): Disable on
28118 GRUB_MACHINE_EMU.
28119
28120 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28121
28122 Make grub-probe work with symbolic links under /dev/mapper as well
28123 as with real block devices. The Linux world seems to be (at best)
28124 in transition here, and GRUB shouldn't get caught in the middle.
28125
28126 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28127 /dev/mapper.
28128
28129 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28130
28131 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28132 input files (in which case exit zero).
28133
28134 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28135
28136 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28137 return NULL for various reasons even if it has a maximum-length
28138 buffer: for example, there might be a symlink loop, or the path
28139 might exceed PATH_MAX. If this happens, return NULL.
28140
28141 2010-05-27 Robert Millan <rmh@gnu.org>
28142
28143 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28144 partmap module to handle cross-partmap setups.
28145 Reported by Orestes Mas. Gràcies!
28146
28147 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28148
28149 * util/grub-mkrescue.in: Initialise override_dir rather than
28150 assuming that it's unset or empty in the environment.
28151
28152 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28153
28154 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28155 variable index into p_index to suppress a warning with -Wshadow.
28156
28157 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28158
28159 * INSTALL: Added flex >= 2.5.35 requirement.
28160
28161 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28162
28163 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28164
28165 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 cmostest support.
28168
28169 * commands/i386/cmostest.c: New file.
28170 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28171 (cmostest_mod_SOURCES): New variable.
28172 (cmostest_mod_CFLAGS): Likewise.
28173 (cmostest_mod_LDFLAGS): Likewise.
28174 * conf/i386-pc.rmk: Likewise.
28175 * docs/grub.texi (Vendor power-on keys): New section.
28176 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28177 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28178 and GRUB_BUTTON_CMOS_ADDRESS.
28179 * util/grub.d/00_header.in: Handle powering-on by separate button.
28180
28181 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28182
28183 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28184 Removed drawing_scrollbar argument. All users updated
28185 Fixes #29792.
28186 Reported by Jo Shields
28187
28188 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28189
28190 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28191 buffer since gfxterm handles double repaint.
28192
28193 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28194
28195 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28196 * term/gfxterm.c (real_scroll): Likewise.
28197
28198 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28199
28200 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28201 before calling BIOS.
28202
28203 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28204
28205 * include/grub/i18n.h: Always enable grub_gettext.
28206
28207 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28208
28209 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28210 partition naming style.
28211
28212 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
28213
28214 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28215 not the first option.
28216
28217 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28218
28219 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28220
28221 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28222
28223 * util/misc.c: Move inclusion of <limits.h> to ...
28224 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28225
28226 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28227
28228 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28229 Fix merge error in NetBSD code.
28230 (find_partition_start) [__NetBSD__]: Likewise.
28231
28232 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28233
28234 Fix grub-mkrescue usage unit testing.
28235
28236 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28237
28238 2010-05-18 Christian Franke <franke@computer.org>
28239
28240 * util/grub.d/10_windows.in: Use path names instead of
28241 drive letters to prevent warning from Cygwin 1.7.
28242 Add drivemap command to menuentry if needed.
28243
28244 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28245
28246 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28247 gnumach and gnumach.gz.
28248
28249 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28250
28251 * include/grub/i18n.h (gettext): Inline instead of using #define.
28252 (grub_gettext): Likewise.
28253 (_): Likewise.
28254
28255 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28256
28257 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28258 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28259 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28260 (main): Add a slash after pkglibdirroot.
28261
28262 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28263
28264 * util/grub-install.in: Add missing "in" keyword.
28265
28266 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28267
28268 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28269 Reported by: Seth Goldberg.
28270
28271 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28272
28273 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28274
28275 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28276
28277 * configure.ac: Check for Linux device-mapper support.
28278
28279 * util/hostdisk.c (device_is_mapped): New function.
28280 (find_partition_start): New function, partly broken out from
28281 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28282 device-mapper support added.
28283 (linux_find_partition): Use find_partition_start.
28284 (convert_system_partition_to_system_disk): Add `st' argument.
28285 Support Linux /dev/mapper/* devices if device-mapper support is
28286 available; only DM-RAID devices are understood at present.
28287 (find_system_device): Add `st' argument. Pass it to
28288 convert_system_partition_to_system_disk.
28289 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28290 find_system_device and convert_system_partition_to_system_disk. Use
28291 find_partition_start.
28292
28293 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28294 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28295 * util/deviceiter.c [__linux__]: Define MINOR.
28296 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28297 * util/mkdevicemap.c (grub_putchar): New function.
28298 (grub_getkey): New function.
28299 (grub_refresh): New function.
28300 (main): Set debug=all if -v -v is used.
28301
28302 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28303
28304 Fix build with non-GNU libcs.
28305
28306 * util/misc.c (canonicalize_file_name): Move to ...
28307 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28308 grub_make_system_path_relative_to_its_root.
28309
28310 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28311
28312 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28313 we handle finding grub-mkimage. Default to finding grub-mkimage in
28314 ${bindir} with program_transform_name applied, and provide a
28315 --grub-mkimage option to override this.
28316
28317 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28318
28319 Remove grub-mkisofs.
28320
28321 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28322 (grub_mkisofs_SOURCES): Removed.
28323 (grub_mkisofs_CFLAGS): Removed.
28324 * util/mkisofs/defaults.h: Removed.
28325 * util/mkisofs/eltorito.c: Likewise.
28326 * util/mkisofs/exclude.h: Likewise.
28327 * util/mkisofs/hash.c: Likewise.
28328 * util/mkisofs/include/: Likewise.
28329 * util/mkisofs/include/fctldefs.h: Likewise.
28330 * util/mkisofs/include/mconfig.h: Likewise.
28331 * util/mkisofs/include/prototyp.h: Likewise.
28332 * util/mkisofs/include/statdefs.h: Likewise.
28333 * util/mkisofs/iso9660.h: Likewise.
28334 * util/mkisofs/joliet.c: Likewise.
28335 * util/mkisofs/match.c: Likewise.
28336 * util/mkisofs/match.h: Likewise.
28337 * util/mkisofs/mkisofs.c: Likewise.
28338 * util/mkisofs/mkisofs.h: Likewise.
28339 * util/mkisofs/msdos_partition.h: Likewise.
28340 * util/mkisofs/multi.c: Likewise.
28341 * util/mkisofs/name.c: Likewise.
28342 * util/mkisofs/rock.c: Likewise.
28343 * util/mkisofs/tree.c: Likewise.
28344 * util/mkisofs/write.c: Likewise.
28345
28346 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28347
28348 Unify grub-mkimage accross platforms.
28349
28350 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28351 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28352 (grub_mkelfimage_SOURCES): Removed.
28353 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28354 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28355 (bin_UTILITIES): Add grub-mkimage.
28356 (grub_mkimage_SOURCES): New variable.
28357 (kernel_img_HEADERS): Remove machine/kernel.h.
28358 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28359 (pkglib_PROGRAMS): Add kernel.img.
28360 (kernel_img_HEADERS): Add machine/kernel.h.
28361 (kernel_img_FORMAT): Removed.
28362 (bin_UTILITIES): Remove grub-mkimage.
28363 (grub_mkimage_SOURCES): Removed.
28364 (grub_mkimage_CFLAGS): Likewise.
28365 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28366 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28367 (pkglib_PROGRAMS): Add kernel.img.
28368 (bin_UTILITIES): Remove grub-mkimage.
28369 (grub_mkimage_SOURCES): Removed.
28370 (grub_mkimage_CFLAGS): Likewise.
28371 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28372 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28373 (pkglib_PROGRAMS): Add kernel.img.
28374 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28375 (pkglib_PROGRAMS): Add kernel.img.
28376 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28377 (grub_mkimage_SOURCES): Removed.
28378 (grub_mkimage_CFLAGS): Likewise.
28379 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28380 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28381 (pkglib_PROGRAMS): Add kernel.img.
28382 (bin_UTILITIES): Remove grub-mkimage.
28383 (grub_mkimage_SOURCES): Removed.
28384 (grub_mkimage_CFLAGS): Likewise.
28385 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28386 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28387 (grub_mkimage_SOURCES): Removed.
28388 (grub_mkimage_CFLAGS): Likewise.
28389 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28390 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28391 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28392 (grub_pe32_optional_header): ... this.
28393 (grub_pe64_optional_header): ... and this. All users updated.
28394 (GRUB_PE32_PE32_MAGIC): Split into ..
28395 (GRUB_PE32_PE32_MAGIC): .. this.
28396 (GRUB_PE32_PE64_MAGIC): .. and this.
28397 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28398 * include/grub/elf.h (PT_GNU_STACK): New definition.
28399 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28400 * include/grub/i386/efi/kernel.h: Likewise.
28401 * include/grub/i386/kernel.h: Likewise.
28402 * include/grub/i386/pc/kernel.h: Likewise.
28403 * include/grub/i386/qemu/boot.h: Likewise.
28404 * include/grub/mips/kernel.h: Likewise.
28405 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28406 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28407 * include/grub/powerpc/kernel.h: Likewise.
28408 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28409 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28410 * include/grub/sparc64/kernel.h: Likewise.
28411 * include/grub/x86_64/efi/kernel.h: Likewise.
28412 * include/grub/x86_64/kernel.h: Likewise.
28413 * include/grub/offsets.h: New file.
28414 * include/grub/kernel.h (grub_module_info): Split into ...
28415 (grub_module_info32): ... this.
28416 (grub_module_info64): ... and this.
28417 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28418 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28419 (grub_boot_blocklist): Moved from here ...
28420 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28421 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28422 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28423 * include/grub/types.h (grub_target_to_host16): Removed.
28424 (grub_target_to_host32): Likewise.
28425 (grub_target_to_host64): Likewise.
28426 (grub_host_to_target16): Likewise.
28427 (grub_host_to_target32): Likewise.
28428 (grub_host_to_target64): Likewise.
28429 (grub_host_to_target_addr): Likewise.
28430
28431 Support grub-mkrescue for efi, coreboot and qemu.
28432
28433 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28434 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28435 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28436 * util/grub-mkrawimage.c: Moved from here ...
28437 * util/grub-mkimage.c: ... here. All users updated.
28438 (ALIGN_ADDR): Use image_target.
28439 (TARGET_NO_FIELD): New const.
28440 (image_target_desc): New type.
28441 (image_targets): New array.
28442 (grub_target_to_host64): Use image_target.
28443 (grub_target_to_host32): Likewise.
28444 (grub_target_to_host16): Likewise.
28445 (grub_host_to_target64): Likewise.
28446 (grub_host_to_target32): Likewise.
28447 (grub_host_to_target16): Likewise.
28448 (grub_host_to_target_addr): Likewise.
28449 (generate_image): Handle multiimage.
28450 (main): Require -O parameter. All users updated.
28451 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28452 util/efi/grub-mkimage.c
28453 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28454 New option --rom-directory.
28455 Use xorriso.
28456 * util/i386/efi/grub-mkimage.c: Removed.
28457 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28458 (grub_target_to_host32): Likewise.
28459 (grub_target_to_host64): Likewise.
28460 (grub_host_to_target16): Likewise.
28461 (grub_host_to_target32): Likewise.
28462 (grub_host_to_target64): Likewise.
28463 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28464 (grub_target_to_host32): Likewise.
28465 (grub_target_to_host64): Likewise.
28466 (grub_host_to_target16): Likewise.
28467 (grub_host_to_target32): Likewise.
28468 (grub_host_to_target64): Likewise.
28469
28470 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28471
28472 Source tree is reorganized for emu build.
28473
28474 * include/grub/util/console.h: Move from here...
28475 * include/grub/emu/console.h: ...to here.
28476 * include/grub/util/getroot.h: Move from here...
28477 * include/grub/emu/getroot.h: ...to here.
28478 * include/grub/util/hostdisk.h: Move from here...
28479 * include/grub/emu/hostdisk.h: ...to here.
28480 * util/console.c: Move from here...
28481 * kern/emu/console.c: ...to here.
28482 * util/getroot.c: Move from here...
28483 * kern/emu/getroot.c: ...to here.
28484 * util/grub-emu.c: Move from here...
28485 * kern/emu/main.c: ...to here.
28486 * util/hostdisk.c: Move from here...
28487 * kern/emu/hostdisk.c: ...to here.
28488 * util/hostfs.c: Move from here...
28489 * kern/emu/hostfs.c: ...to here.
28490 * util/mm.c: Move from here...
28491 * kern/emu/mm.c: ...to here.
28492 * util/pci.c: Move from here...
28493 * bus/emu/pci.c: ...to here.
28494 * util/sdl.c: Move from here...
28495 * video/emu/sdl.c: ...to here.
28496 * util/time.c: Move from here...
28497 * kern/emu/time.c: ...to here.
28498 * util/usb.c: Move from here...
28499 * bus/usb/emu/usb.c: ...to here.
28500
28501 * include/grub/emu/misc.h: New header for grub-emu functions.
28502 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28503
28504 * conf/any-emu.rmk: Rule updates for above renames.
28505 * conf/common.rmk: Likewise.
28506 * conf/i386-pc.rmk: Likewise.
28507 * conf/i386-qemu.rmk: Likewise.
28508 * conf/mips.rmk: Likewise.
28509 * conf/sparc64-ieee1275.rmk: Likewise.
28510 * conf/x86-efi.rmk: Likewise.
28511
28512 * disk/lvm.h: #include updates for above renames.
28513 * util/grub-mkrelpath.c: Likewise.
28514 * util/grub-probe.c: Likewise.
28515 * util/i386/pc/grub-setup.c: Likewise.
28516 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28517 * kern/emu/console.c: Likewise.
28518 * kern/emu/getroot.c: Likewise.
28519 * kern/emu/hostdisk.c: Likewise.
28520 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28521
28522 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28523 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28524 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28525 * util/misc.c: Remove grub-emu functions.
28526
28527 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28528
28529 Fix gfxmenu crash.
28530 Reported by: Thorsten Grützmacher.
28531
28532 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28533 timeout hook.
28534 (circprog_set_property): Register and unregister timeout hook.
28535 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28536 (label_destroy): Free template. and unregister hook.
28537 (label_set_state): New function.
28538 (label_set_property): Handle templates and hooks.
28539 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28540 timeout hook.
28541 (progress_bar_set_property): Register and unregister timeout hook.
28542 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28543 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28544 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28545 (update_timeout_visit): Removed.
28546 (update_timeouts): New function.
28547 (redraw_timeouts): Likewise.
28548 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28549 (grub_gfxmenu_clear_timeout): Likewise.
28550 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28551 (grub_gfxmenu_timeout_notify): Likewise.
28552 (grub_gfxmenu_timeout_notifications): New external variable.
28553 (grub_gfxmenu_timeout_register): New function.
28554 (grub_gfxmenu_timeout_unregister): Likewise.
28555
28556 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28557
28558 Transform (broken) vga terminal into (working) vga video driver.
28559
28560 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28561 video/i386/pc/vga.c.
28562 * include/grub/video.h (grub_video_driver_id):
28563 Add GRUB_VIDEO_DRIVER_VGA.
28564 * term/i386/pc/vga.c: Renamed to ...
28565 * video/i386/pc/vga.c: ...this
28566 (DEBUG_VGA): Removed.
28567 (CHAR_WIDTH): Likewise.
28568 (CHAR_HEIGHT): Likewise.
28569 (TEXT_WIDTH): Likewise.
28570 (TEXT_HEIGHT): Likewise.
28571 (DEFAULT_FG_COLOR): Likewise.
28572 (DEFAULT_BG_COLOR): Likewise.
28573 (colored_char): Likewise.
28574 (xpos): Likewise.
28575 (ypos): Likewise.
28576 (cursor_state): Likewise.
28577 (fg_color): Likewise.
28578 (bg_color): Likewise.
28579 (text_buf): Likewise.
28580 (page): Likewise.
28581 (font): Likewise.
28582 (framebuffer): New variable.
28583 (set_read_map): Disabled.
28584 (setup): New variable.
28585 (is_target): Likewise.
28586 (grub_vga_mod_init): Likewise.
28587 (grub_vga_mod_fini): Likewise.
28588 (check_vga_mem): Likewise.
28589 (write_char): Likewise.
28590 (write_cursor): Likewise.
28591 (scroll_up): Likewise.
28592 (grub_vga_putchar): Likewise.
28593 (grub_vga_getcharwidth): Likewise.
28594 (grub_vga_getwh): Likewise.
28595 (grub_vga_getxy): Likewise.
28596 (grub_vga_gotoxy): Likewise.
28597 (grub_vga_cls): Likewise.
28598 (grub_vga_setcolorstate): Likewise.
28599 (grub_vga_setcursor): Likewise.
28600 (grub_video_vga_init): New function.
28601 (grub_video_vga_setup): Likewise.
28602 (grub_video_vga_fini): Likewise.
28603 (update_target): Likewise.
28604 (grub_video_vga_blit_bitmap): Likewise.
28605 (grub_video_vga_blit_render_target): Likewise.
28606 (grub_video_vga_set_active_render_target): Likewise.
28607 (grub_video_vga_get_active_render_target): Likewise.
28608 (grub_video_vga_swap_buffers): Likewise.
28609 (grub_video_vga_set_palette): Likewise.
28610 (grub_video_vga_get_info_and_fini): Likewise.
28611 (grub_vga_term): Removed.
28612 (grub_video_vga_adapter): New variable.
28613 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28614 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28615
28616 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28617
28618 * video/readers/jpeg.c: Indented.
28619
28620 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28621
28622 Various jpeg cleanups.
28623
28624 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28625 (grub_jpeg_decode_quan_table): Use sizeof.
28626 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28627
28628 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
28629
28630 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28631 tables. Ignore non-last ac bit.
28632 (grub_jpeg_decode_quan_table): Likewise.
28633
28634 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28635
28636 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28637 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28638 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28639 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28640 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28641 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28642
28643 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28644
28645 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28646 error.
28647
28648 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28649
28650 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28651
28652 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28653
28654 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28655 condition.
28656
28657 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28658
28659 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28660 part.
28661
28662 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28663
28664 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28665 pointers.
28666
28667 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28668
28669 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28670
28671 2010-05-01 Christian Franke <franke@computer.org>
28672
28673 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28674 Remove broken Cygwin path conversion.
28675 * util/misc.c: [__CYGWIN__] Add include and define.
28676 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28677 for Cygwin 1.7.
28678 (make_system_path_relative_to_its_root): Simplify loop, replace early
28679 return by break.
28680 [__CYGWIN__] Add conversion to win32 path.
28681 Include "/" case in trailing slash removal.
28682
28683 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28684
28685 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28686 Reported by: Seth Goldberg
28687
28688 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28689
28690 * commands/help.c (grub_cmd_help): Fix a typo.
28691 Reported by: Seth Goldberg
28692
28693 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28694
28695 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28696 name and add N_.
28697 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28698 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28699 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28700 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28701 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28702 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28703 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28704 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28705 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28706 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28707 * normal/context.c (GRUB_MOD_INIT): Likewise.
28708 * normal/main.c (GRUB_MOD_INIT): Likewise.
28709 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28710 * term/serial.c (GRUB_MOD_INIT): Likewise.
28711 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28712
28713 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28714
28715 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28716 extra == 0.
28717
28718 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28719
28720 * commands/iorw.c: New file.
28721 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28722 (iorw_mod_SOURCES): New variable.
28723 (iorw_mod_CFLAGS): Likewise.
28724 (iorw_mod_LDFLAGS): Likewise.
28725
28726 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28727
28728 Hotkey support
28729
28730 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28731 * normal/main.c (hotkey_aliases): New variable.
28732 (grub_normal_add_menu_entry): Parse "--hotkey".
28733 * normal/menu_text.c (run_menu): Handle hotkeys.
28734
28735 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28736
28737 * kern/i386/coreboot/init.c (grub_machine_init): Call
28738 grub_machine_mmap_init on qemu.
28739
28740 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28741
28742 * boot/i386/qemu/boot.S: Add a missing .code16.
28743
28744 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28745
28746 Use LBIO on coreboot.
28747
28748 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28749 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28750 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28751 New declaration.
28752 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28753 grub_machine_mmap_init on coreboot.
28754 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28755 GRUB_LINUXBIOS_MEMBER_LINK.
28756 (grub_machine_mmap_iterate): Fix declaration.
28757 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28758
28759 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28760
28761 Split coreboot and multiboot ports.
28762
28763 * conf/i386-multiboot.rmk: New file.
28764 * configure.ac: Add multiboot port.
28765 * include/grub/i386/multiboot/boot.h: New file.
28766 * include/grub/i386/multiboot/console.h: Likewise.
28767 * include/grub/i386/multiboot/init.h: Likewise.
28768 * include/grub/i386/multiboot/kernel.h: Likewise.
28769 * include/grub/i386/multiboot/loader.h: Likewise.
28770 * include/grub/i386/multiboot/memory.h: Likewise.
28771 * include/grub/i386/multiboot/serial.h: Likewise.
28772 * include/grub/i386/multiboot/time.h: Likewise.
28773 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28774 * loader/multiboot.c: Likewise.
28775 * loader/multiboot_mbi2.c: Likewise.
28776 * util/grub-mkrescue.in: Generate multiboot rescue.
28777
28778 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28779
28780 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28781
28782 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28783
28784 Merge handling of input and output terminals. Fix a hang.
28785
28786 * commands/terminal.c (abstract_terminal): New struct.
28787 (handle_command): New function. Based on grub_cmd_terminal_input.
28788 (grub_cmd_terminal_input): Use handle_command.
28789 (grub_cmd_terminal_output): Use handle_command.
28790
28791 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28792
28793 Fix comment handling.
28794
28795 * tests/grub_script_comments.in: New testcase.
28796 * conf/tests.rmk: Rules for new testcase.
28797 * script/yylex.l: Updated flex rules.
28798
28799 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28800
28801 * docs/grub.texi (play): Document that zero pitches produce rests.
28802 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28803 if argc is 1.
28804
28805 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28806
28807 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28808 autogen issues.
28809
28810 2010-04-26 Christian Franke <franke@computer.org>
28811
28812 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28813 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28814 (grub_get_prefix): Remove function.
28815 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28816 make_system_path_relative_to_its_root ().
28817 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28818
28819 2010-04-24 Christian Franke <franke@computer.org>
28820
28821 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28822 (kernel_img_LDFLAGS): Remove -static-libgcc.
28823
28824 2010-04-24 Christian Franke <franke@computer.org>
28825
28826 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28827 and CHECK_END_SYMBOL if grub-emu is built.
28828 Unset TARGET_OBJ2ELF if grub-emu is built
28829 without module support.
28830
28831 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
28832
28833 Nilfs2 support.
28834
28835 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28836 (grub_fstest_SOURCES): Likewise.
28837 (pkglib_MODULES): Add nilfs2.mod.
28838 (nilfs2_mod_SOURCES): New variable.
28839 (nilfs2_mod_CFLAGS): Likewise.
28840 (nilfs2_mod_LDFLAGS): Likewise.
28841 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28842 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28843 * fs/nilfs2.c: New file.
28844
28845 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28846
28847 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28848 is not supported.
28849
28850 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28851
28852 Add grub-mkconfig support for NetBSD.
28853
28854 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28855 * util/grub-mkconfig.in: export new NetBSD specific variables.
28856 * po/POTFILES-shell: added 10_netbsd.in.
28857 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28858
28859 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28860
28861 Fix emu build with grub-emu-pci and grub-emu-modules.
28862
28863 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28864 functions.
28865 * include/grub/libpciaccess.h: New file.
28866 * conf/any-emu.rmk: Update kernel headers for emu build.
28867
28868 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28869
28870 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28871
28872 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28875
28876 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28877
28878 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28879 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28880 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28881 util/ieee1275/ofpath.c.
28882 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28883 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28884 * include/grub/sparc64/ieee1275/boot.h
28885 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28886 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28887 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28888 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28889 const char *.
28890 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28891 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28892 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28893 install.
28894
28895 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28896
28897 * util/grub-mkconfig.in: Corrected two == equality tests.
28898 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28899 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28900 expect a number appended to it.
28901 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28902 expects a number appended to it.
28903
28904 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28905
28906 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28907
28908 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28909
28910 * util/hostdisk.c (make_device_name): Change to new partition naming.
28911
28912 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28913
28914 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28915
28916 2010-04-17 Christian Franke <franke@computer.org>
28917
28918 * Makefile.in: Add missing localedir setting.
28919
28920 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
28921
28922 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28923 mistake in r2156. Noticed by Anthony Fok.
28924
28925 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28926 @localedir@.
28927 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28928
28929 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28930
28931 Fix a spurious, uninitialized variable warning.
28932
28933 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28934 Initialize variable, shdr.
28935 (grub_freebsd_load_elfmodule): Likewise.
28936 (grub_freebsd_load_elf_meta): Likewise.
28937
28938 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28939
28940 Fix for escaped dollar in double quoted strings.
28941
28942 * script/yylex.l: Updated flex rules.
28943 * conf/tests.rmk: Rule for new testcase.
28944 * tests/grub_script_dollar.in: New testcase.
28945
28946 2010-04-13 Carles Pina i Estany <carles@pina.cat>
28947 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
28948
28949 Enclose all translated strings in grub.cfg in single quotes, and
28950 escape them appropriately (Ubuntu bug #552921).
28951
28952 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28953 * util/grub.d/10_hurd.in: Use it.
28954 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28955 * util/grub.d/10_linux.in (linux_entry): Likewise.
28956
28957 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28958
28959 Fix cygwin compilation.
28960
28961 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28962 * include/grub/misc.h (__register_frame_info)
28963 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28964 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28965 * kern/misc.c (__register_frame_info)
28966 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28967 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28968
28969 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28970
28971 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28972
28973 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28974
28975 Unify libgcc processing.
28976
28977 * Makefile.in (kernel_img_LDFLAGS): New variable.
28978 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
28979 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
28980 overwriting.
28981 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
28982 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
28983 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
28984 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
28985 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
28986 overwriting. Remove -lgcc and -static-libgcc
28987 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
28988 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28989 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
28990 (kernel_img_LDFLAGS): Append instead of overwriting.
28991 Remove -lgcc and -static-libgcc
28992 * conf/sparc64-ieee1275.rmk: Likewise.
28993 * include/grub/powerpc/libgcc.h: Move to ...
28994 * include/grub/libgcc.h: .. this.
28995 * include/grub/libgcc.h: Don't export most of the function on x86.
28996 (__bswapsi2): New export.
28997 (__bswapdi2): Likewise.
28998 * include/grub/mips/libgcc.h: Removed.
28999 * include/grub/sparc64/libgcc.h: Likewise.
29000
29001 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29002
29003 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29004 disk_info_msg (conflicts with gettexting into languages with cases).
29005
29006 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29007
29008 Add grub-probe support for NetBSD.
29009
29010 * util/getroot.c (find_root_device): Convert block device to
29011 character device on NetBSD.
29012 * util/probe.c (probe): Require character device on NetBSD.
29013 * util/hostdisk.c: NetBSD specific headers.
29014 (configure_device_driver): new function to tune device driver
29015 parameters (currently only for NetBSD floppy driver).
29016 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29017 via disklabel ioctl).
29018 (open_device): call configure_device_driver on NetBSD.
29019 (convert_system_partition_to_system_disk): NetBSD specific code.
29020 (device_is_wholedisk): Likewise.
29021 (grub_util_biosdisk_get_grub_dev): Likewise.
29022 (make_device_name): Fixed a typo in bsd_part_str.
29023 * configure.ac: check for opendisk() and getrawpartition() on
29024 NetBSD and set LIBUTIL.
29025 * Makefile.in: add LIBUTIL to LIBS.
29026
29027 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29028
29029 Documentation fix.
29030
29031 * util/grub-script-check.c: Better help message.
29032
29033 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29034
29035 Fix FreeBSD build.
29036
29037 * configure.ac: Flex version check.
29038 * conf/common.rmk: Add -Wno-error to sh.mod.
29039 * script/yylex.l: Remove all #pragma.
29040
29041 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29042
29043 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29044 prototype.
29045 Reported by: Seth Goldberg.
29046
29047 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29048
29049 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29050 Rename "module" to "module2".
29051 Reported by: Seth Goldberg.
29052
29053 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29054
29055 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29056 EXPORT_FUNC.
29057 Reported by: Seth Goldberg.
29058
29059 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29060
29061 * lib/posix_wrap/locale.h: Add missing file.
29062 Reported by: Seth Goldberg.
29063
29064 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29065
29066 grub-emu module load support.
29067
29068 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29069 NO_DYNAMIC_MODULES switched to this.
29070 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29071 (CFLAGS): Likewise.
29072 * conf/any-emu.rmk: Generate symlist.
29073 (kernel_img_HEADERS): Add util/datetime.h.
29074 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29075 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29076 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29077 kern/$(target_cpu)/cache.S.
29078 * configure.ac (grub-emu-modules): New option.
29079 * genmk.rb: Handle multiple source lists.
29080 * include/grub/sdl.h: New file.
29081 * include/grub/libusb.h: Likewise.
29082 * util/grub-emu.c (main): Hanle (host) root.
29083 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29084 GRUB_ERR_UNKNOWN_DEVICE.
29085 * util/misc.c: Move mm functions to ...
29086 * util/mm.c: ... here. All users updated.
29087
29088 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29089
29090 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29091 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29092 missing files.
29093 (maintainer-clean): Remove libgcrypt-grub.
29094
29095 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29096
29097 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29098
29099 2010-04-09 EFI Coder <eficoder@hotmail.com>
29100
29101 * normal/menu_text.c (print_message): Clean up the message and show
29102 the Fn information when on EFI
29103 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29104
29105 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29106
29107 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29108 All users updated.
29109 * normal/crypto.c (read_crypto_list): Likewise.
29110 * normal/dyncmd.c (read_command_list): Likewise.
29111 * normal/term.c (read_terminal_list): Likewise.
29112 * normal/main.c (read_lists): Use explicit prefix.
29113 (read_lists_hook): Use read_lists.
29114 (grub_normal_execute): Likewise.
29115
29116 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29117
29118 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29119 Reported by: Thomas Schmitt.
29120 Add -no-emul-boot to grub-mkisofs parameters.
29121
29122 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29123
29124 * font/font.c: Indented.
29125
29126 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29127
29128 Elif support to GRUB script (by Deepak Vankadaru).
29129
29130 * tests/grub_script_if.in: New testcase.
29131 * conf/tests.rmk: Rule for new testcase.
29132 * script/parser.y: Grammar rules for elif.
29133
29134 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29135
29136 While and until loops support to GRUB script.
29137
29138 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29139 (grub_script_create_cmdwhile): New function prototype.
29140 (grub_script_execute_cmdwhile): New function prototype.
29141 * script/execute.c (grub_script_execute_cmdwhile): New function.
29142 * script/parser.y (command): New commands.
29143 (whilecmd): New grammar rule.
29144 (untilcmd): New grammar rule.
29145 * script/script.c (grub_script_create_cmdwhile): New function.
29146 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29147 function.
29148
29149 * tests/grub_script_while1.in: New testcase.
29150 * conf/tests.rmk: Rule for new testcase.
29151
29152 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29153
29154 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29155 as *.jpg.
29156
29157 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
29158
29159 GRUB_BACKGROUND support.
29160
29161 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29162 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29163
29164 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29165
29166 Load fonts and modules for gfxmenu in grub-mkconfig.
29167 Idea by: Mario Vazquez
29168
29169 * util/grub.d/00_header.in: Load pf2 and image modules.
29170
29171 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29172
29173 grub-mkconfig multiple terminal support.
29174
29175 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29176 * util/grub.d/00_header.in: Likewise.
29177
29178 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29179
29180 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29181 we use cd $(srcdir).
29182
29183 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
29184
29185 * util/grub.d/10_linux.in: Only use the first word of
29186 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29187 spaces in GRUB_DISTRIBUTOR.
29188 * util/grub.d/10_kfreebsd.in: Likewise.
29189 * util/grub.d/10_hurd.in: Likewise.
29190
29191 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29192
29193 Fix unit testing framework for Qemu 0.12.
29194
29195 * tests/util/grub-shell.in: Remove -serial stdio option.
29196
29197 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 POSIX header file wrappers.
29200
29201 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29202 equivalents.
29203 * lib/posix_wrap/ctype.h: Likewise.
29204 * lib/posix_wrap/errno.h: Likewise.
29205 * lib/posix_wrap/langinfo.h: Likewise.
29206 * lib/posix_wrap/limits.h: Likewise.
29207 * lib/posix_wrap/localcharset.h: Likewise.
29208 * lib/posix_wrap/stdint.h: Likewise.
29209 * lib/posix_wrap/stdio.h: Likewise.
29210 * lib/posix_wrap/stdlib.h: Likewise.
29211 * lib/posix_wrap/string.h: Likewise.
29212 * lib/posix_wrap/sys/types.h: Likewise.
29213 * lib/posix_wrap/unistd.h: Likewise.
29214 * lib/posix_wrap/wchar.h: Likewise.
29215 * lib/posix_wrap/wctype.h: Likewise.
29216 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29217 (grub_script.yy.h): Likewise.
29218 * script/yylex.l: Remove POSIX emulation #defines.
29219 * Makefile.in (POSIX_CFLAGS): New variable.
29220 (GNULIB_UTIL_CFLAGS): Likewise.
29221
29222 Regexp support.
29223
29224 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29225 (regexp_mod_SOURCES): New variable.
29226 (regexp_mod_CFLAGS): Likewise.
29227 (regexp_mod_LDFLAGS): Likewise.
29228 * commands/regexp.c: New file.
29229 * gnulib/regcomp.c: New file. Imported from gnulib.
29230 * gnulib/regex.c: Likewise.
29231 * gnulib/regex_internal.c: Likewise.
29232 * gnulib/regex_internal.h: Likewise.
29233 * gnulib/regexec.c: Likewise.
29234 * gnulib/regex.h: Likewise.
29235
29236 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29237
29238 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29239 unsupported video mode types.
29240
29241 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29242
29243 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29244
29245 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29246
29247 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29248 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29249
29250 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 Remove unused grub_vga_get_font.
29253
29254 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29255 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29256
29257 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29258
29259 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29260 * include/grub/misc.h: Likewise.
29261
29262 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29263
29264 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29265 for which failure is fatal.
29266
29267 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29268
29269 * util/grub-install.in: Use mkdir -p to create grub directory.
29270 * util/i386/efi/grub-install.in: Likewise.
29271 * util/ieee1275/grub-install.in: Likewise.
29272
29273 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29274
29275 * Makefile.in (LEX): new variable.
29276
29277 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29278
29279 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29280 `=' and added double quotes on operands of this equality test.
29281
29282 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29283
29284 * Makefile.in (uninstall): Remove a leftover debug echo.
29285 Reported by: Grégoire Sutre
29286
29287 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29288
29289 MIPS multiboot2 support.
29290
29291 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29292 (multiboot2_mod_SOURCES): New variable.
29293 (multiboot2_mod_CFLAGS): Likewise.
29294 (multiboot2_mod_LDFLAGS): Likewise.
29295 (multiboot2_mod_ASFLAGS): Likewise.
29296 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29297 definition.
29298 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29299 (MULTIBOOT_MBI_REGISTER): Likewise.
29300 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29301 (MULTIBOOT_ELF32_MACHINE): Likewise.
29302 (MULTIBOOT_ELF64_MACHINE): Likewise.
29303 * include/grub/mips/multiboot.h: New file.
29304 * include/grub/video.h (grub_video_driver_id): New type
29305 GRUB_VIDEO_DRIVER_SM712.
29306 (grub_video_get_info_and_fini): Export.
29307 (grub_video_get_palette): Likewise.
29308 (grub_video_get_driver_id): Likewise.
29309 * include/multiboot2.h: Resynced with spec.
29310 * loader/i386/multiboot.c: Moved from here ...
29311 * loader/multiboot.c: ... here. All users updated.
29312 (grub_multiboot_boot): Use platform-specific macros.
29313 * loader/i386/multiboot_elfxx.c: Moved from here ...
29314 * loader/multiboot_elfxx.c: ... here. All users updated.
29315 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29316 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29317 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29318
29319 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29320
29321 Import gnulib argp module.
29322
29323 * gnulib/argp-ba.c: New file.
29324 * gnulib/argp-eexst.c: Likewise.
29325 * gnulib/argp-fmtstream.c: Likewise.
29326 * gnulib/argp-fmtstream.h: Likewise.
29327 * gnulib/argp-fs-xinl.c: Likewise.
29328 * gnulib/argp-help.c: Likewise.
29329 * gnulib/argp-namefrob.h: Likewise.
29330 * gnulib/argp-parse.c: Likewise.
29331 * gnulib/argp-pin.c: Likewise.
29332 * gnulib/argp-pv.c: Likewise.
29333 * gnulib/argp-pvh.c: Likewise.
29334 * gnulib/argp-version-etc.c: Likewise.
29335 * gnulib/argp-version-etc.h: Likewise.
29336 * gnulib/argp-xinl.c: Likewise.
29337 * gnulib/argp.h: Likewise.
29338
29339 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29340
29341 * kern/device.c (grub_device_iterate): Clear errors after failed
29342 opening device.
29343
29344 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29345
29346 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29347 returned by firmware.
29348
29349 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29350
29351 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29352 compilation on coreboot and qemu
29353
29354 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29355
29356 * include/multiboot2.h: Resync with spec.
29357
29358 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29359
29360 Multiboot2 tag support
29361
29362 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29363 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29364 Remove loader/multiboot_loader.c.
29365 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29366 (grub_multiboot2_real_boot): Likewise.
29367 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29368 (grub_get_multiboot_mmap_count): New proto.
29369 (grub_fill_multiboot_mmap): Likewise.
29370 (grub_multiboot_set_video_mode): Likewise.
29371 (grub_multiboot_set_console): Likewise.
29372 (grub_multiboot_load): Likewise.
29373 (grub_multiboot_load_elf): Likewise.
29374 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29375 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29376 * include/multiboot.h: Resynced with specification.
29377 * include/multiboot2.h: Resynced with specification.
29378 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29379 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29380 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29381 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29382 users updated.
29383 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29384 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29385 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29386 Removed.
29387 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29388 Moved from here...
29389 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29390 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29391 Moved from here...
29392 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29393 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29394 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29395 All users updated.
29396 * loader/i386/multiboot_mbi2.c: New file.
29397
29398 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29399
29400 Resync with gnulib.
29401
29402 * Makefile.in (GNULIB_CFLAGS): New variable.
29403 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29404 (grub_script_check_CFLAGS): New variable.
29405 * gnulib/alloca.h: Resync with gnulib.
29406 * gnulib/error.c: Likewise.
29407 * gnulib/error.h: Likewise.
29408 * gnulib/fnmatch.c: Likewise.
29409 * gnulib/fnmatch_loop.c: Likewise.
29410 * gnulib/getdelim.c: Likewise.
29411 * gnulib/getline.c: Likewise.
29412 * gnulib/getopt.c: Likewise.
29413 * gnulib/getopt1.c: Likewise.
29414 * gnulib/getopt_int.h: Likewise.
29415 * gnulib/gettext.h: Likewise.
29416 * gnulib/progname.c: Likewise.
29417 * gnulib/progname.h: Likewise.
29418
29419 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29420
29421 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29422 which is the case with --disabled-nls.
29423
29424 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29425 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29426 * util/misc.c: Likewise.
29427 * util/mkisofs/mkisofs.c: Likewise.
29428 * util/mkisofs/mkisofs.h: Likewise.
29429
29430 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29431
29432 Simplify Apple CC support.
29433
29434 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29435 Add 0 byte at the end not to have a symbol with empty target.
29436 * mmap/i386/pc/mmap_helper.S: Likewise.
29437 * genmk.rb: Ignore errors 2030 and 2050.
29438 * kern/i386/pc/startup.S: Use LOCAL when possible.
29439
29440 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29441
29442 Testcase and the fix for final semicolon on cmdline.
29443
29444 * tests/grub_script_final_semicolon.in: New testcase.
29445 * conf/tests.rmk: Rules for the new testcase.
29446 * script/parser.y: Grammar fix.
29447
29448 2010-03-26 BVK Chaitanya <bvk@localhost>
29449
29450 Blank lines testcase for GRUB script.
29451
29452 * tests/grub_script_blanklines.in: New testcase.
29453 * conf/tests.rmk: Rules for the new testcase.
29454
29455 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29456
29457 Don't use __FILE__.
29458
29459 * genmk.rb: Add -DGRUB_FILE to all C targets.
29460 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29461 * include/grub/list.h: Likewise.
29462 * include/grub/misc.h: Likewise.
29463 * include/grub/mm.h: Likewise.
29464 * include/grub/test.h: Likewise.
29465 * kern/mm.c: Likewise.
29466 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29467
29468 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29469
29470 Sunpc partitions support.
29471
29472 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29473 (grub_fstest_SOURCES): Likewise.
29474 (pkglib_MODULES): Add part_sunpc.mod.
29475 (part_sunpc_mod_SOURCES): New variable.
29476 (part_sunpc_mod_CFLAGS): Likewise.
29477 (part_sunpc_mod_LDFLAGS): Likewise.
29478 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29479 * partmap/sunpc.c: New file.
29480
29481 2010-03-26 BVK Chaitanya <bvk@localhost>
29482
29483 For loop support to GRUB script.
29484
29485 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29486 (grub_script_create_cmdfor): New function prototype.
29487 (grub_script_execute_cmdfor): New function prototype.
29488 * script/execute.c (grub_script_execute_cmdfor): New function.
29489 * script/parser.y (command): New for command.
29490 (forcmd): New grammar rule.
29491 * script/script.c (grub_script_create_cmdfor): New function.
29492 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29493 function.
29494 * tests/grub_script_for1.in: New testcase.
29495 * conf/tests.rmk: Rules for new testcase.
29496
29497 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29498
29499 Nested partitions
29500
29501 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29502 'partition' is NULL, grub_partition_get_start already does that.
29503 * commands/loadenv.c (check_blocklists): Likewise.
29504 (write_blocklists): Likewise.
29505 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29506 (grub_fstest_SOURCES): Likewise.
29507 (pkglib_MODULES): Add part_bsd.mod.
29508 (part_bsd_mod_SOURCES): New variable.
29509 (part_bsd_mod_CFLAGS): Likewise.
29510 (part_bsd_mod_LDFLAGS): Likewise.
29511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29512 (grub_emu_SOURCES): Likewise.
29513 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29514 * include/grub/bsdlabel.h: New file.
29515 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29516 'get_name'.
29517 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29518 (grub_partition_map_list): New variable.
29519 (grub_partition_map_register): Inline.
29520 (grub_partition_map_unregister): Likewise.
29521 (FOR_PARTITION_MAPS): New macro.
29522 (grub_partition_map_iterate): Removed.
29523 (grub_partition_get_start): Handle nested partitions.
29524 * include/grub/msdos_partition.h: Remove bsd-related entries.
29525 (grub_pc_partition): Remove.
29526 * kern/disk.c (grub_disk_close): Free partition data.
29527 (grub_disk_adjust_range): Handle nested partitions.
29528 * kern/partition.c (grub_partition_map_probe): New function.
29529 (grub_partition_probe): Parse name to number, handle subpartitions.
29530 (get_partmap): New function.
29531 (grub_partition_iterate): Handle subpartitions.
29532 (grub_partition_get_name): Likewise.
29533 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29534 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29535 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29536 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29537 Set 'number'.
29538 (acorn_partition_map_probe): Remove.
29539 (acorn_partition_map_get_name): Likewise.
29540 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29541 Set 'number'.
29542 Set 'index' to 0 since there can be only one partition entry per sector.
29543 (amiga_partition_map_probe): Remove.
29544 (amiga_partition_map_get_name): Likewise.
29545 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29546 Set 'number'.
29547 Set 'offset' and 'index' to real positions of partitions.
29548 (apple_partition_map_probe): Remove.
29549 (apple_partition_map_get_name): Likewise.
29550 * partmap/bsdlabel.c: New file.
29551 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29552 Set 'number'.
29553 Allocate 'data' so it can be correctly freed.
29554 Set 'index' to offset inside sector.
29555 (gpt_partition_map_probe): Remove.
29556 (gpt_partition_map_get_name): Likewise.
29557 * partmap/msdos.c (grub_partition_parse): Remove.
29558 (pc_partition_map_iterate): Don't force raw access.
29559 Set 'number'.
29560 Make 'ext_offset' a local variable.
29561 (pc_partition_map_probe): Remove.
29562 (pc_partition_map_get_name): Remove.
29563 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29564 Set 'number'.
29565 (sun_partition_map_probe): Remove.
29566 (sun_partition_map_get_name): Likewise.
29567 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29568 (grub_pcpart_type): Likewise.
29569 * util/hostdisk.c (open_device): Handle new numbering scheme.
29570 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29571 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29572 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29573 * util/grub-install.in: Insert all subpartition modules.
29574 * util/ieee1275/grub-install.in: Likewise.
29575
29576 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29577
29578 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29579 grammar.
29580
29581 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
29582
29583 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29584
29585 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
29586
29587 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29588 match where 'make install' puts them.
29589 * util/i386/efi/grub-install.in: Likewise.
29590
29591 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
29592
29593 * .bzrignore: Add gentrigtables, grub-script-check,
29594 grub_script_check_init.c, grub_script_check_init.h, and
29595 trigtables.c.
29596
29597 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29598
29599 * kern/parser.c: Indented.
29600
29601 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29602
29603 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29604
29605 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29606
29607 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29608 alpha_mask_size == 0 case.
29609
29610 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29611
29612 GRUB shell lexer and parser improvements.
29613
29614 * conf/any-emu.rmk: Build rule updates.
29615 * conf/common.rmk: Likewise.
29616 * conf/i386-coreboot.rmk: Likewise.
29617 * conf/i386-efi.rmk: Likewise.
29618 * conf/i386-ieee1275.rmk: Likewise.
29619 * conf/i386-pc.rmk: Likewise.
29620 * conf/powerpc-ieee1275.rmk: Likewise.
29621 * conf/x86_64-efi.rmk: Likewise.
29622
29623 * configure.ac: Configure check for flex.
29624
29625 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29626 types.
29627 (grub_lexer_param): Struct member updates.
29628 (grub_parser_param): Likewise.
29629 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29630 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29631 (grub_script_lexer_init): Prototype update.
29632 (grub_script_lexer_record_start): Likewise.
29633 (grub_script_lexer_record_stop): Likewise.
29634 (grub_script_lexer_yywrap): New function prototype.
29635 (grub_script_lexer_fini): Likewise.
29636 (grub_script_execute_argument_to_string): Removed by...
29637 (grub_script_execute_argument_to_argv): ...better version.
29638
29639 * script/execute.c (ROUND_UPTO): New macro.
29640 (grub_script_execute_cmdline): Out of memory fixes.
29641 (grub_script_execute_menuentry): Likewise.
29642 (grub_script_execute_argument_to_string): Removed. Update all
29643 users by...
29644 (grub_script_execute_argument_to_argv): ...better version.
29645 * script/function.c (grub_script_function_create): Use
29646 grub_script_execute_argument_to_argv instead of
29647 grub_script_execute_argument_to_string.
29648
29649 * script/lexer.c (check_varstate): Removed.
29650 (check_textstate): Removed.
29651 (grub_script_lexer_record_start): Likewise.
29652 (grub_script_lexer_record_stop): Likewise.
29653 (recordchar): Replaced with...
29654 (grub_script_lexer_record): ...new function.
29655 (nextchar): Removed.
29656 (grub_script_lexer_init): Rewritten.
29657 (grub_script_yylex): Rewritten.
29658 (append_newline): New function.
29659 (grub_script_lexer_yywrap): New function.
29660 (grub_script_lexer_fini): New function.
29661 (grub_script_yyerror): Sets error flag.
29662
29663 * script/yylex.l: New file.
29664 (grub_lexer_yyfree): Wrapper for flex yyffre.
29665 (grub_lexer_yyalloc): Likewise.
29666 (grub_lexer_yyrealloc): Likewise.
29667 * script/parser.y: Refactored.
29668
29669 * script/script.c (grub_script_arg_add): Out of memory fixes.
29670 (grub_script_add_arglist): Likewise.
29671 (grub_script_create_cmdline): Likewise.
29672 (grub_script_create_cmdmenu): Likewise.
29673 (grub_script_add_cmd): Likewise.
29674 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29675 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29676 unnecessary code.
29677
29678 * tests/grub_script_echo1.in: New testcase.
29679 * tests/grub_script_vars1.in: New testcase.
29680 * tests/grub_script_echo_keywords.in: New testcase.
29681
29682 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29683
29684 Remove some redundancy in build system.
29685
29686 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29687 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29688 (TARGET_LDFLAGS): Add -nostdlib.
29689 (TARGET_IMG_LDFLAGS): Likewise.
29690 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29691 anything since mmap isn't available.
29692 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29693 Add util/time.c.
29694 (pkglib_MODULES): Remove reboot.mod.
29695 (reboot_mod_SOURCES): Removed.
29696 (reboot_mod_CFLAGS): Likewise.
29697 (reboot_mod_LDFLAGS): Likewise.
29698 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29699 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29700 (DEFSYMFILES): Add kernel_syms.lst.
29701 (kernel_img_HEADERS): Add common headers.
29702 (symlist.c): New target.
29703 (kernel_syms.lst): Likewise.
29704 (pkglib_MODULES): Add memdisk.mod.
29705 (memdisk_mod_SOURCES): New variable.
29706 (memdisk_mod_CFLAGS): Likewise.
29707 (memdisk_mod_LDFLAGS): Likewise.
29708 (pkglib_MODULES): Add reboot.mod.
29709 (reboot_mod_SOURCES): New variable.
29710 (reboot_mod_CFLAGS): Likewise.
29711 (reboot_mod_LDFLAGS): Likewise.
29712 (pkglib_MODULES): Add date.mod.
29713 (date_mod_SOURCES): New variable.
29714 (date_mod_CFLAGS): Likewise.
29715 (date_mod_LDFLAGS): Likewise.
29716 (pkglib_MODULES): Add datehook.mod.
29717 (datehook_mod_SOURCES): New variable.
29718 (datehook_mod_CFLAGS): Likewise.
29719 (datehook_mod_LDFLAGS): Likewise.
29720 (pkglib_MODULES): Add lsmmap.mod.
29721 (lsmmap_mod_SOURCES): New variable.
29722 (lsmmap_mod_CFLAGS): Likewise.
29723 (lsmmap_mod_LDFLAGS): Likewise.
29724 (pkglib_MODULES): Add boot.mod.
29725 (boot_mod_SOURCES): New variable.
29726 (boot_mod_CFLAGS): Likewise.
29727 (boot_mod_LDFLAGS): Likewise.
29728 * conf/i386-coreboot.rmk: Removed redundant parts.
29729 * conf/i386-ieee1275.rmk: Likewise.
29730 * conf/i386-pc.rmk: Likewise.
29731 * conf/mips-yeeloong.rmk: Likewise.
29732 * conf/mips.rmk: Likewise.
29733 * conf/powerpc-ieee1275.rmk: Likewise.
29734 * conf/sparc64-ieee1275.rmk: Likewise.
29735 * conf/x86_64-efi.rmk: Likewise.
29736 * conf/i386-coreboot.rmk: Moved qemu parts ..
29737 * conf/i386-qemu.rmk: ... here
29738 * conf/i386-efi.rmk: Moved common parts to...
29739 * conf/x86-efi.rmk: ... here.
29740 * conf/i386.rmk: Added modules common to all x86 variants.
29741 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29742 * disk/memdisk.c: Remove grub/machine/kernel.h.
29743 * gensymlist.sh.in: Include symbol.h.
29744 * hook/datehook.c: Correct module name.
29745 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29746 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29747 * include/grub/i386/efi/serial.h: New file.
29748 * include/grub/x86_64/efi/serial.h: Likewise.
29749 * util/time.c: Likewise.
29750 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29751
29752 2010-03-14 Colin King <colin.king@ubuntu.com>
29753 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29754
29755 Shrink the pre-partition-table part of boot.img by eight bytes.
29756
29757 * boot/i386/pc/boot.S (ERR): New macro.
29758 (chs_mode): Use ERR.
29759 (geometry_error): Likewise.
29760 (hd_probe_error): Remove. This is only used once, so we wrwite
29761 it inline instead.
29762 (read_error): Instead of printing read_error_string, just set up
29763 %si and fall through to ...
29764 (error_message): ... this new function, also used by ERR.
29765
29766 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29767
29768 Speed up consecutive hostdisk operations on the same device.
29769
29770 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29771 (grub_util_biosdisk_open): Initialise disk->data.
29772 (struct linux_partition_cache): New structure.
29773 (linux_find_partition): Cache partition start positions; these are
29774 expensive to compute on every read and write.
29775 (open_device): Cache open file descriptor in disk->data, so that we
29776 don't have to reopen it and flush the buffer cache for consecutive
29777 operations on the same device.
29778 (grub_util_biosdisk_close): New function.
29779 (grub_util_biosdisk_dev): Set `close' member.
29780
29781 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29782 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29783 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29784 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29785 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29786
29787 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29788
29789 Compile parts of grub-emu as modules.
29790
29791 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29792 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29793 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29794 (all-local): Add $(GRUB_EMU).
29795 (install-local): Install $(GRUB_EMU).
29796 (uninstall): Uninstall $(GRUB_EMU).
29797 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29798 * kern/dl.c: Likewise.
29799 * commands/sleep.c: Not include machine/time.h.
29800 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29801 (COMMON_CFLAGS): Likewise.
29802 (sbin_UTILITIES): Remove grub-emu.
29803 (grub_emu_SOURCES): Removed.
29804 (kernel_img_RELOCATABLE): New variable.
29805 (pkglib_PROGRAMS): Add kernel.img.
29806 (kernel_img_SOURCES): New variable
29807 (kernel_img_CFLAGS): Likewise.
29808 (kernel_img_LDFLAGS): Likewise.
29809 (TARGET_NO_STRIP): Likewise.
29810 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29811 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29812 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29813 (grub-emu): New target.
29814 (GRUB_EMU): New variable.
29815 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29816 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29817 * loader/xnu.c: Likewise.
29818 * include/grub/pci.h: Likewise.
29819 * genemuinit.sh: New file.
29820 * genemuinitheader.sh: Likewise.
29821 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29822 Support TARGET_NO_DYNAMIC_MODULES.
29823 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29824 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29825 * disk/loopback.c: Likewise.
29826 * font/font_cmd.c: Likewise.
29827 * partmap/acorn.c: Likewise.
29828 * partmap/amiga.c: Likewise.
29829 * partmap/apple.c: Likewise.
29830 * partmap/gpt.c: Likewise.
29831 * partmap/msdos.c: Likewise.
29832 * partmap/sun.c: Likewise.
29833 * parttool/msdospart.c: Likewise.
29834 * term/gfxterm.c: Likewise.
29835 * video/bitmap.c: Likewise.
29836 * video/readers/jpeg.c: Likewise.
29837 * video/readers/png.c: Likewise.
29838 * video/readers/tga.c: Likewise.
29839 * video/video.c: Likewise.
29840 * util/grub-emu.c (read_command_list): Removed.
29841 (main): Don't call util_init_nls.
29842 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29843 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29844
29845 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29846
29847 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29848 date.mod, datehook.mod.
29849 (datetime_mod_SOURCES): New variable.
29850 (datetime_mod_CFLAGS): Likewise.
29851 (datetime_mod_LDFLAGS): Likewise.
29852 (date_mod_SOURCES): Likewise.
29853 (date_mod_CFLAGS): Likewise.
29854 (date_mod_LDFLAGS): Likewise.
29855 (datehook_mod_SOURCES): Likewise.
29856 (datehook_mod_CFLAGS): Likewise.
29857 (datehook_mod_LDFLAGS): Likewise.
29858 * conf/sparc64-ieee1275.rmk: Likewise.
29859 * lib/ieee1275/datetime.c: New file.
29860
29861 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29862
29863 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29864 (ieee1275_fb_mod_SOURCES): New variable.
29865 (ieee1275_fb_mod_CFLAGS): Likewise.
29866 (ieee1275_fb_mod_LDFLAGS): Likewise.
29867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29868 New proto.
29869 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29870 (HEAP_MAX_ADDR): Likewise.
29871 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29872 type.
29873 Correct stop condition.
29874 (grub_ieee1275_devices_iterate): New function.
29875 * video/ieee1275.c: New file.
29876
29877 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29878
29879 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29880
29881 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29882 as scratch.
29883 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29884 SCRATCH_PAD_DISKBOOT as scratch.
29885 (bootit): Pass Openfirmware pointer in %o4.
29886 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29887 of 0x200000.
29888 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29889 with util/grub-mkrawimage.c.
29890 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29891 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29892 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29893 (grub_aout_load) [GRUB_UTIL]: Likewise.
29894 * include/grub/kernel.h (grub_modules_get_end): New proto.
29895 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29896 (SCRATCH_PAD_BOOT): New definition.
29897 (SCRATCH_PAD_DISKBOOT): Likewise.
29898 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29899 * include/grub/sparc64/ieee1275/ieee1275.h
29900 (grub_ieee1275_original_stack): New variable
29901 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29902 New definition
29903 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29904 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29905 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29906 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29907 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29908 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29909 (grub_platform_image_format_t): New type.
29910 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29911 * kern/main.c (grub_modules_get_end)
29912 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29913 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29914 (codestart): Switch stacks.
29915 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29916 variable.
29917 (grub_heap_init): Use grub_modules_get_end.
29918 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29919 stack.
29920 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29921 (main): Likewise.
29922 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29923
29924 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
29925
29926 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29927
29928 2010-03-08 Matt Kraai <kraai@ftbfs.org>
29929
29930 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29931 bug #559005).
29932
29933 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29934
29935 * genmoddep.awk: Output all missing symbols and not only first.
29936
29937 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29938
29939 * NEWS: Put the date of 1.98 release.
29940
29941 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29942
29943 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29944 ft2build.h.
29945
29946 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29947
29948 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29949 completition in the middle of string.
29950
29951 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29952
29953 * util/grub-mkrescue.in: Use mktemp with explicit template.
29954
29955 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29956
29957 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29958
29959 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29960
29961 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29962 right pointer.
29963
29964 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29965
29966 Fix FreeBSD compilation.
29967
29968 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29969 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29970
29971 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29972
29973 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
29974
29975 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29976
29977 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
29978
29979 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29980
29981 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
29982
29983 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
29984
29985 Support relative image path in theme file.
29986
29987 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
29988 (image_set_property): Handle theme_dir and relative path.
29989
29990 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29991
29992 * configure.ac: Alias amd64 to x86_64.
29993
29994 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29995
29996 * NEWS: mention multiboot on EFI.
29997
29998 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
29999
30000 * kern/main.c (grub_load_modules): Handle errors from init functions of
30001 embeded modules.
30002
30003 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 * normal/autofs.c (autoload_fs_module): Handle errors.
30006
30007 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30008
30009 Disable linux.mod on qemu-mips since it's not functional and leads
30010 to compilation failure.
30011
30012 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30013 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30014 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30015 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30016 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30017 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30018 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30019 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30020 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30021 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30022 Reported by: BVK Chaitanya
30023
30024 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30025
30026 * INSTALL: Add gettext as a dependency and add qemu to a new section
30027 "Prerequisites for make-check".
30028
30029 2010-03-04 Christian Franke <franke@computer.org>
30030
30031 * util/grub-pe2elf.c: Add missing include "progname.h".
30032
30033 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30034
30035 * normal/crypto.c (read_crypto_list): Fix a typo.
30036 Reported by: Seth Goldberg.
30037
30038 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30039
30040 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
30041 Reported by: Seth Goldberg.
30042
30043 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30044
30045 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30046 ascii.bitmaps.
30047
30048 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30049
30050 * genmk.rb: Remove terminal*.lst in make clean.
30051 Reported by: Seth Goldberg.
30052
30053 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30054
30055 * util/i386/efi/grub-install.in: Copy gettext files.
30056
30057 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30058
30059 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30060
30061 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30062
30063 Wait for user entry basing on presence of output rather than on errors.
30064
30065 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30066 (grub_install_newline_hook): Likewise.
30067 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30068 * normal/menu.c (show_menu): Check line_counter to determine presence
30069 of output.
30070 * normal/term.c (grub_normal_line_counter): New variable.
30071 (grub_normal_get_line_counter): New function.
30072 (grub_install_newline_hook): Likewise.
30073
30074 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30075
30076 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30077
30078 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30079
30080 * configure.ac: Update version to 1.98.
30081
30082 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30083
30084 * util/grub.d/10_linux.in (linux_entry): Don't default to
30085 gfxpayload=keep if Linux doesn't support video handover.
30086
30087 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30088
30089 Don't compile video modules on yeeloong since video subsystem is part
30090 of kernel.
30091
30092 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30093 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30094 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30095 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30096 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30097 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30098 * include/grub/bitmap_scale.h: Likewise.
30099 * include/grub/bufio.h: Likewise.
30100 * include/grub/font.h: Likewise.
30101 * include/grub/gfxterm.h: Likewise.
30102 * include/grub/video.h: Likewise.
30103 * include/grub/vbe.h: Don't include video_fb.h.
30104 * video/i386/pc/vbe.c: Include video_fb.h.
30105 * commands/i386/pc/vbetest.c: Include video.h.
30106
30107 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30108
30109 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30110 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30111 default entry if GRUB_SAVEDEFAULT=true. This allows using
30112 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30113 saving a new default on every boot.
30114
30115 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30116
30117 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30118 * normal/term.c (read_terminal_list): Likewise.
30119 * normal/main.c (grub_normal_init_page): Likewise.
30120 (grub_normal_read_line_real): Likewise.
30121
30122 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30123
30124 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30125 memory leak.
30126 Reported by: Seth Goldberg.
30127
30128 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30129
30130 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30131 duplicate declaration of `start'.
30132
30133 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30134
30135 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30136 filename.
30137 Reported by: Georgy Buranov
30138
30139 2010-02-20 Carles Pina i Estany <carles@pina.cat>
30140
30141 * util/grub-mkrawimage.c (usage): Change string formatting to
30142 improve gettext.
30143
30144 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30145
30146 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30147 backspace keys.
30148
30149 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30150
30151 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30152 Reported by: Michael Suchanek.
30153
30154 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
30155
30156 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30157 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30158
30159 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30160
30161 Remove any reference to non-free fonts.
30162
30163 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30164 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30165 uses non-free components.
30166 * font/font.c (grub_font_get_name): Remove example name.
30167 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30168 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30169 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30170 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30171
30172 2010-02-16 Georgy Buranov <gburanov@gmail.com>
30173
30174 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30175
30176 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30177
30178 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30179 Double divisor.
30180 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30181 features.
30182 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30183
30184 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30185
30186 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30187
30188 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30189
30190 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30191 * docs/grub.texi (Command-line and menu entry commands): Document play
30192 command.
30193
30194 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30195
30196 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30197 parse arguments as inline tempo and notes. Move code for playing notes
30198 to...
30199 (play): ... new function.
30200
30201 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30202
30203 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30204 grub_uint16_t instead of short.
30205 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30206 disk from little endian to cpu endianness.
30207
30208 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30209
30210 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30211 GRUB_TICKS_PER_SECOND instead of 120.
30212
30213 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30214
30215 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30216 escape sequence after \e.
30217
30218 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30219
30220 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30221 non-ASCII characters.
30222
30223 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30224
30225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30226 set root in single quotes to prevent \, from being unescaped.
30227
30228 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30229
30230 Prevent unknown commands from stopping menuentry execution.
30231
30232 * script/execute.c (grub_script_execute_cmdline): Print error after
30233 unknown command.
30234
30235 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30236
30237 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30238 Reported by: Pavel Pisa.
30239
30240 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30241
30242 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30243
30244 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30245
30246 Merge grub_ieee1275_map_physical into grub_map and rename to
30247 grub_ieee1275_map
30248
30249 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30250 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30251 Remove.
30252 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30253 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30254 necessary.
30255 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30256
30257 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30258
30259 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30260 opening and not after.
30261
30262 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30263
30264 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30265 constants.
30266
30267 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30268
30269 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30270 (alloc_phys): Use ALIGN_UP instead of align_addr.
30271
30272 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30273
30274 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30275
30276 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30277
30278 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30279
30280 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30281
30282 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30283 verbose dprintf.
30284
30285 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30286
30287 Fix over-4GiB seek on sparc64.
30288
30289 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30290 Replace pos_i and pos_lo with pos. All users updated.
30291 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30292 New constant.
30293 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30294 Likewise.
30295 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30296 and pos_lo.
30297
30298 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30299
30300 * util/grub-mkrawimage.c (main): Call set_program_name.
30301
30302 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30303
30304 Properly align 64-bit targets.
30305
30306 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30307 (generate_image): Use ALIGN_ADDR.
30308
30309 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30310
30311 Properly create cross-endian images.
30312
30313 * include/grub/types.h (grub_host_to_target_addr): New macro
30314 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30315
30316 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30317
30318 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30319
30320 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30321
30322 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30323
30324 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30325 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30326 (grub_linux_boot): Divide by 64K when on VESA.
30327
30328 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30329
30330 Support GRUB_GFXPAYLOAD_LINUX.
30331
30332 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30333 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30334
30335 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30336
30337 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30338 to show messages instead of discarding them.
30339 Process errors after executing command and not before. Keep old method
30340 too as precaution.
30341
30342 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30343
30344 * configure.ac: Check for ft2build.h.
30345
30346 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30347
30348 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30349
30350 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30351
30352 * genkernsyms.sh.in: Use TARGET_CC.
30353
30354 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
30355
30356 * NEWS: Update.
30357
30358 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30359
30360 * include/grub/multiboot2.h: Remove leftover file.
30361 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30362 * include/grub/partition.h [GRUB_UTIL]: Likewise.
30363
30364 2010-02-07 Yves Blusseau <blusseau@zetam.org>
30365
30366 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
30367
30368 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30369
30370 Fix warnings in grub-emu when compiling with maximum warning options.
30371
30372 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30373 (grub_arch_modules_addr): Return 0 and not NULL.
30374 * util/misc.c (ENABLE_RELOCATABLE): New definition.
30375 (xstrdup): Use newstr instead of dup.
30376 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30377 of disk to dsk to avoid shadowing.
30378 (find_free_slot): Fix prototype.
30379 * util/getroot.c (grub_util_is_dmraid): Make static.
30380 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30381 Add missing prototype.
30382 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
30383
30384 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30385
30386 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30387 appropriately.
30388
30389 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30390
30391 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30392 code out.
30393
30394 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30395
30396 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30397 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30398 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30399 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30400 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30401 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30402
30403 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30404
30405 * include/grub/err.h (grub_err_printf): Don't export.
30406
30407 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30408
30409 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30410
30411 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30412
30413 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30414 * kern/misc.c (grub_gettext_dummy): Make static.
30415
30416 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30417
30418 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30419 by non-valid ones.
30420 * kern/term.c (grub_putchar): Likewise.
30421
30422 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30423
30424 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30425 buggy hook call and memory leak.
30426
30427 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30428
30429 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30430
30431 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30432
30433 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30434
30435 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30436
30437 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30438 modevar.
30439 Return grub_errno on allocation error.
30440
30441 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30442
30443 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30444
30445 2010-02-06 Yves Blusseau <blusseau@zetam.org>
30446
30447 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30448 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30449
30450 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30451
30452 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30453 non-pxe disk.
30454 (grub_pxefs_open): Likewise.
30455
30456 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30457
30458 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30459 * util/grub.d/10_kfreebsd.in: Likewise.
30460 * util/grub.d/10_linux.in: Likewise.
30461
30462 2010-02-06 Colin D Bennett <colin@gibibit.com>
30463
30464 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30465 (gfxmenu_mod_SOURCES): New variable.
30466 (gfxmenu_mod_CFLAGS): Likewise.
30467 (gfxmenu_mod_LDFLAGS): Likewise.
30468 * include/grub/term.h (grub_term_set_current_output): Declare
30469 argument as const.
30470 * docs/gfxmenu-theme-example.txt: New file.
30471 * gfxmenu/gfxmenu.c: Likewise.
30472 * gfxmenu/gui_box.c: Likewise.
30473 * gfxmenu/gui_canvas.c: Likewise.
30474 * gfxmenu/gui_circular_progress.c: Likewise.
30475 * gfxmenu/gui_image.c: Likewise.
30476 * gfxmenu/gui_label.c: Likewise.
30477 * gfxmenu/gui_list.c: Likewise.
30478 * gfxmenu/gui_progress_bar.c: Likewise.
30479 * gfxmenu/gui_string_util.c: Likewise.
30480 * gfxmenu/gui_util.c: Likewise.
30481 * gfxmenu/icon_manager.c: Likewise.
30482 * gfxmenu/model.c: Likewise.
30483 * gfxmenu/named_colors.c: Likewise.
30484 * gfxmenu/theme_loader.c: Likewise.
30485 * gfxmenu/view.c: Likewise.
30486 * gfxmenu/widget-box.c: Likewise.
30487 * include/grub/gfxmenu_model.h: Likewise.
30488 * include/grub/gfxmenu_view.h: Likewise.
30489 * include/grub/gfxwidgets.h: Likewise.
30490 * include/grub/gui.h: Likewise.
30491 * include/grub/gui_string_util.h: Likewise.
30492 * include/grub/icon_manager.h: Likewise.
30493
30494 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30495
30496 Agglomerate scrolling in gfxterm.
30497
30498 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30499 (grub_virtual_screen_setup): Initialise 'total_screen'.
30500 (write_char): Split to ...
30501 (paint_char): ... this ...
30502 (write_char): ... and this.
30503 (paint_char): Handle delayed scrolling.
30504 (draw_cursor): Likewise.
30505 (scroll_up): Split to ...
30506 (real_scroll): ... this ...
30507 (scroll_up): ... and this.
30508 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30509 characters.
30510 (grub_gfxterm_refresh): Call real_scroll.
30511
30512 2010-02-06 Colin D Bennett <colin@gibibit.com>
30513
30514 * include/grub/misc.h (grub_iscntrl): New inline function.
30515 (grub_isalnum): Likewise.
30516 (grub_strtol): Likewise.
30517
30518 2010-02-06 Colin D Bennett <colin@gibibit.com>
30519
30520 * normal/menu_text.c (get_entry_number): Move from here ...
30521 * normal/menu.c (get_entry_number): ... moved here.
30522 * include/grub/menu.h (grub_menu_get_default_entry_index):
30523 New prototype.
30524 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30525 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30526 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30527 (grub_menu_viewer_should_return): Likewise.
30528 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30529 * normal/menu_text.c (run_menu): Enable menu switching.
30530 * normal/menu_viewer.c (should_return): New variable.
30531 (menu_viewer_changed): Likewise.
30532 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30533 (grub_menu_viewer_should_return): New function.
30534 (menuviewer_write_hook): Likewise.
30535 (grub_menu_viewer_init): Likewise.
30536
30537 2010-02-06 Colin D Bennet <colin@gibibit.com>
30538 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30539
30540 Support for gfxterm in a window.
30541
30542 * include/grub/gfxterm.h: New file.
30543 * include/grub/video.h (struct grub_video_rect): New declaration.
30544 (grub_video_rect_t): Likewise.
30545 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30546 (refcount): New variable.
30547 (render_target): Likewise.
30548 (window): Likewise.
30549 (repaint_callback): Likewise.
30550 (grub_virtual_screen_setup): Use 'render_target'.
30551 (init_window): New function.
30552 (grub_gfxterm_init_window): Likewise.
30553 (grub_gfxterm_init): Check reference counter.
30554 Use init_window.
30555 (destroy_window): New function.
30556 (grub_gfxterm_destroy_window): Likewise.
30557 (grub_gfxterm_fini): Check reference counter.
30558 Use destroy_window.
30559 (redraw_screen_rect): Restore viewport.
30560 Use 'render_target' and 'window'.
30561 Call 'repaint_callback'.
30562 (write_char): Use 'render_target'.
30563 (draw_cursor): Likewise.
30564 (scroll_up): Restore viewport.
30565 Use 'render_target' and 'window'.
30566 Call 'repaint_callback'.
30567 (grub_gfxterm_cls): Likewise.
30568 (grub_gfxterm_refresh): Use 'window'.
30569 (grub_gfxterm_set_repaint_callback): New function.
30570 (grub_gfxterm_background_image_cmd): Use 'window'.
30571 (grub_gfxterm_get_term): New function.
30572 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30573
30574 2010-02-06 Colin D Bennett <colin@gibibit.com>
30575
30576 Bitmap scaling support.
30577
30578 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30579 (bitmap_scale_mod_SOURCES): New variable.
30580 (bitmap_scale_mod_CFLAGS): Likewise.
30581 (bitmap_scale_mod_LDFLAGS): Likewise.
30582 * include/grub/bitmap_scale.h: New file.
30583 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30584 (background_image_cmd_options): New variable.
30585 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30586 (cmd): Rename and change type to ...
30587 (background_image_cmd_handle): ... this. All users updated.
30588 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30589 * video/bitmap_scale.c: New file.
30590
30591 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30592
30593 SDL support.
30594
30595 * Makefile.in (LIBSDL): New variable.
30596 (enable_grub_emu_sdl): Likewise.
30597 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30598 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30599 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30600 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30601 * util/sdl.c: New file.
30602
30603 2010-02-06 Colin D Bennett <colin@gibibit.com>
30604 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30605
30606 Double buffering support.
30607
30608 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30609 * include/grub/video.h: Update comment.
30610 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30611 New type.
30612 (grub_video_fb_doublebuf_blit_init): New prototype.
30613 * term/gfxterm.c (scroll_up): Support double buffering.
30614 (grub_gfxterm_refresh): Likewise.
30615 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30616 (grub_video_fb_doublebuf_blit_init): Likewise.
30617 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30618 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30619 'displayed_page', 'render_page' and 'update_screen'.
30620 (grub_video_vbe_fini): Free offscreen buffer.
30621 (doublebuf_pageflipping_commit): New function.
30622 (doublebuf_pageflipping_update_screen): Likewise.
30623 (doublebuf_pageflipping_init): Likewise.
30624 (double_buffering_init): Likewise.
30625 (grub_video_vbe_setup): Enable doublebuffering.
30626 (grub_video_vbe_swap_buffers): Implement.
30627 (grub_video_vbe_set_active_render_target): Handle double buffering.
30628 (grub_video_vbe_get_active_render_target): Likewise.
30629 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30630 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30631 (grub_video_vbe_enable_double_buffering): Likewise.
30632 (grub_video_vbe_swap_buffers): Use update_screen.
30633 (grub_video_set_mode): Use double buffering.
30634
30635 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30636
30637 * maintainance/gentrigtables.py: Remove.
30638 * lib/trig.c: Likewise.
30639
30640 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30641
30642 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30643 `trigtables.c'.
30644 (trigtables.c): New rule.
30645 (gentrigtables): Likewise.
30646 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30647
30648 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30649
30650 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30651 integer constants.
30652
30653 2010-02-06 Colin D Bennet <colin@gibibit.com>
30654
30655 Trigonometry support.
30656
30657 * include/grub/trig.h: New file.
30658 * lib/trig.c: Likewise.
30659 * maintainance/gentrigtables.py: Likewise.
30660 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30661 (trig_mod_SOURCES): New variable.
30662 (trig_mod_CFLAGS): Likewise.
30663 (trig_mod_LDFLAGS): Likewise.
30664
30665 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30666
30667 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30668 disk devices.
30669
30670 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30671
30672 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30673 error.
30674
30675 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30676
30677 * util/hostdisk.c (open_device): Don't use partition device when reading
30678 before the partition.
30679 (grub_util_biosdisk_read): Don't read from partition and before the
30680 partition in single operation.
30681 (grub_util_biosdisk_write): Don't write to partition and before the
30682 partition in single operation.
30683
30684 2010-02-03 Torsten Landschoff <torsten@debian.org>
30685
30686 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30687 last sectors.
30688
30689 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30690
30691 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30692 CDROM reads.
30693 (grub_biosdisk_write): Refuse to write to CDROM.
30694
30695 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30696
30697 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30698
30699 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30700
30701 * font/font.c (find_glyph): Check that bmp_idx is available before
30702 using it.
30703 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30704 with (font == NULL).
30705
30706 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
30707
30708 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30709
30710 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30711
30712 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30713 * util/grub-script-check.c (getline): Fix empty lines case.
30714
30715 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30716
30717 * Makefile.in (check): Exit with fail status when one of the tests
30718 fails.
30719 * tests/example_functional_test.c (example_test): Fix reversed assert.
30720 * tests/example_unit_test.c (example_test): Likewise.
30721
30722 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
30723
30724 * util/grub.d/10_linux.in: This script does not use any of the
30725 contents of gettext.sh, only the external command `gettext', so stop
30726 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30727 the same prefix as GRUB.)
30728 * util/grub.d/10_kfreebsd.in: Likewise.
30729
30730 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30731
30732 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30733 of the line.
30734
30735 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30736
30737 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30738 last sectors.
30739
30740 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30741
30742 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30743 having a 4KiB and not 32KiB buffer size.
30744
30745 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30746
30747 * util/hostfs.c: Include `<errno.h>'.
30748 (grub_hostfs_read): Handle errors from fseeko() and fread().
30749
30750 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30751
30752 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30753 loop when using read hooks on files whose size isn't sector-aligned.
30754
30755 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30756
30757 Remove unused parameter.
30758
30759 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30760 (grub_iso9660_open): Remove initialization of `data->length'.
30761
30762 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30763
30764 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30765 memleak conditions.
30766
30767 2010-01-27 Carles Pina i Estany <carles@pina.cat>
30768
30769 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30770 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30771
30772 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30773
30774 * util/bin2h.c (usage): Fix warning (space after backslash).
30775
30776 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30777
30778 * font/font.c: Include `grub/fontformat.h.
30779 Remove font file format constants.
30780 (grub_font_load): Use the new macros.
30781 * include/grub/fontformat.h: New file.
30782 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30783 (write_font_pf2): Use the new macros.
30784
30785 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30786
30787 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30788 does.
30789
30790 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30791
30792 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30793
30794 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30795 (_start): Macroify `0x7F'.
30796
30797 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30798 (make_install_device): Use "(pxe)" as fallback prefix when booting
30799 via PXE.
30800
30801 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30802
30803 * configure.ac: Reset LIBS after check for libgcc symbols.
30804
30805 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
30806
30807 * util/hostdisk.c (open_device): Add trailing newline to debug
30808 message.
30809
30810 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30811
30812 * configure.ac: Check for `limits.h'.
30813 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30814
30815 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30816
30817 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30818 capitalize error strings.
30819
30820 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30821
30822 * util/grub.d/10_hurd.in: Add a recovery mode.
30823
30824 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30825
30826 * configure.ac: Check for libgcc symbols with -nostdlib.
30827
30828 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30829
30830 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30831
30832 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30833
30834 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30835 stack since heap may be unavailable at that point.
30836 (grub_ofconsole_gotoxy): Likewise.
30837
30838 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30839
30840 * configure.ac: Check for _restgpr_14_x.
30841 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30842 and _savegpr_* prototypes.
30843
30844 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30845
30846 Use generic grub_reboot() for i386-efi.
30847
30848 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30849 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30850 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30851
30852 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30853
30854 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30855 presence of "prefix" variable as it breaks when normal.mod is
30856 embedded.
30857
30858 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30859
30860 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30861 stack since heap is unavailable at that point.
30862
30863 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30864
30865 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30866 (grub_freebsd_bootinfo): Rewritten.
30867 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30868
30869 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30870
30871 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30872
30873 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30874
30875 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30876 domain now.
30877
30878 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
30879
30880 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30881 around for handling "/" to the correct fix. Fix a memory leak. Use
30882 xstrdup instead of strdup.
30883
30884 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30885
30886 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30887
30888 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30889
30890 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30891
30892 * font/font.c (struct grub_font): New member 'bmp_idx'.
30893 (font_init): Initialise 'bmp_idx'.
30894 (load_font_index): Fill 'bmp_idx'.
30895 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30896
30897 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30898
30899 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30900 unnecessary calls.
30901
30902 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30903
30904 Move context handling out of the kernel.
30905
30906 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30907 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30908 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30909 * conf/i386-efi.rmk: Likewise.
30910 * conf/i386-ieee1275.rmk: Likewise.
30911 * conf/i386-pc.rmk: Likewise.
30912 * conf/powerpc-ieee1275.rmk: Likewise.
30913 * conf/sparc64-ieee1275.rmk: Likewise.
30914 * conf/x86_64-efi.rmk: Likewise.
30915 * include/grub/env.h: Include grub/menu.h.
30916 (grub_env_var_type): Removed.
30917 (grub_env_var): Replaced field 'type' with 'global'.
30918 (grub_env_find): New prototype.
30919 (grub_env_context_open): Remove EXPORT_FUNC.
30920 (grub_env_context_close): Likewise.
30921 (grub_env_export): Likewise.
30922 (grub_env_set_data_slot): Removed.
30923 (grub_env_get_data_slot): Likewise.
30924 (grub_env_unset_data_slot): Likewise.
30925 (grub_env_unset_menu): New prototype.
30926 (grub_env_set_menu): Likewise.
30927 (grub_env_get_menu): Likewise.
30928 * include/grub/env_private.h: New file.
30929 * include/grub/normal.h (grub_context_init): New prototype.
30930 (grub_context_fini): Likewise.
30931 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30932 * normal/context.c (grub_cmd_export): ... to here.
30933 * kern/env.c: Include env_private.h.
30934 (HASHSZ): Moved to include/grub/env_private.h.
30935 (grub_env_context): Likewise.
30936 (grub_env_sorted_var): Likewise.
30937 (current_context): Renamed from this ...
30938 (grub_current_context): ...to this. 'static' removed. All users updated.
30939 (grub_env_find): Removed 'static'.
30940 (grub_env_context_open): Moved to normal/context.c.
30941 (grub_env_context_close): Likewise.
30942 (grub_env_export): Likewise.
30943 (mangle_data_slot_name): Removed.
30944 (grub_env_set_data_slot): Likewise.
30945 (grub_env_get_data_slot): Likewise.
30946 (grub_env_unset_data_slot): Likewise.
30947 * kern/main.c (grub_set_root_dev): Don't export root.
30948 It will be done later.
30949 (grub_main): Don't export prefix.
30950 It will be done later.
30951 * normal/context.c: New file.
30952 * normal/main.c (free_menu): Use grub_env_unset_menu.
30953 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30954 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30955 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30956 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30957
30958 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30959
30960 setpci support.
30961
30962 * commands/setpci.c: New file.
30963 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30964 (setpci_mod_SOURCES): New variable.
30965 (setpci_mod_CFLAGS): Likewise.
30966 (setpci_mod_LDFLAGS): Likewise.
30967
30968 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30969
30970 Byte-addressable PCI configuration space.
30971
30972 * bus/pci.c (grub_pci_make_address): Use byte address instead of
30973 dword address.
30974 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
30975 GRUB_PCI_REG_CACHELINE.
30976 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
30977 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
30978 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
30979 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
30980 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
30981 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
30982 grub_pci_make_address.
30983 (lock_rom_area): Likewise.
30984 * commands/lspci.c (grub_lspci_iter): Use macroses
30985 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
30986 of grub_pci_make_address.
30987 * disk/ata.c (grub_ata_pciinit): Likewise.
30988 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
30989 (GRUB_PCI_REG_VENDOR): Likewise.
30990 (GRUB_PCI_REG_DEVICE): Likewise.
30991 (GRUB_PCI_REG_COMMAND): Likewise.
30992 (GRUB_PCI_REG_STATUS): Likewise.
30993 (GRUB_PCI_REG_REVISION): Likewise.
30994 (GRUB_PCI_REG_CLASS): Likewise.
30995 (GRUB_PCI_REG_CACHELINE): Likewise.
30996 (GRUB_PCI_REG_LAT_TIMER): Likewise.
30997 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
30998 (GRUB_PCI_REG_BIST): Likewise.
30999 (GRUB_PCI_REG_ADDRESSES): Likewise.
31000 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31001 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31002 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31003 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31004 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31005 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31006 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31007 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31008 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31009 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31010 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31011 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31012 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31013 (GRUB_PCI_REG_MIN_GNT): Likewise.
31014 (GRUB_PCI_REG_MAX_LAT): Likewise.
31015 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31016 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31017 * video/efi_uga.c (find_framebuf): Likewise.
31018 * video/sm712.c (grub_video_sm712_setup): Likewise.
31019 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31020 space.
31021
31022 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31023
31024 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31025 can be reliably determined to be supported.
31026
31027 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31028
31029 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31030 that VESA is supported.
31031 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31032 supported.
31033
31034 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31035
31036 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31037
31038 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31039
31040 * util/misc.c (make_system_path_relative_to_its_root): Work around
31041 special-casing of "/", as previous incarnation of this routine did.
31042
31043 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31044
31045 Fix any-emu compilation.
31046
31047 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31048 * grub_bin2h_SOURCES: New variable.
31049
31050 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31051
31052 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31053
31054 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31055
31056 * util/grub.d/00_header.in: Fix handling of locale_dir.
31057
31058 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31059
31060 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31061 as possible unifont location (Gentoo).
31062 Reported by: Alexander Brüning
31063
31064 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31065
31066 Don't try to generate lists for kernel.img.
31067
31068 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31069 (pkglib_MODULES): Remove kernel.img.
31070 (kernel_img_EXPORTS): Removed.
31071 (kernel_img_RELOCATABLE): New variable.
31072 * conf/x86_64-efi.rmk: Likewise.
31073 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31074
31075 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31076
31077 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31078 grub_xasprintf or grub_snprintf.
31079 (grub_vsprintf): Likewise.
31080 (grub_snprintf): New proto.
31081 (grub_vsnprintf): Likewise.
31082 (grub_xasprintf): Likewise.
31083 (grub_xvasprintf): Likewise.
31084 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31085 (grub_sprintf): Removed.
31086 (grub_vsnprintf): New function.
31087 (grub_snprintf): Likewise.
31088 (grub_xvasprintf): Likewise.
31089 (grub_xasprintf): Likewise.
31090 (grub_vsprintf): Renamed to ...
31091 (grub_vsnprintf_real): ...this. New argument max_len.
31092
31093 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31094
31095 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31096 fix grub-script-check warning.
31097
31098 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31099
31100 * include/grub/font.h (grub_font_load): Fix prototype.
31101
31102 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31103
31104 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31105
31106 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31107
31108 * include/grub/x86_64/at_keyboard.h: New file.
31109
31110 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31111
31112 * loader/mips/linux.c: Include missing grub/i18n.h.
31113
31114 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31115
31116 * normal/menu.c (notify_execution_failure): Clarify error message.
31117
31118 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31119
31120 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31121 return value (and revert all return statements). Update users.
31122
31123 2010-01-20 Dan Merillat <debian@dan.merillat.org>
31124
31125 * kern/device.c (grub_device_iterate): Allocate new part_ent
31126 structure based on sizeof (*p) rather than sizeof (p->next), to
31127 account for structure padding.
31128
31129 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31130 disk is NULL, which might happen for LVM physical volumes with no
31131 LVM signature.
31132
31133 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31134
31135 * loader/mips/linux.c (grub_cmd_initrd)
31136 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31137
31138 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31139
31140 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31141 (grub_video_video_init, grub_video_bitmap_init)
31142 (grub_font_manager_init, grub_term_gfxterm_init)
31143 (grub_at_keyboard_init): New extern declarations.
31144 (grub_machine_init): Initialize gfxterm and at_keyboard.
31145
31146 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31147
31148 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31149 `gfxterm.mod' into core image.
31150
31151 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31152 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31153 (kernel_img_FORMAT): Copy to ...
31154
31155 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31156 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31157 (kernel_img_FORMAT): ... here, and ...
31158
31159 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31160 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31161 (kernel_img_FORMAT): ... here.
31162
31163 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31164 and input (at_keyboard) terminals in kernel.
31165 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31166
31167 (pkglib_MODULES): Remove `pci.mod'.
31168 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31169 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31170 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31171 (at_keyboard_mod_LDFLAGS): Remove variables.
31172
31173 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
31174
31175 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31176
31177 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31178
31179 * include/grub/mips/libgcc.h: Only export symbols for functions
31180 that libgcc provides.
31181
31182 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31183
31184 MIPS support.
31185
31186 * bus/bonito.c: New file.
31187 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31188 GRUB_PCI_NUM_DEVICES.
31189 * term/i386/pc/serial.c: Move to ...
31190 * term/serial.c: ... here. All users updated.
31191 * util/i386/pc/grub-mkimage.c: Move to ...
31192 * util/grub-mkrawimage.c: ... here. All users updated.
31193 * term/i386/pc/at_keyboard.c: Move to ...
31194 * term/at_keyboard.c: ... here. All users updated.
31195 * conf/mips-qemu-mips.rmk: New file.
31196 * conf/mips-yeeloong.rmk: Likewise.
31197 * conf/mips.rmk: Likewise.
31198 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31199 mipsel-qemu-mips.
31200 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31201 to port addresses.
31202 (grub_ata_pciinit): Support CS5536.
31203 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31204 * font/font_cmd.c (loadfont_command): Open file before passing it to
31205 grub_font_load.
31206 (pseudo_file_read): New function.
31207 (pseudo_file_close): Likewise.
31208 (pseudo_fs): New structure.
31209 (load_font_module): New function.
31210 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31211 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31212 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31213 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31214 * include/grub/i386/at_keyboard.h: Split into ...
31215 * include/grub/at_keyboard.h: ... this ...
31216 * include/grub/i386/at_keyboard.h: ... and this.
31217 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31218 New prototype.
31219 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31220 updated.
31221 (grub_elf64_size): Likewise.
31222 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31223 filename.
31224 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31225 * include/grub/i386/coreboot/serial.h: Rewritten.
31226 * include/grub/i386/ieee1275/serial.h: Include
31227 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31228 * include/grub/i386/pc/serial.h: Moved from here ...
31229 * include/grub/serial.h: ... to here. All users updated.
31230 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31231 (GRUB_PCI_NUM_BUS): Likewise.
31232 (GRUB_PCI_NUM_DEVICES): Likewise.
31233 (grub_pci_device_map_range): Add missing volatile keyword.
31234 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31235 * include/grub/mips/at_keyboard.h: New file.
31236 * include/grub/mips/cache.h: Likewise.
31237 * include/grub/mips/io.h: Likewise.
31238 * include/grub/mips/kernel.h: Likewise.
31239 * include/grub/mips/libgcc.h: Likewise.
31240 * include/grub/mips/pci.h: Likewise.
31241 * include/grub/mips/qemu-mips/boot.h: Likewise.
31242 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31243 * include/grub/mips/qemu-mips/loader.h: Likewise.
31244 * include/grub/mips/qemu-mips/memory.h: Likewise.
31245 * include/grub/mips/qemu-mips/serial.h: Likewise.
31246 * include/grub/mips/qemu-mips/time.h: Likewise.
31247 * include/grub/mips/relocator.h: Likewise.
31248 * include/grub/mips/time.h: Likewise.
31249 * include/grub/mips/types.h: Likewise.
31250 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31251 * include/grub/mips/yeeloong/boot.h: Likewise.
31252 * include/grub/mips/yeeloong/kernel.h: Likewise.
31253 * include/grub/mips/yeeloong/loader.h: Likewise.
31254 * include/grub/mips/yeeloong/memory.h: Likewise.
31255 * include/grub/mips/yeeloong/pci.h: Likewise.
31256 * include/grub/mips/yeeloong/serial.h: Likewise.
31257 * include/grub/mips/yeeloong/time.h: Likewise.
31258 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31259 * kern/elf.c (grub_elf32_size): New parameter. All users
31260 updated.
31261 (grub_elf64_size): Likewise.
31262 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31263 Load modules before saying "Welcome to GRUB!".
31264 Call grub_refresh after saying "Welcome to GRUB!".
31265 * kern/mips/cache.S: New file.
31266 * kern/mips/cache_flush.S: Likewise.
31267 * kern/mips/dl.c: Likewise.
31268 * kern/mips/init.c: Likewise.
31269 * kern/mips/qemu-mips/init.c: Likewise.
31270 * kern/mips/startup.S: Likewise.
31271 * kern/mips/yeeloong/init.c: Likewise.
31272 * kern/term.c (grub_putcode): Handle NULL terminal.
31273 (grub_getcharwidth): Likewise.
31274 (grub_getkey): Likewise.
31275 (grub_checkkey): Likewise.
31276 (grub_getkeystatus): Likewise.
31277 (grub_getxy): Likewise.
31278 (grub_getwh): Likewise.
31279 (grub_gotoxy): Likewise.
31280 (grub_cls): Likewise.
31281 (grub_setcolorstate): Likewise.
31282 (grub_setcolor): Likewise.
31283 (grub_getcolor): Likewise.
31284 (grub_refresh): Likewise.
31285 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31286 (write_jump): Add hatch nop.
31287 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31288 * lib/mips/setjmp.S: New file.
31289 * loader/mips/linux.c: Likewise.
31290 * term/i386/pc/at_keyboard.c: Move from here ...
31291 * term/at_keyboard.c: ... to here.
31292 * term/i386/pc/serial.c: Moved from here ...
31293 * term/serial.c: ... to here. All users updated.
31294 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31295 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31296 (serial_translate_key_sequence): Avoid deadlock.
31297 (grub_serial_getkey): Handle backspace.
31298 (grub_serial_putchar): Fix newline handling.
31299 * util/i386/pc/grub-mkimage.c: Move from here ...
31300 * util/grub-mkrawimage.c: ... to here. All users updated.
31301 (generate_image): New parameters 'font_path' and 'format'.
31302 Support embedding font.
31303 Use grub_host_to_target* instead of grub_cpu_to_le*.
31304 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31305 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31306 (options): New option "--font".
31307 (usage): Likewise.
31308 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31309 (main): Handle "--font".
31310 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31311 (grub_virtual_screen_setup): Set bg_color_display.
31312 (redraw_screen_rect): Use bg_color_display instead of incorrect
31313 bg_color.
31314 (grub_gfxterm_cls): Likewise.
31315 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31316 Support embedding config file.
31317 (add_segments): Likewise.
31318 (options): New option "--config".
31319 (main): Handle "--config".
31320 * video/sm712.c: New file.
31321
31322 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31323
31324 Fix parallel builds.
31325
31326 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31327 font.c depend on ascii.h).
31328
31329 2010-01-12 Carles Pina i Estany <carles@pina.cat>
31330
31331 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31332
31333 2010-01-11 Carles Pina i Estany <carles@pina.cat>
31334
31335 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31336 By default: disabled.
31337 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31338 parameter.
31339
31340 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31341
31342 * font/font.c: Update copyright years.
31343 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31344
31345 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31346
31347 * font/font.c: Include `ascii.h'.
31348 (ASCII_BITMAP_SIZE): New macro.
31349 (ascii_font_glyph): Define.
31350 (ascii_glyph_lookup): New function.
31351 (grub_font_get_string_width): Change comment. If glyph not found, use
31352 ascii_glyph_lookup.
31353 (grub_font_get_glyph_with_fallback): If glyph not available returns
31354 ascii_glyph_lookup.
31355 * util/grub-mkfont.c (file_formats): New enum.
31356 (options): Add `ascii-bitmaps' new option.
31357 (usage): Add `asii-bitmaps' new option.
31358 (write_font_ascii_bitmap): New function.
31359 (write_font): Rename to ...
31360 (write_font_p2): ... this. Remove print_glyphs call.
31361 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31362 used. Call print_glyphs.
31363 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31364
31365 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31366
31367 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31368 (grub_bin2h_SOURCES): New variable.
31369 * util/bin2h.c: New file.
31370
31371 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31372
31373 * include/multiboot.h: Resynced with spec.
31374 * include/multiboot2.h: Likewise.
31375 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31376 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31377
31378 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31379
31380 * include/grub/term.h (grub_term_register_input,
31381 grub_term_register_output): Check return of terminal init()
31382 routines, and abort if errors are raised.
31383
31384 * commands/terminal.c: Update copyright year.
31385
31386 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31387
31388 * commands/terminal.c (grub_cmd_terminal_input)
31389 (grub_cmd_terminal_output): Check return of terminal init()
31390 routines, and abort if errors are raised.
31391
31392 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31393
31394 * include/grub/i386/bsd.h: Fix include pathes.
31395
31396 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31397
31398 Add missing *BSD copyright headers.
31399
31400 * include/grub/aout.h: Add BSD licence.
31401 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31402 * include/grub/i386/freebsd_linker.h: ... here,
31403 * include/grub/i386/freebsd_reboot.h: ... here,
31404 * include/grub/i386/netbsd_bootinfo.h: ... here,
31405 * include/grub/i386/netbsd_reboot.h: ... here,
31406 * include/grub/i386/openbsd_bootarg.h: ... here,
31407 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31408 licence to each file.
31409
31410 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31411
31412 * acinclude.m4: Remove `nop' assembly instruction; it's not
31413 implemented by all architectures.
31414
31415 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31416
31417 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31418 ELILO. This is no longer necessary.
31419
31420 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31421
31422 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31423
31424 * util/grub-script-check.c: grub-script-check tool.
31425 * conf/common.rmk: Make rules for grub-script-check.
31426
31427 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31428
31429 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31430 spotting it back in 2008. Shame on me for forgetting he did.
31431
31432 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31433
31434 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31435
31436 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31437 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31438 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31439 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31440 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31441 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31442
31443 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31444
31445 * include/grub/test.h: Add license header.
31446 * tests/example_functional_test.c: Likewise.
31447 * tests/example_unit_test.c: Likewise.
31448 * tests/lib/functional_test.c: Likewise.
31449 * tests/lib/test.c: Likewise.
31450 * tests/lib/unit_test.c: Likewise.
31451
31452 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31453
31454 Use flag-based instead of hook-based video mode selection and "auto"
31455 keyword.
31456
31457 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31458 (grub_video_set_mode): Changed prototype. All users updated.
31459 (grub_video_check_mode_flag): New inline function.
31460 * video/video.c (parse_modespec): New function.
31461 (grub_video_set_mode): Parse flags and keywords.
31462
31463 2010-01-17 Carles Pina i Estany <carles@pina.cat>
31464
31465 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31466 fprintf call.
31467
31468 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31469
31470 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31471
31472 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31473
31474 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31475 string.
31476 * util/grub-emu.c (usage): Likewise.
31477 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31478 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31479 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31480 * util/i386/pc/grub-setup.c (usage): Likewise.
31481
31482 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31483
31484 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31485 the message.
31486 (grub_util_info): Likewise.
31487 (grub_util_error): Likewise.
31488 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31489 and/or new lines in `grub_util_warna', `grub_util_info',
31490 `grub_util_error' calls.
31491 * util/getroot.c: Likewise.
31492 * util/grub-editenv.c: Likewise.
31493 * util/grub-emu.c: Likewise.
31494 * util/grub-fstest.c: Likewise.
31495 * util/grub-mkdevicemap.c: Likewise.
31496 * util/grub-mkfont.c: Likewise.
31497 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31498 * util/grub-mkrelpath.c: Likewise.
31499 * util/grub-pe2elf.c: Likewise.
31500 * util/grub-probe.c: Likewise.
31501 * util/hostdisk.c: Likewise.
31502 * util/i386/efi/grub-mkimage.c: Likewise.
31503 * util/i386/pc/grub-mkimage.c: Likewise.
31504 * util/i386/pc/grub-setup.c: Likewise.
31505 * util/ieee1275/ofpath.c: Likewise.
31506 * util/mkisofs/eltorito.c: Likewise.
31507 * util/mkisofs/rock.c: Likewise.
31508 * util/mkisofs/write.c: Likewise.
31509 * util/raid.c: Likewise.
31510 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31511 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31512
31513 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31514
31515 Enable multiboot on non-pc.
31516
31517 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31518 multiboot.mod and multiboot2.mod to ...
31519 * conf/i386.rmk (pkglib_MODULES): ... here.
31520 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31521 Moved to ...
31522 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31523 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31524 Moved to ...
31525 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31526 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31527 Moved to ...
31528 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31529 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31530 Moved to ...
31531 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31532 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31533 relocator.mod.
31534 (ata_mod_SOURCES): Removed.
31535 (ata_mod_CFLAGS): Likewise.
31536 (ata_mod_LDFLAGS): Likewise.
31537 (relocator_mod_SOURCES): Removed.
31538 (relocator_mod_CFLAGS): Likewise.
31539 (relocator_mod_ASFLAGS): Likewise.
31540 (relocator_mod_LDFLAGS): Likewise.
31541 Include i386.mk.
31542 * include/grub/x86_64/multiboot.h: New file.
31543 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31544 Terminate EFI.
31545
31546 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31547
31548 Video multiboot support.
31549
31550 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31551 New prototype.
31552 * include/multiboot.h: Resynced with multiboot specification.
31553 * include/multiboot2.h: Likewise.
31554 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31555 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31556 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31557 (HAS_VGA_TEXT): Likewise.
31558 (accepts_video): New variable.
31559 (grub_multiboot_set_accepts_video): New function.
31560 (grub_multiboot_get_mbi_size): Account for video structures.
31561 (set_video_mode): New function.
31562 (retrieve_video_parameters): Likewise.
31563 (grub_multiboot_make_mbi): Fill video fields.
31564
31565 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31566
31567 Video driver ids.
31568
31569 * include/grub/video.h (grub_video_driver_id): New type.
31570 (grub_video_adapter): New member 'id'. All users updated.
31571 (grub_video_get_driver_id): New proto.
31572 * video/video.c (grub_video_get_driver_id): New function.
31573
31574 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31575
31576 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31577 `var=val'.
31578
31579 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31580
31581 * normal/cmdline.c (print_completion): Gettextizze.
31582
31583 2001-01-14 Carles Pina i Estany <carles@pina.cat>
31584
31585 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31586
31587 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31588
31589 * gettext/gettext.c (grub_gettext_translate): Push and pop
31590 grub_errno.
31591 (grub_gettext_delete_list): Change comment style.
31592 * kern/err.c (grub_error): Gettextizze.
31593 (grub_fatal): Gettextizze.
31594
31595 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31596
31597 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31598 (grub_linux16_real_boot): ... this.
31599 * kern/i386/loader.S: Likewise.
31600 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31601 (grub_linux16_boot): New function. Switches to text mode and calls
31602 grub_linux16_real_boot().
31603
31604 * loader/i386/bsd.c: Include `<grub/video.h>'.
31605 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31606 text mode before calling grub_unix_real_boot().
31607
31608 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31609 (grub_multiboot_boot): Switch to text mode before calling
31610 grub_relocator32_boot().
31611
31612 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31613 (grub_chainloader_boot): Switch to text mode before calling
31614 grub_chainloader_real_boot().
31615
31616 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31617 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31618
31619 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31620 non-empty value.
31621
31622 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31623 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31624
31625 * util/grub.d/00_header.in: Define a "savedefault" function for use
31626 in menu entries.
31627 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31628
31629 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31630 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31631
31632 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31633 saved_entry if boot_once is unset.
31634 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31635 previous saved entry (i.e. grub-reboot).
31636
31637 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31638
31639 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31640
31641 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31642
31643 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31644 `var=val'.
31645 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31646
31647 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31648
31649 * util/grub-reboot.in: Fix --version output.
31650 * util/grub-set-default.in: Likewise.
31651
31652 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31653
31654 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31655 blocks.
31656
31657 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31658
31659 * util/grub.d/00_header.in: Quote the value assigned to `default',
31660 in case it contains spaces.
31661
31662 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31663
31664 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31665 `save_default_entry' call from the macosx case to the linux case.
31666
31667 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
31668 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
31669
31670 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31671 in `chosen' environment variable.
31672 * normal/menu_text.c (get_entry_number): Check if the variable
31673 matches the title of a menu entry.
31674 (run_menu): Pass menu to get_entry_number.
31675
31676 * util/grub-reboot.in: New file.
31677 * util/grub-set-default.in: New file.
31678 * conf/common.rmk (grub-reboot): New utility.
31679 (grub-set-default): New utility.
31680
31681 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31682 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31683 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31684 move it to `saved_entry' for the next boot. Load environment on
31685 initialisation.
31686 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31687 * util/grub.d/10_hurd.in: Likewise.
31688 * util/grub.d/10_linux.in (linux_entry): Likewise.
31689 * util/grub.d/10_windows.in: Likewise.
31690 * util/grub.d/30_os-prober.in: Likewise.
31691
31692 * util/grub-install.in: Create environment block.
31693 * util/i386/efi/grub-install.in: Likewise.
31694 * util/ieee1275/grub-install.in: Likewise.
31695 * util/sparc64/ieee1275/grub-install.in: Likewise.
31696
31697 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31698
31699 Unit testing framework for GRUB.
31700
31701 * Makefile.in: Test framework build rules for 'make check'.
31702 * conf/tests.rmk: Build rules for individual tests and framework.
31703
31704 * include/grub/test.h: Header file for whitebox tests.
31705 * tests/lib/functional_test.c: Framework support for whitebox
31706 functional tests.
31707 * tests/lib/test.c: Common whitebox testing code for unit and
31708 functional tests.
31709 * tests/lib/unit_test.c: Framework support for whitebox unit
31710 tests.
31711
31712 * tests/util/grub-shell-tester.in: Support utility for grub-script
31713 tests.
31714 * tests/util/grub-shell.in: Utility to execute grub-script
31715 commands in a Qemu instance.
31716
31717 * tests/example_functional_test.c: Example whitebox functional
31718 test.
31719 * tests/example_grub_script_test.in: Example grub-script test.
31720 * tests/example_scripted_test.in: Example scripted test.
31721 * tests/example_unit_test.c: Example whitebox unit test.
31722
31723 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31724
31725 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31726 Add loader/i386/multiboot_mbi.c.
31727 (multiboot2_mod_SOURCES): Likewise.
31728 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31729 (multiboot2_mod_SOURCES): Likewise.
31730 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31731 (grub_multiboot_make_mbi): Likewise.
31732 (grub_multiboot_free_mbi): Likewise.
31733 (grub_multiboot_init_mbi): Likewise.
31734 (grub_multiboot_add_module): Likewise.
31735 (grub_multiboot_set_bootdev): Likewise.
31736 * loader/i386/multiboot.c (mbi): Removed.
31737 (mbi_dest): Likewise.
31738 (alloc_mbi): New variable.
31739 (grub_multiboot_payload_size): Removed. All users updated.
31740 (grub_multiboot_pure_size): New variable.
31741 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31742 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31743 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31744 (grub_fill_multiboot_mmap): Likewise.
31745 (grub_multiboot_get_bootdev): Likewise.
31746 (grub_multiboot): Use multiboot_mbi functions.
31747 * loader/i386/multiboot_mbi.c: New file.
31748
31749 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31750
31751 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31752 it would result in module crash.
31753
31754 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31755
31756 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31757 (grub_ofconsole_getwh): Split to ...
31758 (grub_ofconsole_getwh): ... this.
31759 (grub_ofconsole_dimensions): ...and this.
31760 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31761
31762 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31763
31764 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31765
31766 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31767
31768 * loader/i386/pc/multiboot2.c: Removed stalled file.
31769
31770 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31771
31772 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31773 Reported by: Grégoire Sutre
31774
31775 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31776
31777 * util/misc.c (canonicalize_file_name): New function.
31778 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31779 instead of realpath().
31780
31781 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
31782
31783 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31784 and make it clearer that it's optional. Based on confusion
31785 witnessed on IRC.
31786
31787 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31788
31789 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31790 in premature implicit newline.
31791
31792 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31793
31794 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31795 which resulted in garbled command line at the end of screen.
31796
31797 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31798
31799 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31800 initialization with similar approach as with other Linux loaders.
31801
31802 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31803
31804 Fix i386-ieee1275 build.
31805
31806 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31807 and grub_term_height() for video_{width,height} initialization.
31808
31809 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31810
31811 Fix grub-emu build.
31812
31813 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31814
31815 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31816 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31817
31818 Support for multiple terminals.
31819
31820 * Makefile.in (pkglib_DATA): terminal.lst.
31821 (terminal.lst): New target.
31822 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31823 (GRUB_MOD_INIT(handler)): Likewise.
31824 (GRUB_MOD_FINI(handler)): Likewise.
31825 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31826 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31827 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31828 (grub_cmd_sleep): Use grub_term_save_pos.
31829 * commands/terminal.c: New file.
31830 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31831 commands/terminal.c and lib/charset.c.
31832 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31833 (pkglib_MODULES): Add terminal.mod.
31834 (terminal_mod_SOURCES): New variable.
31835 (terminal_mod_CFLAGS): Likewise.
31836 (terminal_mod_LDFLAGS): Likewise.
31837 * genhandlerlist.sh: Don't handle terminals.
31838 * genmk.rb: Generate terminal-*.lst.
31839 * genterminallist.sh: New file.
31840 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31841 (grub_is_valid_utf8): Likewise.
31842 (grub_utf8_to_ucs4_alloc): Likewise.
31843 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31844 (grub_menu_register_viewer): Changed argument.
31845 (grub_menu_try_text): New proto.
31846 (grub_gfxmenu_try_hook): New declaration.
31847 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31848 (grub_menu_init_page): Additional argument term.
31849 (grub_normal_init_page): Likewise.
31850 (grub_cmdline_get): Arguments simplified.
31851 (grub_utf8_to_ucs4_alloc): Removed.
31852 (grub_print_ucs4): Additional argument term.
31853 (grub_getstringwidth): Likewise.
31854 (grub_print_message_indented): Likewise.
31855 (grub_menu_text_register_instances): New proto.
31856 (grub_show_menu): Likewise.
31857 (read_terminal_list): Likewise.
31858 (grub_set_more): Likewise.
31859 * include/grub/parser.h: Include handler.h.
31860 * include/grub/reader.h: Rewritten.
31861 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31862 (GRUB_TERM_WIDTH): Changed to function.
31863 (GRUB_TERM_HEIGHT): Likewise.
31864 (GRUB_TERM_BORDER_WIDTH): Likewise.
31865 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31866 (GRUB_TERM_NUM_ENTRIES): Likewise.
31867 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31868 (GRUB_TERM_CURSOR_X): Likewise.
31869 (grub_term_input_class): Likewise.
31870 (grub_term_output_class): Likewise.
31871 (grub_term_outputs_disabled): New declaration.
31872 (grub_term_inputs_disabled): Likewise.
31873 (grub_term_outputs): Likewise.
31874 (grub_term_inputs): Likewise.
31875 (grub_term_register_input): Rewritten.
31876 (grub_term_register_output): Likewise.
31877 (grub_term_unregister_input): Likewise.
31878 (grub_term_unregister_output): Likewise.
31879 (FOR_ACTIVE_TERM_INPUTS): New macro.
31880 (FOR_DISABLED_TERM_INPUTS): Likewise.
31881 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31882 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31883 * include/grub/terminfo.h: Add oterm argument to all protypes.
31884 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31885 Use grub_rescue_run.
31886 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31887 All users updated.
31888 * kern/reader.c: Removed. All users updated.
31889 * kern/rescue_reader.c (grub_rescue_init): Removed.
31890 (grub_rescue_reader): Likewise.
31891 (grub_register_rescue_reader): Likewise.
31892 (grub_rescue_run): New function based on kern/reader.c.
31893 * kern/term.c: Adapted for multiterm.
31894 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31895 (grub_is_valid_utf8): Likewise.
31896 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31897 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31898 right terminal.
31899 * loader/i386/linux.c (grub_linux_boot): Likewise.
31900 * normal/auth.c (grub_username_get): New function.
31901 (grub_auth_check_authentication): Use grub_username_get.
31902 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31903 * normal/color.c: Adapt for multiterm.
31904 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31905 (grub_normal_init_page): Additional argument term.
31906 (read_lists): Call read_terminal_lists.
31907 (grub_enter_normal_mode): Call grub_cmdline_run.
31908 Handle grub_normal_exit_level.
31909 (grub_cmd_normal): Make reentrant.
31910 (grub_cmd_normal_exit): New function.
31911 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31912 * normal/menu.c: Adapt for multiterm.
31913 * normal/menu_entry.c: Likewise.
31914 * normal/menu_text.c: Likewise.
31915 * normal/menu_viewer.c: Removed. All users updated.
31916 * normal/term.c: New file.
31917 * util/console.c: Change order of includes to workaround a bug in
31918 ncurses headers.
31919 * term/terminfo.c: New argument oterm on all exported functions.
31920 All users updated.
31921 * util/grub-editenv.c (grub_term_input_class): Removed.
31922 (grub_term_output_class): Likewise.
31923
31924 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31925
31926 Make loader output a bit more user-friendly.
31927
31928 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31929 is being loaded. Likewise for the Hurd.
31930
31931 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31932 that kernel of FreeBSD ${version} is being loaded.
31933
31934 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31935 grub_dprintf().
31936 (grub_cmd_initrd): Likewise.
31937 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31938 that Linux ${version} is being loaded. Likewise for initrd.
31939
31940 2010-01-09 Carles Pina i Estany <carles@pina.cat>
31941
31942 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31943
31944 2010-01-08 Carles Pina i Estany <carles@pina.cat>
31945
31946 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31947 (GRUB_MOD_INIT): Gettextizze.
31948 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31949 (GRUB_MOD_INIT): Gettextizze.
31950 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31951 (grub_cmd_linux): Capitalise Linux.
31952 (GRUB_MOD_INIT): Gettextizze.
31953 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31954 (grub_cmd_linux): Capitalise Linux.
31955 (GRUB_MOD_INIT): Gettextizze.
31956 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31957 (grub_cmd_linux): Capitalise Linux.
31958 (GRUB_MOD_INIT): Gettextizze.
31959 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31960 (GRUB_MOD_INIT): Gettextizze.
31961 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31962 (grub_cmd_linux): Capitalise Linux.
31963 (GRUB_MOD_INIT): Gettextizze.
31964 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31965 (grub_cpu_xnu_init): Gettextizze.
31966 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31967 (GRUB_MOD_INIT): Gettextizze.
31968 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31969 (GRUB_MOD_INIT): Gettextizze.
31970 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31971 (grub_linux_load64): Capitalise Linux.
31972 (GRUB_MOD_INIT): Gettextizze.
31973 * loader/xnu.c: Include `<grub/i18n.h>'.
31974 (GRUB_MOD_INIT): Gettextizze.
31975 * po/POTFILES: Add `loader/efi/appleloader.c',
31976 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
31977 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
31978 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
31979 `loader/i386/xnu.c', `loader/multiboot_loader.c',
31980 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
31981 and `loader/xnu.c'.
31982
31983 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31984
31985 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
31986
31987 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
31988
31989 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
31990 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
31991 * util/mkisofs/mkisofs.c (main): Readjust --version output.
31992
31993 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
31994
31995 Reset Multiboot 2 support. New loader implements the draft in
31996 /branches/multiboot2 and shares as much code as possible with the
31997 production Multiboot 1 implementation.
31998
31999 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32000 * loader/multiboot2.c: Likewise.
32001 * loader/i386/multiboot_helper.S: Likewise.
32002 * include/multiboot2.h: Replace with latest version from the draft
32003 in /branches/multiboot2.
32004
32005 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32006 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32007 and `loader/multiboot2.c'.
32008 (pkglib_MODULES): Add `multiboot2.mod'.
32009 (multiboot2_mod_SOURCES): New variable.
32010 (multiboot2_mod_LDFLAGS): Likewise.
32011 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32012
32013 * conf/i386-pc.rmk: Likewise.
32014
32015 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32016 (multiboot_mod_SOURCES): Remove variable.
32017 (multiboot_mod_LDFLAGS): Likewise.
32018 (multiboot_mod_CFLAGS): Likewise.
32019
32020 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32021 `<multiboot2.h>' instead of `<multiboot.h>'.
32022 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32023 (MULTIBOOT_HEADER_MAGIC): New macros.
32024
32025 * loader/multiboot_loader.c (module_version_status): Remove variable.
32026 (find_multi_boot2_header): Remove function.
32027 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32028 logic. Always check for the Multiboot version we're compiling for.
32029 (grub_cmd_module_loader): Likewise.
32030 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32031 command instead of `multiboot'.
32032
32033 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32034
32035 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32036 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32037 all users.
32038
32039 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32040 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32041
32042 Fix breakage introduced with previous commit.
32043
32044 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32045 commands.
32046 * normal/handler.c (read_handler_list): Revert part of previous commit
32047 affecting this file.
32048 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32049 (grub_normal_execute): ... here.
32050
32051 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32052
32053 Merge prefix-redefinition-fix branch.
32054
32055 * normal/autofs.c (read_fs_list): Make function capable of being
32056 run multiple times, gracefuly replacing the previous data
32057 structures.
32058 * normal/dyncmd.c (read_command_list): Likewise.
32059 * normal/handler.c (read_handler_list): Likewise.
32060 * normal/main.c (read_lists): New function. Calls all the
32061 list reading functions.
32062 (grub_normal_execute): Use read_lists() instead of calling all
32063 list reading functions explicitly. Register read_lists() as a
32064 variable hook attached to ${prefix}.
32065
32066 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32067
32068 Merge crypto branch.
32069
32070 * Makefile.in (pkglib_DATA): Add crypto.lst.
32071 (crypto.lst): New target.
32072 * commands/hashsum.c: New file.
32073 * commands/password.c (check_password): Use grub_crypto_memcmp.
32074 * commands/password_pbkdf2.c: New file.
32075 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32076 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32077 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32078 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32079 -I$(srcdir)/lib/libgcrypt_wrap.
32080 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32081 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32082 password_pbkdf2.mod.
32083 (crypto_mod_SOURCES): New variable.
32084 (crypto_mod_CFLAGS): Likewise.
32085 (crypto_mod_LDFLAGS): Likewise.
32086 (hashsum_mod_SOURCES): New variable.
32087 (hashsum_mod_CFLAGS): Likewise.
32088 (hashsum_mod_LDFLAGS): Likewise.
32089 (pbkdf2_mod_SOURCES): New variable.
32090 (pbkdf2_mod_CFLAGS): Likewise.
32091 (pbkdf2_mod_LDFLAGS): Likewise.
32092 (password_pbkdf2_mod_SOURCES): New variable.
32093 (password_pbkdf2_mod_CFLAGS): Likewise.
32094 (password_pbkdf2_mod_LDFLAGS): Likewise.
32095 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32096 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32097 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32098 Include conf/gcry.rmk.
32099 * include/grub/auth.h: Rewritten.
32100 * include/grub/crypto.h: New file.
32101 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32102 * include/grub/normal.h (read_crypto_list): New prototype.
32103 * lib/crypto.c: New file.
32104 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32105 * lib/pbkdf2.c: Likewise.
32106 * normal/auth.c (grub_auth_strcmp): Removed.
32107 (grub_iswordseparator): Likewise.
32108 (grub_auth_strword): Likewise.
32109 (is_authenticated): Use grub_strword.
32110 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32111 and grub_strword. Pass entered password to authentication callback.
32112 * normal/crypto.c: New file.
32113 * normal/main.c: Call read_crypto_list.
32114 * util/grub-mkpasswd-pbkdf2.c: New file.
32115 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32116
32117 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32118
32119 Fix descent and ascent calculation.
32120
32121 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32122 (options): New option "asce".
32123 (usage): Likewise.
32124 (add_char): Ignore invalid glyphs for descent calculation.
32125 Calculate ascent from actual content.
32126 (print_glyphs): Use 'asce'.
32127 (write_font): Likewise. Allow ascent override.
32128 (main): Handle "asce" option.
32129
32130 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32131
32132 * kern/err.c: Include `<grub/i18n.h>'.
32133 (grub_print_error): Add full stop. Gettextizze.
32134 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32135 (grub_bsd_load_elf): Capitalise ELF.
32136 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32137 (grub_cmd_freebsd_module): Likewise.
32138 (grub_cmd_freebsd_module_elf): Likewise.
32139 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32140
32141 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32142
32143 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32144 * commands/search_file.c (HELP_MESSAGE): New macro.
32145 * commands/search_label.c (HELP_MESSAGE): Likewise.
32146 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32147 * po/POTFILES: Add `commands/search_file.c',
32148 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32149 `commands/search.c'.
32150
32151 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32152
32153 * config.rpath: Update from Gnulib.
32154
32155 2010-01-05 Yves Blusseau <blusseau@zetam.org>
32156
32157 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32158
32159 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32160
32161 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32162
32163 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32164
32165 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32166 arguments to fread so that we get a return value in bytes, rather
32167 than something that will normally be rounded down to 0.
32168 Adjust error handling to avoid producing garbage when size_t is not
32169 the same size as long long.
32170
32171 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32172
32173 * util/mkisofs/write.c (padblock_write): Check return value of
32174 fread.
32175
32176 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32177
32178 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32179 floppy images now.
32180
32181 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32182
32183 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32184
32185 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32186 instead of manual alignment.
32187 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32188 verbose). Avoid attempts to read past end of the device
32189 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32190 but GRUB_DISK_CACHE_SIZE may exceed that).
32191
32192 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32193
32194 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32195 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32196 it to upper layer.
32197
32198 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32199
32200 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32201 New constant.
32202 (grub_efi_piwg_device_path): New structure
32203 (grub_efi_piwg_device_path_t): New type.
32204 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32205 (devpath_1): Transform to a structure. All users updated.
32206 (devpath_2): Likewise.
32207 (devpath_3): Likewise.
32208 (devpath_4): Likewise.
32209 (devpath_5): Likewise.
32210
32211 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32212
32213 * loader/efi/appleloader.c: Restored. Update all users.
32214
32215 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32216
32217 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32218
32219 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32220 (struct boot_blocklist): Move from here ...
32221 * include/grub/i386/pc/boot.h [ASM_FILE]
32222 (struct grub_boot_blocklist): ... to here. Update all users.
32223 (setup): Only initialize `start' member of `first_block'
32224 structure. Add assert() calls to verify the other members.
32225
32226 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32227 (generate_image): Fix broken blocklist length initialization.
32228 Add assert() call to verify blocklist `segment' field.
32229
32230 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32231
32232 * loader/efi/appleloader.c: Remove. Update all users.
32233
32234 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32235
32236 * boot/i386/pc/boot.S: Update copyright year.
32237 * boot/i386/pc/cdboot.S: Likewise.
32238 * boot/i386/pc/diskboot.S: Likewise.
32239 * boot/i386/pc/lnxboot.S: Likewise.
32240 * boot/i386/pc/pxeboot.S: Likewise.
32241 * bus/pci.c: Likewise.
32242 * commands/cmp.c: Likewise.
32243 * commands/help.c: Likewise.
32244 * commands/hexdump.c: Likewise.
32245 * commands/i386/pc/halt.c: Likewise.
32246 * commands/i386/pc/play.c: Likewise.
32247 * commands/i386/pc/vbeinfo.c: Likewise.
32248 * commands/ls.c: Likewise.
32249 * commands/test.c: Likewise.
32250 * disk/dmraid_nvidia.c: Likewise.
32251 * disk/i386/pc/biosdisk.c: Likewise.
32252 * disk/ieee1275/nand.c: Likewise.
32253 * disk/ieee1275/ofdisk.c: Likewise.
32254 * disk/lvm.c: Likewise.
32255 * disk/raid.c: Likewise.
32256 * disk/raid6_recover.c: Likewise.
32257 * disk/scsi.c: Likewise.
32258 * fs/affs.c: Likewise.
32259 * fs/cpio.c: Likewise.
32260 * fs/ext2.c: Likewise.
32261 * fs/hfs.c: Likewise.
32262 * fs/iso9660.c: Likewise.
32263 * fs/ntfs.c: Likewise.
32264 * fs/sfs.c: Likewise.
32265 * fs/udf.c: Likewise.
32266 * fs/ufs.c: Likewise.
32267 * fs/xfs.c: Likewise.
32268 * gencmdlist.sh: Likewise.
32269 * genmk.rb: Likewise.
32270 * include/grub/disk.h: Likewise.
32271 * include/grub/efi/api.h: Likewise.
32272 * include/grub/efi/efi.h: Likewise.
32273 * include/grub/efi/pe32.h: Likewise.
32274 * include/grub/elf.h: Likewise.
32275 * include/grub/fs.h: Likewise.
32276 * include/grub/i386/at_keyboard.h: Likewise.
32277 * include/grub/i386/pc/memory.h: Likewise.
32278 * include/grub/i386/pc/vbe.h: Likewise.
32279 * include/grub/i386/pci.h: Likewise.
32280 * include/grub/i386/tsc.h: Likewise.
32281 * include/grub/ieee1275/ieee1275.h: Likewise.
32282 * include/grub/ntfs.h: Likewise.
32283 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32284 * include/grub/sparc64/libgcc.h: Likewise.
32285 * include/grub/symbol.h: Likewise.
32286 * include/grub/types.h: Likewise.
32287 * include/multiboot2.h: Likewise.
32288 * io/gzio.c: Likewise.
32289 * kern/device.c: Likewise.
32290 * kern/disk.c: Likewise.
32291 * kern/efi/efi.c: Likewise.
32292 * kern/efi/mm.c: Likewise.
32293 * kern/elf.c: Likewise.
32294 * kern/file.c: Likewise.
32295 * kern/i386/dl.c: Likewise.
32296 * kern/i386/pc/init.c: Likewise.
32297 * kern/i386/pc/startup.S: Likewise.
32298 * kern/ieee1275/ieee1275.c: Likewise.
32299 * kern/ieee1275/init.c: Likewise.
32300 * kern/main.c: Likewise.
32301 * kern/mm.c: Likewise.
32302 * kern/powerpc/dl.c: Likewise.
32303 * kern/sparc64/dl.c: Likewise.
32304 * kern/x86_64/dl.c: Likewise.
32305 * lib/hexdump.c: Likewise.
32306 * loader/efi/appleloader.c: Likewise.
32307 * loader/i386/ieee1275/linux.c: Likewise.
32308 * loader/i386/pc/chainloader.c: Likewise.
32309 * loader/i386/pc/linux.c: Likewise.
32310 * loader/i386/pc/multiboot2.c: Likewise.
32311 * loader/ieee1275/multiboot2.c: Likewise.
32312 * loader/multiboot2.c: Likewise.
32313 * loader/multiboot_loader.c: Likewise.
32314 * loader/powerpc/ieee1275/linux.c: Likewise.
32315 * normal/completion.c: Likewise.
32316 * normal/menu_entry.c: Likewise.
32317 * partmap/apple.c: Likewise.
32318 * util/grub.d/10_hurd.in: Likewise.
32319 * util/hostfs.c: Likewise.
32320 * video/readers/png.c: Likewise.
32321
32322 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
32323
32324 * include/grub/misc.h (GNUC_PREREQ): New macro.
32325 (ATTRIBUTE_ERROR): New macro.
32326 * include/grub/list.h (grub_bad_type_cast_real): Use
32327 ATTRIBUTE_ERROR.
32328
32329 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32330
32331 * normal/menu_text.c (print_message): Change messages.
32332
32333 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32334
32335 * normal/menu_entry.c (store_completion): Gettextizze.
32336
32337 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32338
32339 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32340
32341 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32342
32343 * po/POTFILES: Sort correctly.
32344
32345 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32346
32347 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32348 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32349 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32350 full stop.
32351 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32352 summary. Gettextizze the strings.
32353 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32354 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32355 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32356 full stop.
32357 (GRUB_MOD_INIT): Remove command name from summary.
32358 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32359 summary.
32360 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32361 * term/i386/pc/serial.c (options): Add full stops.
32362 (GRUB_MOD_INIT): Remove command name from the summary.
32363
32364 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32365
32366 * commands/acpi.c: Gettextizze help strings and/or options. Include
32367 `grub/i18n.h' if needed.
32368 * commands/blocklist.c: Likewise.
32369 * commands/boot.c: Likewise.
32370 * commands/cat.c: Likewise.
32371 * commands/cmp.c: Likewise.
32372 * commands/configfile.c: Likewise.
32373 * commands/crc.c: Likewise.
32374 * commands/date.c: Likewise.
32375 * commands/echo.c: Likewise.
32376 * commands/efi/fixvideo.c: Likewise.
32377 * commands/efi/loadbios.c: Likewise.
32378 * commands/gptsync.c: Likewise.
32379 * commands/halt.c: Likewise.
32380 * commands/handler.c: Likewise.
32381 * commands/hdparm.c: Likewise.
32382 * commands/hexdump.c: Likewise.
32383 * commands/i386/cpuid.c: Likewise.
32384 * commands/i386/pc/drivemap.c: Likewise.
32385 * commands/i386/pc/halt.c: Likewise.
32386 * commands/i386/pc/pxecmd.c: Likewise.
32387 * commands/i386/pc/vbeinfo.c: Likewise.
32388 * commands/i386/pc/vbetest.c: Likewise.
32389 * commands/ieee1275/suspend.c: Likewise.
32390 * commands/keystatus.c: Likewise.
32391 * commands/loadenv.c: Likewise.
32392 * commands/ls.c: Likewise.
32393 * commands/lsmmap.c: Likewise.
32394 * commands/lspci.c: Likewise.
32395 * commands/memrw.c: Likewise.
32396 * commands/minicmd.c: Likewise.
32397 * commands/parttool.c: Likewise.
32398 * commands/password.c: Likewise.
32399 * commands/probe.c: Likewise.
32400 * commands/read.c: Likewise.
32401 * commands/reboot.c: Likewise.
32402 * commands/search.c: Likewise.
32403 * commands/sleep.c: Likewise.
32404 * commands/test.c: Likewise.
32405 * commands/true.c: Likewise.
32406 * commands/usbtest.c: Likewise.
32407 * commands/videotest.c: Likewise.
32408 * commands/xnu_uuid.c: Likewise.
32409 * disk/loopback.c: Likewise.
32410 * hello/hello.c: Likewise.
32411 * loader/i386/bsd.c: Likewise.
32412 * term/i386/pc/serial.c: Likewise.
32413 * po/POTFILES: Add new files.
32414
32415 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
32416
32417 * term/i386/pc/at_keyboard.c
32418 (keyboard_controller_wait_untill_ready): Rename to ...
32419 (keyboard_controller_wait_until_ready): ... this. Update all users.
32420
32421 2010-01-01 Carles Pina i Estany <carles@pina.cat>
32422
32423 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32424 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32425 string using string width.
32426 * normal/menu_text.c (grub_print_message_indented): Use
32427 grub_print_spaces and not print_spaces.
32428 (print_timeout): Likewise.
32429 (print_spaces): Move to...
32430 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32431
32432 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32433
32434 Import from Gnulib.
32435
32436 * gnulib/getdelim.c: New file.
32437 * gnulib/getline.c: Likewise.
32438
32439 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32440
32441 * include/grub/list.h (grub_assert_fail): Removed.
32442 (grub_bad_type_cast_real): New function.
32443 (grub_bad_type_cast): New macro.
32444 (GRUB_AS_LIST): Use grub_bad_type_cast.
32445 (GRUB_AS_LIST_P): Likewise.
32446 (GRUB_AS_NAMED_LIST): Likewise.
32447 (GRUB_AS_NAMED_LIST_P): Likewise.
32448 (GRUB_AS_PRIO_LIST): Likewise.
32449 (GRUB_AS_PRIO_LIST_P): Likewise.
32450 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
32451
32452 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32453
32454 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32455 Fix syntax error.
32456
32457 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32458
32459 * configure.ac: Check for TARGET_CFLAGS initialization before we
32460 initialize it ourselves (sigh).
32461 Move a few modifications to TARGET_CFLAGS to be unconditional
32462 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32463 eh_frame)
32464
32465 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32466 * term/i386/pc/at_keyboard.c
32467 (keyboard_controller_wait_untill_ready): Likewise.
32468 (keyboard_controller_led): Rename `led_status' paramter to avoid
32469 name conflict.
32470
32471 2009-12-28 Carles Pina i Estany <carles@pina.cat>
32472
32473 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32474 quotes.
32475
32476 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32477
32478 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32479
32480 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32481
32482 * normal/menu_text.c (grub_print_message_indented): Prevent
32483 past-the-end-of-array dereference.
32484
32485 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32486
32487 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32488 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32489
32490 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32491
32492 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32493 * normal/main.c (grub_normal_read_line): Remove a space from the
32494 default prompt.
32495
32496 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32497
32498 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32499 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32500 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32501 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32502 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32503 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32504 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32505
32506 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32507
32508 * video/readers/jpeg.c (cmd): Declare.
32509 (grub_cmd_jpegtest): Use `grub_command_t' type.
32510 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32511 Assign to `cmd'.
32512 (GRUB_MOD_FINI): Use `cmd' to unregister.
32513 * video/readers/png.c (cmd): Declare.
32514 (grub_cmd_pngtest): Use `grub_command_t' type.
32515 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32516 Assign to `cmd'.
32517 (GRUB_MOD_FINI): Use `cmd' to unregister.
32518 * video/readers/tga.c (cmd): Declare.
32519 (grub_cmd_tgatest): Use `grub_command_t' type.
32520 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32521 Assign to `cmd'.
32522 (GRUB_MOD_FINI): Use `cmd' to unregister.
32523
32524 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32525
32526 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32527 stops.
32528 * kern/corecmd.c (grub_register_core_commands): Likewise.
32529 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32530 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32531 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32532 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32533 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32534 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32535 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32536 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32537 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32538 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32539 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32540 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32541 * normal/handler.c (insert_handler): Likewise.
32542 * normal/main.c (GRUB_MOD_INIT): Likewise.
32543 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32544
32545 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32546
32547 * commands/help.c (grub_cmd_help): Print the command name before the
32548 summary.
32549 (GRUB_MOD_INIT): Remove command name from the summary.
32550 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
32551 string as summary.
32552 * lib/arg.c (find_long): Print the command name before the summary.
32553 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32554 summary.
32555 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32556 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32557 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32558 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32559 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32560 * commands/date.c (GRUB_MOD_INIT): Likewise.
32561 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32562 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32563 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32564 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32565 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32566 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32567 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32568 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32569 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32570 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32571 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32572 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32573 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32574 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32575 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32576 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32577 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32578 * commands/password.c (GRUB_MOD_INIT): Likewise.
32579 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32580 * commands/read.c (GRUB_MOD_INIT): Likewise.
32581 * commands/search.c (GRUB_MOD_INIT): Likewise.
32582 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32583 * commands/test.c (GRUB_MOD_INIT): Likewise.
32584 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32585 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32586 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32587 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32588 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32589 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32590 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32591 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32592 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32593 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32594 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32595 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32596 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32597 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32598
32599 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32600
32601 Use search command for preliminar UUID search.
32602
32603 * commands/search.c: Split into ...
32604 * commands/search_wrap.c: ...this
32605 * commands/search.c: ...and this.
32606 * commands/search_file.c: New file.
32607 * commands/search_label.c: New file.
32608 * commands/search_uuid.c: New file.
32609 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32610 Add commands/search_wrap.c, commands/search_file.c,
32611 commands/search_label.c and commands/search_uuid.c.
32612 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32613 (search_mod_SOURCES): Set to commands/search_wrap.c.
32614 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32615 search_label.mod.
32616 (search_fs_file_mod_SOURCES): New variable.
32617 (search_fs_file_mod_CFLAGS): Likewise.
32618 (search_fs_file_mod_LDFLAGS): Likewise.
32619 (search_label_mod_SOURCES): Likewise.
32620 (search_label_mod_CFLAGS): Likewise.
32621 (search_label_mod_LDFLAGS): Likewise.
32622 (search_fs_uuid_mod_SOURCES): New variable.
32623 (search_fs_uuid_mod_CFLAGS): Likewise.
32624 (search_fs_uuid_mod_LDFLAGS): Likewise.
32625 (fs_file_mod_SOURCES): Removed.
32626 (fs_file_mod_CFLAGS): Likewise.
32627 (fs_file_mod_LDFLAGS): Likewise.
32628 (fs_uuid_mod_SOURCES): Removed.
32629 (fs_uuid_mod_CFLAGS): Likewise.
32630 (fs_uuid_mod_LDFLAGS): Likewise.
32631 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32632 Set to util/grub-install.in.
32633 * disk/fs_file.c: Removed.
32634 * disk/fs_uuid.c: Likewise.
32635 * include/grub/search.h: New file.
32636 * util/grub-install.in: Handle sparc64.
32637 Create and use load.cfg.
32638 * util/sparc64/ieee1275/grub-install.in: Removed.
32639
32640 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32641
32642 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32643 Ignore return status if CF is cleared.
32644 (grub_biosdisk_get_diskinfo_standard): Likewise.
32645
32646 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32647
32648 * term/i386/pc/at_keyboard.c
32649 (keyboard_controller_wait_untill_ready): New function.
32650 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32651 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32652 for keyboard polling, rather than duplicate the same loop. This
32653 saves a few bytes in code size.
32654
32655 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32656
32657 Support for (pxe[:server[:gateway]]) syntax and
32658 use environment variable for PXE.
32659
32660 * commands/i386/pc/pxecmd.c (options): Removed.
32661 (print_ip): Removed.
32662 (grub_cmd_pxe): Removed
32663 (grub_cmd_pxe_unload): New function.
32664 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32665 (grub_pxe_your_ip): Made static.
32666 (grub_pxe_default_server_ip): Likewise.
32667 (grub_pxe_default_gateway_ip): Likewise.
32668 (grub_pxe_blksize): Likewise.
32669 (parse_ip): New function.
32670 (grub_pxe_open): Support server and gateway specification.
32671 (grub_pxe_close): Free disk->data.
32672 (grub_pxefs_open): Use disk->data.
32673 (grub_pxefs_read): Likewise.
32674 (grub_env_write_readonly): New function.
32675 (set_mac_env): Likewise.
32676 (set_env_limn_ro): Likewise.
32677 (parse_dhcp_vendor): Likewise.
32678 (grub_pxe_detect): Set the environment variables.
32679 (set_ip_env): New function.
32680 (write_ip_env): Likewise.
32681 (grub_env_write_pxe_default_server): Likewise.
32682 (grub_env_write_pxe_default_gateway): Likewise.
32683 (grub_env_write_pxe_blocksize): Likewise.
32684 (GRUB_MOD_INIT(pxe)): Set environment variables.
32685 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32686 (grub_pxe_mac_addr_t): ... this. All users updated.
32687 (grub_pxe_your_ip): Removed.
32688 (grub_pxe_server_ip): Likewise.
32689 (grub_pxe_gateway_ip): Likewise.
32690 (grub_pxe_blksize): Likewise.
32691
32692 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32693
32694 * commands/help.c: Include `<grub/i18n.h>'.
32695 (grub_cmd_help): Gettextizze.
32696 (GRUB_MOD_INIT): Likewise.
32697 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32698 (GRUB_MOD_INIT): Gettextizze.
32699 * commands/search.c: Include `<grub/i18n.h>'.
32700 (options): Gettextizze.
32701 (GRUB_MOD_INIT): Gettextizze.
32702 * lib/arg.c: Include `<grub/i18n.h>'.
32703 (help_options): Gettextizze.
32704 (find_long): Likewise.
32705 (grub_arg_show_help): Likewise.
32706 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32707 (read_command_list): Gettextizze.
32708 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
32709 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
32710
32711 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32712
32713 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32714 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32715 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32716 (led_status): New variable.
32717 (keyboard_controller_led): New function.
32718 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32719 update led status for caps lock, num lock and scroll lock.
32720
32721 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
32722
32723 * util/hostdisk.c (open_device): Fix a comment.
32724
32725 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32726
32727 * util/grub-install.in (host_os): New variable.
32728 * util/i386/efi/grub-install.in (host_os): Likewise.
32729
32730 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32731
32732 * util/mkisofs/write.c (padblock_write): Abort when given an
32733 excedingly large embed image, instead of silently truncating it.
32734
32735 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32736
32737 * include/multiboot.h: Indentation fixes.
32738
32739 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32740
32741 * include/multiboot.h (struct multiboot_aout_symbol_table)
32742 (struct multiboot_elf_section_header_table): New structure
32743 declarations (stolen from GRUB Legacy).
32744 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32745 table information.
32746
32747 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32748 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32749 type aliases.
32750
32751 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32752
32753 * include/multiboot.h: Make comments src2texi-friendly.
32754
32755 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32756
32757 For consistency with [multiboot]/docs/boot.S.
32758
32759 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32760 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32761 (MULTIBOOT_MAGIC2): Rename from this ...
32762 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32763
32764 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32765
32766 * include/multiboot.h: Remove `<grub/types.h>'.
32767 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32768 types. Update all users.
32769
32770 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32771
32772 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32773 `couldn't' and `can not' by `cannot'.
32774 * commands/i386/pc/drivemap.c: Likewise.
32775 * disk/ata.c: Likewise.
32776 * disk/ieee1275/nand.c: Likewise.
32777 * fs/affs.c: Likewise.
32778 * fs/fat.c: Likewise.
32779 * fs/hfs.c: Likewise.
32780 * fs/hfsplus.c: Likewise.
32781 * fs/iso9660.c: Likewise.
32782 * fs/jfs.c: Likewise.
32783 * fs/minix.c: Likewise.
32784 * fs/reiserfs.c: Likewise.
32785 * fs/sfs.c: Likewise.
32786 * fs/udf.c: Likewise.
32787 * fs/ufs.c: Likewise.
32788 * fs/xfs.c: Likewise.
32789 * loader/powerpc/ieee1275/linux.c: Likewise.
32790 * loader/sparc64/ieee1275/linux.c: Likewise.
32791 * util/grub-probe.c: Likewise.
32792 * util/misc.c: Likewise.
32793
32794 2009-12-24 Carles Pina i Estany <carles@pina.cat>
32795
32796 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32797 grub_errno calls.
32798 * commands/acpi.c: Likewise.
32799 * commands/blocklist.c: Likewise.
32800 * commands/efi/loadbios.c: Likewise.
32801 * commands/i386/pc/drivemap.c: Likewise.
32802 * commands/loadenv.c: Likewise.
32803 * commands/memrw.c: Likewise.
32804 * commands/password.c: Likewise.
32805 * commands/videotest.c: Likewise.
32806 * disk/ata.c: Likewise.
32807 * disk/ata_pthru.c: Likewise.
32808 * disk/dmraid_nvidia.c: Likewise.
32809 * disk/ieee1275/nand.c: Likewise.
32810 * disk/ieee1275/ofdisk.c: Likewise.
32811 * disk/loopback.c: Likewise.
32812 * disk/lvm.c: Likewise.
32813 * disk/mdraid_linux.c: Likewise.
32814 * disk/raid.c: Likewise.
32815 * disk/raid6_recover.c: Likewise.
32816 * disk/scsi.c: Likewise.
32817 * efiemu/main.c: Likewise.
32818 * efiemu/mm.c: Likewise.
32819 * efiemu/pnvram.c: Likewise.
32820 * efiemu/symbols.c: Likewise.
32821 * font/font.c: Likewise.
32822 * fs/cpio.c: Likewise.
32823 * fs/hfsplus.c: Likewise.
32824 * fs/iso9660.c: Likewise.
32825 * fs/jfs.c: Likewise.
32826 * fs/minix.c: Likewise.
32827 * fs/ntfs.c: Likewise.
32828 * fs/ntfscomp.c: Likewise.
32829 * fs/reiserfs.c: Likewise.
32830 * fs/ufs.c: Likewise.
32831 * fs/xfs.c: Likewise.
32832 * gettext/gettext.c: Likewise.
32833 * include/grub/auth.h: Likewise.
32834 * kern/elf.c: Likewise.
32835 * kern/file.c: Likewise.
32836 * kern/ieee1275/init.c: Likewise.
32837 * kern/ieee1275/mmap.c: Likewise.
32838 * kern/ieee1275/openfw.c: Likewise.
32839 * kern/powerpc/dl.c: Likewise.
32840 * kern/sparc64/dl.c: Likewise.
32841 * lib/arg.c: Likewise.
32842 * loader/i386/bsd.c: Likewise.
32843 * loader/i386/bsdXX.c: Likewise.
32844 * loader/i386/efi/linux.c: Likewise.
32845 * loader/i386/efi/xnu.c: Likewise.
32846 * loader/i386/ieee1275/linux.c: Likewise.
32847 * loader/i386/linux.c: Likewise.
32848 * loader/i386/multiboot.c: Likewise.
32849 * loader/i386/pc/linux.c: Likewise.
32850 * loader/i386/pc/multiboot2.c: Likewise.
32851 * loader/i386/xnu.c: Likewise.
32852 * loader/ieee1275/multiboot2.c: Likewise.
32853 * loader/macho.c: Likewise.
32854 * loader/machoXX.c: Likewise.
32855 * loader/multiboot2.c: Likewise.
32856 * loader/multiboot_loader.c: Likewise.
32857 * loader/powerpc/ieee1275/linux.c: Likewise.
32858 * loader/sparc64/ieee1275/linux.c: Likewise.
32859 * loader/xnu.c: Likewise.
32860 * loader/xnu_resume.c: Likewise.
32861 * mmap/i386/pc/mmap.c: Likewise.
32862 * normal/menu_viewer.c: Likewise.
32863 * partmap/acorn.c: Likewise.
32864 * partmap/amiga.c: Likewise.
32865 * partmap/apple.c: Likewise.
32866 * script/lexer.c: Likewise.
32867 * term/gfxterm.c: Likewise.
32868 * term/i386/pc/serial.c: Likewise.
32869 * term/i386/pc/vga.c: Likewise.
32870 * term/ieee1275/ofconsole.c: Likewise.
32871 * term/terminfo.c: Likewise.
32872 * video/bitmap.c: Likewise.
32873 * video/efi_gop.c: Likewise.
32874 * video/efi_uga.c: Likewise.
32875 * video/fb/video_fb.c: Likewise.
32876 * video/i386/pc/vbe.c: Likewise.
32877 * video/readers/tga.c: Likewise.
32878 * video/video.c: Likewise.
32879
32880 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
32881
32882 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32883 * commands/lspci.c: Likewise.
32884 * commands/probe.c: Likewise.
32885 * commands/xnu_uuid.c: Likewise.
32886 * conf/i386-coreboot.rmk: Likewise.
32887 * conf/i386-efi.rmk: Likewise.
32888 * conf/i386-ieee1275.rmk: Likewise.
32889 * conf/i386-pc.rmk: Likewise.
32890 * conf/powerpc-ieee1275.rmk: Likewise.
32891 * conf/sparc64-ieee1275.rmk: Likewise.
32892 * conf/x86_64-efi.rmk: Likewise.
32893 * fs/i386/pc/pxe.c: Likewise.
32894 * gettext/gettext.c: Likewise.
32895 * include/grub/efi/graphics_output.h: Likewise.
32896 * include/grub/i386/pc/memory.h: Likewise.
32897 * kern/env.c: Likewise.
32898 * kern/i386/qemu/startup.S: Likewise.
32899 * lib/i386/pc/biosnum.c: Likewise.
32900 * lib/i386/relocator.c: Likewise.
32901 * lib/i386/relocator_asm.S: Likewise.
32902 * lib/relocator.c: Likewise.
32903 * loader/i386/bsd.c: Likewise.
32904 * loader/i386/multiboot.c: Likewise.
32905 * loader/i386/pc/chainloader.c: Likewise.
32906 * loader/i386/xnu.c: Likewise.
32907 * loader/xnu.c: Likewise.
32908 * normal/main.c: Likewise.
32909 * normal/menu_text.c: Likewise.
32910 * util/getroot.c: Likewise.
32911 * util/grub-mkconfig_lib.in: Likewise.
32912 * util/grub.d/00_header.in: Likewise.
32913 * util/i386/pc/grub-mkimage.c: Likewise.
32914 * util/mkisofs/eltorito.c: Likewise.
32915 * util/mkisofs/exclude.h: Likewise.
32916 * util/mkisofs/hash.c: Likewise.
32917 * util/mkisofs/iso9660.h: Likewise.
32918 * util/mkisofs/joliet.c: Likewise.
32919 * util/mkisofs/mkisofs.c: Likewise.
32920 * util/mkisofs/mkisofs.h: Likewise.
32921 * util/mkisofs/multi.c: Likewise.
32922 * util/mkisofs/name.c: Likewise.
32923 * util/mkisofs/rock.c: Likewise.
32924 * util/mkisofs/tree.c: Likewise.
32925 * util/mkisofs/write.c: Likewise.
32926 * video/efi_gop.c: Likewise.
32927
32928 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32929
32930 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32931 size counting.
32932
32933 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32934
32935 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32936 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32937
32938 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32939
32940 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32941 (GRUB_MOD_INIT(memrw)): Update help line.
32942
32943 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32944
32945 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32946 Use grub_extcmd_t. All users updated.
32947 (options): New variable.
32948 (grub_cmd_read): Restructure for readability. Support "-v" option.
32949 (grub_cmd_write): Restructure for readability.
32950
32951 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32952
32953 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32954
32955 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32956
32957 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32958 with the actual contents of the correspondending make variable.
32959 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32960 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32961 specifying `*.lst' and `efiemu??.o'
32962
32963 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32964
32965 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32966 after function name.
32967 Noticed by Rene Engelhard <rene@debian.org>.
32968
32969 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32970
32971 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32972 (options): New variable.
32973 (iospace): Likewise.
32974 (grub_lspci_iter): List IO spaces if "-i" was given.
32975 (grub_cmd_lspci): Parse options.
32976 (GRUB_MOD_INIT(lspci)): Use extcmd.
32977 (GRUB_MOD_FINI(lspci)): Likewise.
32978
32979 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32980
32981 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
32982 `function' keyword.
32983 Patch by Tony Mancill <tmancill@debian.org>.
32984
32985 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32986
32987 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
32988 (grub_uhci_portstatus): Likewise.
32989 (grub_uhci_portstatus): Add necessary delay.
32990 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
32991
32992 2009-12-21 Carles Pina i Estany <carles@pina.cat>
32993
32994 * commands/acpi.c (options): Fix capitalizations and/or full stops.
32995 (GRUB_MOD_INIT): Likewise.
32996 * commands/boot.c (GRUB_MOD_INIT): Likewise.
32997 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
32998 * commands/echo.c (options): Fix capitalizations and/or full stops.
32999 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33000 (enable_rom_area): Likewise.
33001 (GRUB_MOD_INIT): Likewise.
33002 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33003 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33004 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33005 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33006 * commands/hexdump.c (options): Likewise.
33007 * commands/i386/cpuid.c (options): Likewise.
33008 (GRUB_MOD_INIT): Likewise.
33009 * commands/i386/pc/drivemap.c (options): Likewise.
33010 (GRUB_MOD_INIT): Likewise.
33011 * commands/i386/pc/halt (options): Likewise.
33012 (GRUB_MOD_INIT): Likewise.
33013 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33014 * commands/i386/pc/pxecmd.c (options): Likewise.
33015 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33016 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33017 * commands/keystatus.c (options): Likewise.
33018 (GRUB_MOD_INIT): Likewise.
33019 * commands/loadenv.c (options): Likewise.
33020 * commands/ls.c (options): Likewise.
33021 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33022 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33023 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33024 * commands/parttool.c (helpmsg): Likewise.
33025 * commands/probe.c (options): Likewise.
33026 * commands/read.c (GRUB_MOD_INIT): Likewise.
33027 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33028 * commands/search.c (options): Likewise.
33029 * commands/sleep.c (options): Likewise.
33030 * commands/test.c (GRUB_MOD_INIT): Likewise.
33031 * commands/true.c (GRUB_MOD_INIT): Likewise.
33032 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33033 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33034 * lib/arg.c (help_options): Likewise.
33035 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33036 `$(XGETTEXT)'.
33037 * po/POTFILES: Add `commands/loadenv.c'.
33038
33039 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
33040
33041 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
33042 instead of specifying them explicit.
33043
33044 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33045
33046 * NEWS: Add grub-probe support for GNU/Hurd.
33047
33048 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33049
33050 * NEWS: gettext was added after 1.97.
33051
33052 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33053
33054 * util/mkisofs/msdos_partition.h: New file (based on
33055 include/grub/msdos_partition.h).
33056 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33057 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33058 (ld_options, main): Recognize --protective-msdos-label.
33059 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33060 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33061 (padblock_write): If `use_protective_msdos_label' is set, patch a
33062 protective DOS-style label in the output image.
33063
33064 * util/grub-mkrescue.in: Use --protective-msdos-label.
33065
33066 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33067
33068 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33069 boot.
33070
33071 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33072
33073 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33074 variables.
33075 (ld_options, main): Recognize `--embedded-boot'.
33076 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33077 declarations.
33078 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33079 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33080 (padblock_write): Likewise. Rewrite to support embedded boot image.
33081
33082 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33083 for BIOS-based disk boot instead of only ElTorito.
33084
33085 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33086
33087 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33088 build (not needed for bootstrap).
33089
33090 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33091
33092 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33093 from i386-pc build (not needed for bootstrap).
33094 Rewrite a pair of strings.
33095
33096 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33097
33098 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33099
33100 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
33101
33102 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33103
33104 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33105
33106 * kern/env.c (grub_env_context_open): Mark exported variable for
33107 reexport.
33108
33109 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33110
33111 * kern/env.c (grub_env_export): Create nonexistent variables before
33112 exporting.
33113
33114 2009-12-20 Carles Pina i Estany <carles@pina.cat>
33115
33116 * include/grub/auth.h: Include `<grub/i18n.h>'.
33117 (GRUB_GET_PASSWORD): Gettextizze string.
33118 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33119 menu_text.c.
33120 (grub_utf8_to_ucs4_alloc): Fix indentation.
33121 (grub_print_ucs4): Likewise.
33122 (grub_getstringwidth): Likewise.
33123 (print_message_indented): New declaration.
33124 * normal/auth.c: Include `<grub/i18n.h>'.
33125 (grub_auth_check_authentication): Gettexttize string.
33126 * normal/cmdline.c: Include `<grub/i18n.h>'.
33127 (grub_cmdline_get): Gettextizze.
33128 * normal/color.c: Include `<grub/i18n.h>'.
33129 (grub_parse_color_name_pair): Gettexttize strings.
33130 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33131 string (use `print_message_indented').
33132 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33133 `include/grub/normal.h'.
33134 (print_message_indented): Renamed to ...
33135 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33136 used in normal/main.c).
33137 (print_message): Use `grub_print_message_indented' instead of
33138 `print_message_indented'.
33139 (print_timeout): Likewise.
33140 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33141 (grub_normal_print_device_info): Gettexttize strings.
33142 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33143
33144 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33145
33146 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33147 of arguments. Return number of tokens and not arguments. All users
33148 updated.
33149
33150 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33151
33152 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33153 non-MSDOS paritions.
33154
33155 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33156
33157 * include/grub/types.h (UNUSED): Removed since it conflicts with
33158 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33159 Reported by Grégoire Sutre.
33160
33161 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33162
33163 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33164 (grub_print_ucs4_alloc): Likewise.
33165 (grub_getstringwidth): Likewise.
33166 * normal/main.c (grub_normal_init_page): Gettextize version string.
33167 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33168 (getstringwidth): Renamed to ...
33169 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33170 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33171 (grub_print_ucs4): Remove `static' qualifer (now used in
33172 normal/main.c).
33173 * po/POTFILES: Add normal/main.c.
33174
33175 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33176
33177 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33178 (print_message_indented): Add `margin_left' and `margin_right'
33179 parameters.
33180 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33181 strings.
33182 (print_timeout): Use `print_message_indented' to print the message.
33183 Deletes `second_stage' parameter.
33184 (run_menu): Update `print_timeout' calls.
33185
33186 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33187
33188 Fix console palette on OpenFirmware.
33189
33190 * term/ieee1275/ofconsole.c (MAX): Removed.
33191 (colors): Redone based on VGA palette.
33192 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33193 colors are supported.
33194 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33195
33196 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33197
33198 Fix potential EfiEmu double prepare.
33199
33200 * efiemu/main.c (prepared): New variable
33201 (grub_efiemu_unload): Set prepare to '0'.
33202 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33203
33204 set_virtual_address_map support.
33205
33206 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33207 prototype.
33208 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33209 prototype.
33210 (grub_efiemu_crc32): Likewise.
33211 (grub_efiemu_crc64): Likewise.
33212 (grub_efiemu_set_virtual_address_map): Likewise.
33213 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33214 New definition.
33215 (grub_autoefi_set_virtual_address_map): Likewise.
33216 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33217 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33218 Restructure flow to accomodate it.
33219 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33220 (grub_efiemu_crc): Recompute CRC32.
33221 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33222 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33223 * efiemu/symbols.c (relocated_handle): New variable.
33224 (grub_efiemu_free_syms): Free relocated_handle.
33225 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33226 (grub_efiemu_write_sym_markers): New function.
33227 (grub_efiemu_set_virtual_address_map): Likewise.
33228
33229 Newer XNU parameters.
33230
33231 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33232 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33233 (grub_xnu_fill_devicetree): New prototype.
33234 (grub_xnu_heap_real_start): New variable.
33235 * loader/xnu.c (get_name_ptr): New function.
33236 (grub_xnu_load_driver): Fill namelen and name.
33237
33238 64-bit xnu support.
33239
33240 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33241 and 'loader/macho64.c'.
33242 * conf/i386-pc.rmk: Likewise.
33243 * conf/x86_64-efi.rmk: Likewise.
33244 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33245 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33246 * include/grub/macho.h (grub_macho_segment64): New structure.
33247 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33248 (grub_macho_size32): ... to this.
33249 (grub_macho32_get_entry_point): Renamed from ...
33250 (grub_macho_get_entry_point32): ... to this.
33251 (grub_macho_contains_macho64): New prototype.
33252 (grub_macho_size64): Likewise.
33253 (grub_macho_get_entry_point64): Likewise.
33254 (grub_macho32_load): Renamed from ...
33255 (grub_macho_load32): ... to this.
33256 (grub_macho32_filesize): Renamed from ...
33257 (grub_macho_filesize32): ... to this.
33258 (grub_macho32_readfile): Renamed from ...
33259 (grub_macho_readfile32): ... to this.
33260 (grub_macho_filesize64): New prototype.
33261 (grub_macho_readfile64): Likewise.
33262 (grub_macho_parse32): Likewise.
33263 (grub_macho_parse64): Likewise.
33264 * loader/macho.c: Split into ...
33265 * loader/machoXX.c: ... and this. Replace 32 with XX.
33266 * loader/macho32.c: New file.
33267 * loader/macho64.c: Likewise.
33268 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33269 (grub_cmd_xnu_kernel): Make 32-bit only.
33270 (grub_cmd_xnu_kernel64): New function.
33271 (grub_xnu_load_driver): Support Mach-O 64.
33272 (grub_cmd_xnu_mkext): Likewise.
33273 * util/grub.d/30_os-prober.in (osx_entry): New function.
33274 Generate entries for 64-bit boot too.
33275
33276 Eliminate ad-hoc tree format in XNU and EfiEmu.
33277
33278 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33279 * efiemu/pnvram.c: Rewritten to use environment variables.
33280 All users updated.
33281
33282 Inline utf16_to_utf8.
33283
33284 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33285 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33286 All users updated.
33287 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33288
33289 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33290 * commands/usbtest.c (grub_usb_get_string): ... move here.
33291 (usb_print_str): Fix error handling.
33292 * include/grub/usb.h (grub_usb_get_string): Remove.
33293
33294 UTF-8 to UTF-16 transformation.
33295
33296 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33297 (charset_mod_SOURCES): New variable.
33298 (charset_mod_CFLAGS): Likewise.
33299 (charset_mod_LDFLAGS): Likewise.
33300 * include/grub/utf.h: New file.
33301 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33302
33303 Support for device properties.
33304
33305 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33306 (grub_xnu_devprop_device_header): Likewise.
33307 (grub_xnu_devprop_device_descriptor): Likewise.
33308 (grub_xnu_devprop_add_device): New prototype.
33309 (grub_xnu_devprop_remove_device): Likewise.
33310 (grub_xnu_devprop_remove_property): Likewise.
33311 (grub_xnu_devprop_add_property_utf8): Likewise.
33312 (grub_xnu_devprop_add_property_utf16): Likewise.
33313 (grub_cpu_xnu_init): Likewise.
33314 (grub_cpu_xnu_fini): Likewise.
33315 (grub_cpu_xnu_unload): Likewise.
33316 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33317 (property_descriptor): Likewise.
33318 (devices): New variable.
33319 (grub_xnu_devprop_remove_property): New function.
33320 (grub_xnu_devprop_add_device): Likewise.
33321 (grub_xnu_devprop_remove_device): Likewise.
33322 (grub_xnu_devprop_add_property): Likewise.
33323 (grub_xnu_devprop_add_property_utf8): Likewise.
33324 (grub_xnu_devprop_add_property_utf16): Likewise.
33325 (hextoval): Likewise.
33326 (grub_cpu_xnu_fill_devprop): Likewise.
33327 (grub_cmd_devprop_load): Likewise.
33328 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33329 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33330 (cmd_devprop_load): New variable.
33331 (grub_cpu_xnu_init): New function.
33332 (grub_cpu_xnu_fini): Likewise.
33333 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33334 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33335 (grub_cmd_xnu_devtree): Likewise.
33336 (hextoval): New function.
33337 (unescape): Likewise.
33338 (grub_xnu_fill_devicetree): Likewise.
33339
33340 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33341 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33342
33343 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33344
33345 Workaround for broken ATI VBE.
33346
33347 * video/i386/pc/vbe.c (last_set_mode): New variable.
33348 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33349 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33350 (grub_video_vbe_setup): Don't check for reserved flag.
33351
33352 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
33353
33354 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33355 the `find' command.
33356
33357 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33358
33359 UUID support for HFS.
33360
33361 * fs/hfs.c (grub_hfs_uuid): New function.
33362 (grub_hfs_fs): New value .uuid.
33363 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33364
33365 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
33366
33367 Fix a segfault with parsing unknown long options.
33368
33369 * util/grub-mkrelpath.c (options): Zero terminate it.
33370
33371 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33372
33373 * include/grub/misc.h (grub_puts): New declaration.
33374 (grub_puts_): Likewise.
33375 * kern/misc.c (grub_puts): New definition.
33376 (grub_puts_): Likewise.
33377
33378 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33379
33380 * util/grub-probe.c (probe): Improve error message.
33381
33382 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33383
33384 * loader/i386/multiboot_elfxx.c
33385 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33386 initialization.
33387
33388 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33389
33390 Relocator framework
33391
33392 * loader/i386/xnu_helper.S: Removed. All users updated.
33393 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33394 (relocator_mod_SOURCES): New variable.
33395 (relocator_mod_CFLAGS): Likewise.
33396 (relocator_mod_LDFLAGS): Likewise.
33397 (relocator_mod_ASFLAGS): Likewise.
33398 * conf/x86_64.rmk: Likewise.
33399 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33400 (grub_multiboot_payload_entry_offset): Likewise.
33401 (grub_multiboot_forward_relocator): Likewise.
33402 (grub_multiboot_forward_relocator_end): Likewise.
33403 (grub_multiboot_backward_relocator): Likewise.
33404 (grub_multiboot_backward_relocator_end): Likewise.
33405 (grub_multiboot_payload_eip): New variable.
33406 (grub_multiboot_payload_orig): Likewise.
33407 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33408 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33409 * include/grub/i386/memory.h
33410 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33411 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33412 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33413 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33414 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33415 * include/grub/i386/relocator.h: New file.
33416 * include/grub/x86_64/relocator.h: Likewise.
33417 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33418 (XNU_RELOCATOR): New macro.
33419 (grub_xnu_launcher_start): Remove.
33420 (grub_xnu_launcher_end): Likewise.
33421 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33422 (grub_xnu_heap_real_start): Remove.
33423 (grub_xnu_heap_start): Change to void *. All users updated.
33424 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33425 * lib/i386/relocator.c: New file.
33426 * lib/i386/relocator_asm.S: Likewise.
33427 * lib/i386/relocator_backward.S: Likewise.
33428 * lib/mips/relocator.c: Likewise.
33429 * lib/mips/relocator_asm.S: Likewise.
33430 * lib/relocator.c: Likewise.
33431 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33432 (entry): Removed.
33433 (playground): Likewise.
33434 (grub_multiboot_payload_orig): New variable.
33435 (grub_multiboot_payload_dest): Likewise.
33436 (grub_multiboot_payload_size): Likewise.
33437 (grub_multiboot_payload_eip): Likewise.
33438 (grub_multiboot_payload_esp): Likewise.
33439 (grub_multiboot_boot): Use grub_relocator32_boot.
33440 (grub_multiboot_unload): Free relocators.
33441 (grub_multiboot): Setup stack. Use relocators.
33442 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33443 (grub_multiboot_load_elfXX): Use relocators.
33444 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33445 (grub_multiboot_payload_size): Likewise.
33446 (grub_multiboot_payload_dest): Likewise.
33447 (grub_multiboot_payload_entry_offset): Likewise.
33448 (grub_multiboot_forward_relocator): Likewise.
33449 (grub_multiboot_backward_relocator): Likewise.
33450 (grub_multiboot_real_boot): Likewise.
33451 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33452 (grub_xnu_entry_point): Likewise.
33453 (grub_xnu_arg1): Likewise.
33454 (grub_xnu_stack): Likewise.
33455 (grub_xnu_launch): Removed.
33456 (grub_xnu_boot_resume): New function.
33457 (grub_xnu_boot): Use relocators.
33458 * loader/i386/xnu_helper.S: Removed.
33459 * loader/xnu.c (grub_xnu_heap_start): New variable.
33460 (grub_xnu_heap_size): Likewise.
33461 (grub_xnu_heap_malloc): Use relocators.
33462 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33463
33464 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33465
33466 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33467 anything.
33468
33469 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33470
33471 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33472 GRUB_ERR_NONE before calling grub_env_set.
33473
33474 2009-12-12 Robert Millan <rmh@aybabtu.com>
33475
33476 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33477 * genmk.rb (video): New variable.
33478 (CLEANFILES, VIDEOFILES): Add #{video}.
33479 (#{video}): New target rule.
33480 * genvideolist.sh: New file.
33481 * Makefile.in (pkglib_DATA): Add video.lst.
33482 (video.lst): New target rule.
33483 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33484 `video.lst'.
33485 * util/grub.d/30_os-prober.in: Replace `vbe' with
33486 ${GRUB_VIDEO_BACKEND}.
33487
33488 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33489
33490 * THANKS: Add David Miller.
33491
33492 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33493
33494 libpciaccess support.
33495
33496 * Makefile.in (LIBPCIACCESS): New variable.
33497 (enable_grub_emu_pci): Likewise.
33498 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33499 util/pci.c and commands/lspci.c.
33500 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33501 * configure.ac (grub-emu-pci): New option.
33502 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33503 (grub_pci_device_unmap_range): Likewise.
33504 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33505 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33506 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33507 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33508 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33509 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33510 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33511 * include/grub/pciutils.h: New file.
33512 * util/pci.c: Likewise.
33513
33514 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
33515
33516 * util/misc.c: Don't include <errno.h> twice.
33517
33518 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
33519
33520 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33521 name in an error message.
33522 (grub_biosdisk_rw): Likewise.
33523
33524 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33525
33526 Eliminate NTFS 4Gib barrier.
33527
33528 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33529 (read_run_data): Likewise.
33530 (grub_ntfs_read_run_list): Likewise.
33531 (grub_ntfs_read_block): Likewise.
33532 (grub_ntfs_iterate_dir): Likewise.
33533 (read_mft): Likewise.
33534 (read_data): Likewise.
33535 Use COM_LOG_LEN.
33536 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33537 to avoid 64-bit division
33538 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33539 (grub_ntfs_rlst): Use grub_disk_addr_t.
33540
33541 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33542
33543 Eliminate grub-fstest 4Gib barrier.
33544
33545 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33546 (read_file): Fix error reporting.
33547
33548 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33549
33550 Eliminate hexdump 4Gib barrier.
33551
33552 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33553 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33554
33555 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33556
33557 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33558 Fixes amarsh bug.
33559
33560 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33561
33562 Remove miscellaneous files in distclean target.
33563
33564 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33565
33566 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
33567
33568 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33569 if they're already set. This resolves the conflict between my
33570 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33571 fixing the --grub-probe option again.
33572 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33573 change on 2009-10-06, so that we now once again source
33574 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33575
33576 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33577
33578 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33579 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33580 `util/devicemap.c'.
33581
33582 2009-12-08 Carles Pina i Estany <carles@pina.cat>
33583
33584 * include/grub/misc.h (grub_printf_): New declaration.
33585 * kern/misc.c (grub_printf_): New definition.
33586 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33587 instead of `grub_printf' and `_'.
33588 * normal/menu_entry.c (store_completion): Likewise.
33589 (run): Likewise.
33590 (grub_menu_entry_run): Likewise.
33591 * normal/menu_text.c (grub_wait_after_message): Likewise.
33592 (notify_booting): Likewise.
33593 (notify_fallback): Likewise.
33594 (notify_execution_failure): Likewise.
33595
33596 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
33597
33598 * configure.ac: Check for vasprintf.
33599 * util/misc.c (asprintf): Move allocation from here ...
33600 (vasprintf): ... to here. New function.
33601 (xasprintf): New function.
33602 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33603 prototypes.
33604 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33605 * util/grub-mkfont.c (write_font): Likewise.
33606 * util/grub-probe.c (probe): Likewise.
33607 * util/hostdisk.c (make_device_name): Likewise.
33608
33609 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
33610
33611 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33612 anything even prefixed with 'cdrom' as a cdrom.
33613
33614 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
33615
33616 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33617 mount points.
33618
33619 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33620
33621 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33622 grub_gettext_msg_list.
33623 (grub_gettext_gettranslation_from_position): Return const char *
33624 and not char *.
33625 (grub_gettext_translate): Add the translated strings into a list,
33626 returns from the list if existing there.
33627 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33628 (grub_gettext_delete_list): Delete the list.
33629 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33630 lang environment variable is changed.
33631 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33632
33633 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33634
33635 Rename kernel.mod to kernel.img.
33636
33637 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33638 (kernel_mod_EXPORTS): Rename to ...
33639 (kernel_img_EXPORTS): ... this.
33640 (kernel_mod_SOURCES): Rename to ...
33641 (kernel_img_SOURCES): ... this.
33642 (kernel_mod_HEADERS): Rename to ...
33643 (kernel_img_HEADERS): ... this. All users updated.
33644 (kernel_mod_CFLAGS): Rename to ...
33645 (kernel_img_CFLAGS): ... this.
33646 (kernel_mod_ASFLAGS): Rename to ...
33647 (kernel_img_ASFLAGS): ... this.
33648 (kernel_mod_LDFLAGS): Rename to ...
33649 (kernel_img_LDFLAGS): ... this.
33650 * conf/x86_64-efi.rmk: Likewise.
33651 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33652 (read_kernel_image): ... this. All users updated.
33653 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33654
33655 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33656
33657 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33658 (print_spaces): New function.
33659 (grub_print_ucs4): New function.
33660 (getstringwidth): New function.
33661 (print_message_indented): New function.
33662 (print_message): Gettexttize strings using print_message_indented.
33663 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33664 width.
33665 (get_entry_number): Gettextize and uses dynamic terminal width.
33666 (notify_booting, notify_fallback, notify_execution_failure):
33667 Gettextize.
33668 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33669 string.
33670 (run): Likewise.
33671 (grub_menu_entry_run): Likewise.
33672 * PO/POTFILES: Add normal/menu_entry.c.
33673
33674 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33675
33676 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33677
33678 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33679
33680 * util/grub-install.in: Install gettext .mo files.
33681 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33682
33683 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33684
33685 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33686 grub_dprintf.
33687
33688 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33689
33690 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33691 non-firmware-dependant one in realmode.S takes precedence.
33692
33693 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33694
33695 * commands/halt.c: Replace misc arch-specific headers with
33696 `<grub/misc.h>'.
33697 * commands/reboot.c: Likewise.
33698 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33699 `<grub/misc.h>'.
33700 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33701 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33702 (kernel_img_SOURCES): ... to here.
33703
33704 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33705 * include/grub/i386/pc/init.h: Likewise.
33706 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33707 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33708
33709 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33710
33711 * include/grub/i386/halt.h: Remove.
33712 * include/grub/i386/reboot.h: Likewise.
33713
33714 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33715
33716 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
33717
33718 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33719 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33720 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33721 "progname.h"
33722 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33723 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33724 (usage): Add missing comma in printf.
33725
33726 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33727
33728 Use the same reboot approach on i386 coreboot and qemu as we do on
33729 BIOS.
33730
33731 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33732 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33733 * kern/i386/reboot.c: Remove.
33734 * include/grub/i386/reboot.h (grub_reboot): Export function.
33735 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33736 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33737 0xf000:0xfff0 instead of 0xffff:0x0000.
33738 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33739 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33740
33741 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33742
33743 Fix $srcdir != $objdir build.
33744
33745 * Makefile.in (po/%.po): Rewrite as ...
33746 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33747
33748 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33749
33750 Fix GNU/Hurd grub-install crash.
33751 * util/grub-probe.c (probe): Try to access `path' only when it is not
33752 NULL.
33753
33754 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33755
33756 Correct module naming.
33757
33758 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33759 (GRUB_MOD_INIT(efi_uga)): ... to this
33760 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33761 (GRUB_MOD_FINI(efi_uga)): ... to this
33762 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33763 (GRUB_MOD_INIT(efi_gop)): ... to this
33764 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33765 (GRUB_MOD_FINI(efi_gop)): ... to this
33766
33767 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33768
33769 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33770 translatable.
33771 (usage): Translate `arg' strings using gettext().
33772 Thanks to Jordi Mallach for the suggestion.
33773
33774 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33775
33776 GOP support. Based on patch from Bean
33777 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33778
33779 * video/efi_gop.c: New file.
33780 * include/grub/efi/graphics_output.h: Likewise.
33781 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33782 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33783 variables.
33784 * conf/x86_64-efi.rmk: Likewise.
33785
33786 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33787
33788 Rename efi_fb to efi_uga.
33789
33790 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33791 'efi_uga.mod'.
33792 (efi_fb_mod_SOURCES): Rename this ...
33793 (efi_uga_mod_SOURCES): ... to this.
33794 (efi_fb_mod_CFLAGS): Rename this ...
33795 (efi_uga_mod_CFLAGS): ... to this.
33796 (efi_fb_mod_LDFLAGS): Rename this ...
33797 (efi_uga_mod_LDFLAGS): ... to this.
33798 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33799 'efi_uga.mod'.
33800 (efi_fb_mod_SOURCES): Rename this ...
33801 (efi_uga_mod_SOURCES): ... to this.
33802 (efi_fb_mod_CFLAGS): Rename this ...
33803 (efi_uga_mod_CFLAGS): ... to this.
33804 (efi_fb_mod_LDFLAGS): Rename this ...
33805 (efi_uga_mod_LDFLAGS): ... to this.
33806 * video/efi_fb.c: Move this ...
33807 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33808
33809 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33810
33811 * po/README: New file. Explain our PO file workflow.
33812
33813 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33814
33815 * po/ChangeLog: Remove. Move relevant entries back to ...
33816 * ChangeLog: ... here.
33817 * po/ca.po: Remove (now handled by TLP).
33818 * po/id.po: Likewise.
33819 * po/zh_CN.po: Likewise.
33820 * Makefile.in (LINGUAS): Initialize in a way that supports
33821 empty set.
33822
33823 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33824
33825 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33826 reliing on po/LINGUAS.
33827 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33828 (po/%.po): ... this.
33829
33830 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33831
33832 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33833 (main): Use `program_name' instead of nonexistent `progname'.
33834
33835 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33836
33837 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33838 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33839
33840 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33841
33842 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33843 commit.
33844 * conf/i386-efi.rmk: Likewise.
33845 * conf/i386-ieee1275.rmk: Likewise.
33846 * conf/powerpc-ieee1275.rmk: Likewise.
33847 * conf/sparc64-ieee1275.rmk: Likewise.
33848 * conf/x86_64-efi.rmk: Likewise.
33849
33850 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33851
33852 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33853
33854 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33855
33856 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33857
33858 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33859
33860 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33861 (grub_mkdevicemap_SOURCES): New variable.
33862 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33863 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33864 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33865 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33866 (grub_mkdevicemap_SOURCES): Remove.
33867 * conf/i386-efi.rmk: Likewise.
33868 * conf/i386-ieee1275.rmk: Likewise.
33869 * conf/i386-pc.rmk: Likewise.
33870 * conf/powerpc-ieee1275.rmk: Likewise.
33871 * conf/sparc64-ieee1275.rmk: Likewise.
33872 * conf/x86_64-efi.rmk: Likewise.
33873 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33874 (usage): Fix strings to use `program_name'.
33875 (main): Initialize gettext.
33876 * util/grub-editenv.c: Likewise.
33877 * util/grub-emu.c: Likewise.
33878 * util/grub-fstest.c: Likewise.
33879 * util/grub-mkdevicemap.c: Likewise.
33880 * util/grub-mkfont.c: Likewise.
33881 * util/grub-mkrelpath.c: Likewise.
33882 * util/grub-pe2elf.c: Likewise.
33883 * util/grub-probe.c: Likewise.
33884 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33885 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33886 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33887
33888 * util/misc.c: Include `"progname.h"'.
33889 (progname): Remove variable.
33890 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33891
33892 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33893
33894 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33895 printf and print a newline after the menuentry header line.
33896 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33897
33898 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33899
33900 autoconf >= 2.60 support $(localedir).
33901
33902 * INSTALL: Note that autoconf 2.60 is required.
33903 * configure.ac (AC_PREREQ): Bump to 2.60.
33904 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33905 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33906
33907 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33908
33909 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33910 aclocal is run.
33911
33912 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33913
33914 * normal/main.c (grub_normal_read_line): Fix off-by-one
33915 buffer overflow.
33916
33917 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33918
33919 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33920 "parser.grub" in grub_command_execute() call.
33921
33922 2009-11-24 Carles Pina i Estany <carles@pina.cat>
33923
33924 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33925 * conf/i386-efi.rmk: Likewise.
33926 * conf/i386-ieee1275.rmk: Likewise.
33927 * conf/i386-pc.rmk: Likewise.
33928 * conf/powerpc-ieee1275.rmk: Likewise.
33929 * conf/sparc64-ieee1275.rmk: Likewise.
33930 * conf/x86_64-efi.rmk: Likewise.
33931 * gettext/gettex.c: Include <grub/i18n.h>.
33932 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33933 here ...
33934 * include/grub/i18n.h: ... to here
33935 * include/grub/i18n.h: ... to here.
33936 * kern/misc.c: Include <grub/i18n.h>
33937 (grub_gettext_dummy): Move above user.
33938
33939 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33940
33941 * util/Makefile.in (install-local): Convert a `for' into a normal
33942 shell expansion.
33943
33944 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33945
33946 * autogen.sh: Add automake call.
33947 * config.guess: Remove.
33948 * config.sub: Likewise.
33949 * install-sh: Likewise.
33950
33951 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33952
33953 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33954
33955 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33956
33957 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33958 function to a normal shell `for'.
33959
33960 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33961
33962 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33963
33964 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33965
33966 * util/grub-mkrelpath.c: New file.
33967 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33968 (grub_mkrelpath_SOURCES): New variable.
33969 * include/grub/util/misc.h: New function prototype.
33970 * util/misc.c (make_system_path_relative_to_its_root): New function.
33971
33972 * util/grub-mkconfig_lib.in (bindir): New variable.
33973 (grub_mkrelpath): Likewise.
33974 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
33975
33976 * util/probe.c (probe): Make the file path relative to its root.
33977 Change a info message to use the GRUB path. Enable again the
33978 check if we can read the file with GRUB facilities.
33979
33980 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
33981 to its root.
33982
33983 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33984
33985 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
33986 platform.
33987
33988 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33989
33990 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
33991 strncmp().
33992
33993 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33994
33995 * util/getroot.c (grub_util_is_dmraid): New function.
33996 (grub_util_get_dev_abstraction): Treat dmraid and multipath
33997 devices as normal ones, not as LVM.
33998
33999 2009-11-23 Carles Pina i Estany <carles@pina.cat>
34000
34001 * conf/common.rmk: Add grub-gettext_lib target and updates
34002 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34003 LDFLAGS.
34004 * gettext/gettext.c: New file. (Reads mo files).
34005 * include/grub/file.h (grub_file_pread): New prototype.
34006 * include/grub/i18n.h (_): New prototype.
34007 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34008 prototypes.
34009 * kern/misc.c (grub_gettext_dummy): New function.
34010 * normal/menu_text.c: Include <grub/i18n.h>.
34011 * normal/menu_text.c (print_timeout): Gettexttize string.
34012 * normal/menu_text.c (print_message): Gettexttize string.
34013 * po/POTFILES: Add `normal/menu_text.c'.
34014 * po/ca.po: Add new translations.
34015 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34016 gettext module and defines locale_dir and lang in grub.cfg.
34017 * NEWS: Add gettext support.
34018
34019 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34020
34021 * util/hostdisk.c: Include `<grub/i18n.h>'.
34022 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34023 (make_device_name): Rewrite using asprintf.
34024 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34025 (find_system_device): If a device is not found, generate one just
34026 by reusing the OS path name.
34027 (read_device_map): Make it permissible for device.map not to exist.
34028
34029 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34030
34031 * script/sh/execute.c: Move from here ...
34032 * script/execute.c: ... to here. Update all users.
34033 * script/sh/function.c: Move from here ...
34034 * script/function.c: ... to here. Update all users.
34035 * script/sh/lexer.c: Move from here ...
34036 * script/lexer.c: ... to here. Update all users.
34037 * script/sh/main.c: Move from here ...
34038 * script/main.c: ... to here. Update all users.
34039 * script/sh/parser.y: Move from here ...
34040 * script/parser.y: ... to here. Update all users.
34041 * script/sh/script.c: Move from here ...
34042 * script/script.c: ... to here. Update all users.
34043
34044 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34045
34046 * configure.ac: Detect all `emu' platforms. Define
34047 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34048 --enable-grub-emu logic. Disable include/grub/machine
34049 symlink on `emu' platforms.
34050
34051 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34052 * gensymlist.sh.in: Likewise.
34053
34054 * include/grub/i386/coreboot/machine.h: Remove file.
34055 * include/grub/i386/efi/machine.h: Likewise.
34056 * include/grub/i386/ieee1275/machine.h: Likewise.
34057 * include/grub/i386/pc/machine.h: Likewise.
34058 * include/grub/i386/qemu/machine.h: Likewise.
34059 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34060 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34061 * include/grub/x86_64/efi/machine.h: Likewise.
34062
34063 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34064 * commands/halt.c: Likewise.
34065 * commands/reboot.c: Likewise.
34066 * include/grub/autoefi.h: Likewise.
34067 * include/grub/i386/at_keyboard.h: Likewise.
34068 * include/grub/i386/kernel.h: Likewise.
34069 * include/grub/i386/loader.h: Likewise.
34070 * include/grub/i386/pc/memory.h: Likewise.
34071 * kern/dl.c: Likewise.
34072 * kern/i386/coreboot/init.c: Likewise.
34073 * loader/i386/bsd.c: Likewise.
34074 * loader/i386/linux.c: Likewise.
34075 * loader/multiboot_loader.c: Likewise.
34076 * term/i386/pc/serial.c: Likewise.
34077 * term/usb_keyboard.c: Likewise.
34078
34079 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34080 `<grub/machine/machine.h>'
34081 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34082 * util/misc.c: Remove `<grub/machine/machine.h>' and
34083 `<grub/machine/time.h>'.
34084
34085 * Makefile.in (enable_grub_emu): Remove variable.
34086 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34087
34088 * conf/any-emu.rmk: New file.
34089 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34090 (grub_emu_init.c): Move from here ...
34091 * conf/any-emu.rmk: ... to here.
34092
34093 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34094 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34095 * conf/any-emu.rmk: ... to here.
34096
34097 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34098
34099 * include/grub/parser.h (grub_parser_register): Document need
34100 of `name' parameter.
34101 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34102 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34103 "sh" to "grub".
34104
34105 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34106
34107 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34108 `$(XGETTEXT)'.
34109 * include/grub/i18n.h (N_): New macro.
34110 * util/mkisofs/mkisofs.h: Likewise.
34111 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34112 around N_().
34113 (usage): Use gettext() to translate help strings when printing them.
34114
34115 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34116
34117 Based on patch from Bean
34118 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34119
34120 * video/efi_fb.c: New file.
34121 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34122 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34123 variables.
34124 * conf/x86_64-efi.rmk: Likewise.
34125
34126 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34127
34128 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34129 * util/i386/pc/grub-setup.c: Likewise.
34130
34131 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34132
34133 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34134 <hurd/fs.h>
34135 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34136 file_get_storage_info to implement grub_guess_root_device.
34137
34138 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34139
34140 * Makefile.in (target): Use make's builtin $(shell) function
34141 instead of calling directly $(SHELL) to create the locale directories,
34142 inside the $(foreach) function.
34143
34144 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34145
34146 * util/grub-mkrescue.in: Print an error and usage if output option
34147 has not been given.
34148
34149 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34150
34151 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34152 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34153 root and /boot are on different devices.
34154
34155 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34156
34157 Fix build for srcdir != objdir.
34158
34159 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34160 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34161 $(srcdir).
34162 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34163 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34164 reference for input.
34165
34166 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34167
34168 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34169 or hardlinking it). Remove -J option, Joliet is not compatible with
34170 multiple source directories.
34171
34172 2009-11-21 Carles Pina i Estany <carles@pina.cat>
34173 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34174
34175 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34176 (process_input_dir): New function. Process an arbitrary input
34177 directory.
34178 Misc adjustments to support both "override mode" and system-wide mode.
34179
34180 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34181
34182 * configure.ac (UNIFONT_BDF): Rename to ...
34183 (FONT_SOURCE): ... this. Update all users.
34184
34185 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34186
34187 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34188 to the list of unifont files to look for.
34189
34190 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34191
34192 Patch from Joe Auricchio <jauricchio@gmail.com>
34193 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34194 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34195 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34196
34197 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34198
34199 * Makefile.in (install-local): Add a missing backslash.
34200
34201 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34202
34203 * include/grub/x86_64/io.h: New file.
34204
34205 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34206
34207 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34208 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34209 Include `"progname.h"'.
34210 (main): Initialize gettext.
34211 * util/i386/pc/grub-setup.c: Gettexttize.
34212 * util/i386/pc/grub-mkimage.c: Likewise.
34213
34214 * Makefile.in (po/*.po): Redefine as ...
34215 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34216
34217 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34218
34219 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34220
34221 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34222 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34223 (program_name): Remove.
34224 (main): Initialize gettext support.
34225 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34226 Include `<libintl.h>'.
34227 (_): New macro.
34228
34229 * util/mkisofs/eltorito.c: Gettexttize.
34230 * util/mkisofs/joliet.c: Likewise.
34231 * util/mkisofs/mkisofs.c: Likewise.
34232 * util/mkisofs/multi.c: Likewise.
34233 * util/mkisofs/rock.c: Likewise.
34234 * util/mkisofs/tree.c: Likewise.
34235 * util/mkisofs/write.c: Likewise.
34236
34237 * po/POTFILES: Update with new files.
34238
34239 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34240
34241 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34242 * util/mkisofs/iso9660.h: Likewise.
34243 * util/mkisofs/joliet.c: Likewise.
34244 * util/mkisofs/mkisofs.c: Likewise.
34245 * util/mkisofs/mkisofs.h: Likewise.
34246 * util/mkisofs/rock.c: Likewise.
34247 * util/mkisofs/tree.c: Likewise.
34248 * util/mkisofs/write.c: Likewise.
34249
34250 * util/mkisofs/eltorito.c (rcsid): Remove.
34251 * util/mkisofs/hash.c: Likewise.
34252 * util/mkisofs/joliet.c: Likewise.
34253 * util/mkisofs/name.c: Likewise.
34254 * util/mkisofs/rock.c: Likewise.
34255 * util/mkisofs/tree.c: Likewise.
34256 * util/mkisofs/write.c: Likewise.
34257
34258 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34259
34260 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34261 instead of static allocation.
34262 * util/mkisofs/match.h: Likewise.
34263
34264 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34265
34266 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34267 and `util/grub.d/10_linux.in'.
34268 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34269 translatable Shell files.
34270
34271 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34272
34273 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34274
34275 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34276
34277 * INSTALL: Document Automake is needed for bootstrap.
34278 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
34279 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34280 Add gettext initialization.
34281 (kfreebsd_entry): Make menuentry output translatable.
34282
34283 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34284
34285 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34286 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34287 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34288 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34289 (LINGUAS): Auto-generate using `po/LINGUAS'.
34290 * po/LINGUAS: New file.
34291
34292 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34293
34294 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34295 other things).
34296 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34297 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34298 bindtextdomain() calls for gettext initialization.
34299
34300 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34301
34302 * gnulib/progname.c: New file (imported from Gnulib).
34303 * gnulib/progname.h: Likewise.
34304 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34305 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34306 (usage): Replace `progname' with `program_name'.
34307 (main): Use set_program_name() for program name initialization.
34308
34309 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34310
34311 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34312 from here ...
34313 * Makefile.in (CPPFLAGS): ... to here.
34314
34315 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34316
34317 * aclocal.m4: Move from here ...
34318 * acinclude.m4: ... to here.
34319 * autogen.sh: Add call to `aclocal'.
34320 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34321
34322 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34323
34324 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34325 (LINGUAS): New variable.
34326 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34327 (install-local): Install MO files.
34328 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34329 * include/grub/i18n.h: New file.
34330 * po/POTFILES: New file.
34331 * po/ca.po: New file.
34332 * util/grub.d/10_linux.in (bindir): New variable.
34333 Add gettext initialization.
34334 (linux_entry): Make menuentry output translatable.
34335 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34336 (usage): Make --help output translatable.
34337 (main): Initialize gettext.
34338
34339 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34340
34341 * import_gcry.py: New file (written by Vladimir with minor
34342 adjustments).
34343 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34344 ciphers.
34345 * INSTALL: Document that Python is required for bootstrap.
34346
34347 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34348
34349 Import ciphers from libgcrypt 1.4.4.
34350
34351 * lib/libgcrypt/cipher/ChangeLog
34352 * lib/libgcrypt/cipher/ac.c
34353 * lib/libgcrypt/cipher/arcfour.c
34354 * lib/libgcrypt/cipher/bithelp.h
34355 * lib/libgcrypt/cipher/blowfish.c
34356 * lib/libgcrypt/cipher/camellia-glue.c
34357 * lib/libgcrypt/cipher/camellia.c
34358 * lib/libgcrypt/cipher/camellia.h
34359 * lib/libgcrypt/cipher/cast5.c
34360 * lib/libgcrypt/cipher/cipher.c
34361 * lib/libgcrypt/cipher/crc.c
34362 * lib/libgcrypt/cipher/des.c
34363 * lib/libgcrypt/cipher/dsa.c
34364 * lib/libgcrypt/cipher/ecc.c
34365 * lib/libgcrypt/cipher/elgamal.c
34366 * lib/libgcrypt/cipher/hash-common.c
34367 * lib/libgcrypt/cipher/hash-common.h
34368 * lib/libgcrypt/cipher/hmac-tests.c
34369 * lib/libgcrypt/cipher/md.c
34370 * lib/libgcrypt/cipher/md4.c
34371 * lib/libgcrypt/cipher/md5.c
34372 * lib/libgcrypt/cipher/primegen.c
34373 * lib/libgcrypt/cipher/pubkey.c
34374 * lib/libgcrypt/cipher/rfc2268.c
34375 * lib/libgcrypt/cipher/rijndael-tables.h
34376 * lib/libgcrypt/cipher/rijndael.c
34377 * lib/libgcrypt/cipher/rmd.h
34378 * lib/libgcrypt/cipher/rmd160.c
34379 * lib/libgcrypt/cipher/rsa.c
34380 * lib/libgcrypt/cipher/seed.c
34381 * lib/libgcrypt/cipher/serpent.c
34382 * lib/libgcrypt/cipher/sha1.c
34383 * lib/libgcrypt/cipher/sha256.c
34384 * lib/libgcrypt/cipher/sha512.c
34385 * lib/libgcrypt/cipher/tiger.c
34386 * lib/libgcrypt/cipher/twofish.c
34387 * lib/libgcrypt/cipher/whirlpool.c
34388
34389 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34390
34391 Fix build for systems without error().
34392
34393 * gnulib/error.c: New file (imported from Gnulib).
34394 * gnulib/error.h: Likewise.
34395 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34396 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34397 (this variable is now used by error()).
34398
34399 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34400
34401 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34402 instead of relying that char is signed.
34403
34404 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34405
34406 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34407 blocksize different from specified.
34408 (grub_pxefs_read): Likewise.
34409
34410 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34411
34412 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34413
34414 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34415 (grub_ata_readwrite): Likewise. Update 2 format strings.
34416 (grub_atapi_read): Likewise.
34417
34418 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34419 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34420 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34421 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34422 (ata_mod_LDFLAGS): Move from here ...
34423 * conf/i386.rmk: ... to here ...
34424 * conf/x86_64-efi.rmk: ... and here.
34425 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34426 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34427
34428 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34429
34430 Relicense multiboot.h, with RMS' blessing.
34431
34432 * include/multiboot.h: Change to X11 license.
34433
34434 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34435
34436 Support --version in grub-mkisofs.
34437
34438 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34439 (OPTION_VERSION): New macro.
34440 (ld_options): Recognize --version.
34441 (usage): Move `program_name' from here ...
34442 (program_name): ... to here. Add `static' qualifier.
34443 (main): Recognize `OPTION_VERSION'.
34444
34445 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
34446
34447 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34448 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34449
34450 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34451
34452 Fix help2man generation for mkisofs.
34453
34454 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34455 (usage): Send output to stdout (rather than stderr).
34456
34457 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34458
34459 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34460 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34461 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34462 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34463 (bin_SCRIPTS): Add `grub-mkfloppy'.
34464 (grub_mkfloppy_SOURCES): New variable.
34465
34466 * util/grub-mkrescue.in: New file.
34467 * util/i386/pc/grub-mkfloppy.in: New file.
34468
34469 * util/i386/coreboot/grub-mkrescue.in: Remove.
34470 * util/i386/pc/grub-mkrescue.in: Remove.
34471
34472 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34473
34474 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34475 from here ...
34476 * include/multiboot.h (struct multiboot_header): ... to here. Update
34477 all users.
34478 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34479 from here ...
34480 * include/multiboot.h (struct multiboot_info): ... to here. Update
34481 all users.
34482 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34483 from here ...
34484 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34485 Update all users.
34486 * include/grub/multiboot.h (struct grub_mod_list): Move
34487 from here ...
34488 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34489 Update all users.
34490
34491 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34492
34493 * include/multiboot2.h (multiboot_word): Rename from this ...
34494 (multiboot2_word): ... to this. Update all users.
34495 (multiboot_header): Rename from this ...
34496 (multiboot2_header): ... to this. Update all users.
34497 (multiboot_tag_header): Rename from this ...
34498 (multiboot2_tag_header): ... to this. Update all users.
34499 (multiboot_tag_start): Rename from this ...
34500 (multiboot2_tag_start): ... to this. Update all users.
34501 (multiboot_tag_name): Rename from this ...
34502 (multiboot2_tag_name): ... to this. Update all users.
34503 (multiboot_tag_module): Rename from this ...
34504 (multiboot2_tag_module): ... to this. Update all users.
34505 (multiboot_tag_memory): Rename from this ...
34506 (multiboot2_tag_memory): ... to this. Update all users.
34507 (multiboot_tag_unused): Rename from this ...
34508 (multiboot2_tag_unused): ... to this. Update all users.
34509 (multiboot_tag_end): Rename from this ...
34510 (multiboot2_tag_end): ... to this. Update all users.
34511
34512 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34513
34514 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34515 this platform we should support Multiboot1 first.
34516
34517 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34518 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34519 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34520
34521 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34522
34523 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34524 of write calls (converting them to fwrite() if they aren't already).
34525 (get_torito_desc): Likewise.
34526 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34527
34528 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34529
34530 * util/i386/pc/grub-install.in: Move from here ...
34531 * util/grub-install.in: ... to here. Update all users.
34532
34533 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
34534
34535 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34536
34537 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34538
34539 Support for El Torito without floppy emulation.
34540
34541 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34542 (init_boot_catalog): Improve error handling.
34543 (get_torito_desc): Don't use floppy emulation unless requested by
34544 user. Patch boot information table when requested via
34545 `-boot-info-table'.
34546 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34547 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34548 (use_boot_info_table): New variables.
34549 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34550 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34551 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34552 `--eltorito-emul-floppy'.
34553 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34554 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34555 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34556 (use_boot_info_table, get_731): New prototypes.
34557 * util/mkisofs/write.c (get_731): New function.
34558
34559 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
34560
34561 Fix the generation of the man page.
34562
34563 * util/pc/i386/grub-install.in: Source
34564 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34565
34566 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34567
34568 Large file support for grub-mkisofs.
34569
34570 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34571 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34572 (session_start): Upgrade type to `uint64_t'. Update all users.
34573 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34574 (struct directory_entry): Upgrade type of `starting_block' and
34575 `size' to `uint64_t'. Update all users.
34576 (struct deferred): Remove unused structure.
34577 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34578 Update all users.
34579 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34580 file is larger than `UINT32_MAX'.
34581 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34582 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34583 return value.
34584 (struct deferred_write): Upgrade type of `extent' and `size' to
34585 `uint64_t'. Update all users.
34586 (last_extent_written): Upgrade type to `uint64_t'. Update all
34587 users.
34588 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34589 Update all users. Upgrade type of `remain' to `int64_t' and
34590 `use' to `size_t'. Use error() to handle fread() errors.
34591 (write_files): Rely on write_one_file() rather than calling
34592 xfwrite() directly.
34593
34594 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
34595
34596 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34597
34598 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34599
34600 * util/mkisofs/fnmatch.c: Remove.
34601 * util/mkisofs/getopt1.c: Likewise.
34602 * util/mkisofs/getopt.c: Likewise.
34603 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34604 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34605 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34606 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34607 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34608
34609 * configure.ac: Detect `mingw32msvc' host_os.
34610 Check for lstat(), getuid() and getgid().
34611
34612 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34613 instances of `u_char' with `uint8_t'.
34614
34615 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34616 [!HAVE_GETUID] (getuid): New function (stub).
34617 [!HAVE_GETGID] (getgid): Likewise.
34618 [!HAVE_LSTAT] (lstat): Likewise.
34619 [!S_IROTH] (S_IROTH): New macro (dummy).
34620 [!S_IRGRP] (S_IRGRP): Likewise.
34621
34622 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34623
34624 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34625 conditional expression).
34626
34627 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34628
34629 Import from Gnulib.
34630
34631 * gnulib/fnmatch.c: New file.
34632 * gnulib/fnmatch.h: Likewise.
34633 * gnulib/fnmatch_loop.c: Likewise.
34634 * gnulib/getopt.c: Likewise.
34635 * gnulib/getopt.h: Likewise.
34636 * gnulib/getopt1.c: Likewise.
34637 * gnulib/getopt_int.h: Likewise.
34638 * gnulib/gettext.h: Likewise.
34639
34640 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34641
34642 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34643 * normal/handler.c (read_handler_list): Likewise.
34644
34645 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34646
34647 Misc cleanup.
34648
34649 * kern/command.c (grub_register_command_prio): Use
34650 grub_zalloc() instead of explicitly zeroing data.
34651 * kern/list.c: Include `<grub/mm.h>'.
34652 (grub_named_list_find): Replace `0' with `NULL'.
34653 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34654 (fs_module_list): Change type to `grub_named_list_t'. Update all
34655 users.
34656 * normal/dyncmd.c (read_command_list): Add space between function
34657 call and parenthesis.
34658 * normal/handler.c (read_handler_list): Likewise.
34659
34660 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34661
34662 * normal/auth.c (punishment_delay): Moved from here ...
34663 (grub_auth_strcmp): ... to here (inside function).
34664
34665 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34666
34667 * include/grub/list.h (struct grub_named_list): Remove `const'
34668 qualifier from `name'.
34669 (struct grub_prio_list): Likewise.
34670
34671 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34672
34673 * normal/auth.c: Include `<grub/time.h>'.
34674 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34675
34676 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34677
34678 * normal/auth.c (punishment_delay): New variable.
34679 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34680 (grub_auth_check_authentication): Punish failed login attempts with
34681 an incremental (2^N) delay.
34682
34683 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34684
34685 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34686 path with $(srcdir).
34687
34688 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34689
34690 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34691
34692 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34693
34694 * util/i386/coreboot/grub-mkrescue.in: New file.
34695 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34696 variables.
34697
34698 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34699 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34700 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34701 requirements.
34702 * util/mkisofs/defaults.h: New file.
34703 * util/mkisofs/eltorito.c: Likewise.
34704 * util/mkisofs/exclude.h: Likewise.
34705 * util/mkisofs/fnmatch.c: Likewise.
34706 * util/mkisofs/getopt.c: Likewise.
34707 * util/mkisofs/getopt1.c: Likewise.
34708 * util/mkisofs/hash.c: Likewise.
34709 * util/mkisofs/include/fctldefs.h: Likewise.
34710 * util/mkisofs/include/mconfig.h: Likewise.
34711 * util/mkisofs/include/prototyp.h: Likewise.
34712 * util/mkisofs/include/statdefs.h: Likewise.
34713 * util/mkisofs/iso9660.h: Likewise.
34714 * util/mkisofs/joliet.c: Likewise.
34715 * util/mkisofs/match.c: Likewise.
34716 * util/mkisofs/match.h: Likewise.
34717 * util/mkisofs/mkisofs.c: Likewise.
34718 * util/mkisofs/mkisofs.h: Likewise.
34719 * util/mkisofs/multi.c: Likewise.
34720 * util/mkisofs/name.c: Likewise.
34721 * util/mkisofs/rock.c: Likewise.
34722 * util/mkisofs/tree.c: Likewise.
34723 * util/mkisofs/write.c: Likewise.
34724
34725 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34726
34727 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34728 being insecure.
34729
34730 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34731
34732 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34733 `grub-mkimage' (and use $0 when possible).
34734
34735 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34736
34737 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34738 error message for excessively large memory map.
34739
34740 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34741
34742 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34743 executable bit.
34744
34745 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34746
34747 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34748 message for coreboot users.
34749
34750 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34751
34752 Fix build with GNU gold.
34753
34754 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34755 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34756 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34757 link addresses.
34758 * aclocal.m4: Likewise.
34759
34760 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
34761
34762 * configure.ac (AC_PREREQ): Bump to 2.59d.
34763 * INSTALL: Make it more clear when Autoconf and Ruby are
34764 needed and when to run `./autogen.sh'.
34765
34766 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34767
34768 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34769 OSes.
34770
34771 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34772
34773 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34774
34775 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34776
34777 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34778 giving it to GNU Mach.
34779
34780 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34781
34782 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34783 GNU partition number to get internal GRUB partition number.
34784
34785 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34786
34787 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34788 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34789
34790 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34791
34792 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34793 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34794 case.
34795
34796 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
34797
34798 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34799
34800 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34801
34802 Fix build problem.
34803
34804 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34805 `-isystem=$(srcdir)/include'.
34806
34807 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34808
34809 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34810 checked (grub-install doesn't currently rely on it).
34811
34812 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34813
34814 Revert SVN r2660.
34815
34816 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34817 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34818 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34819 * conf/i386-ieee1275.rmk: Likewise.
34820 * conf/i386-pc.rmk: Likewise.
34821 * conf/powerpc-ieee1275.rmk: Likewise.
34822 * conf/sparc64-ieee1275.rmk: Likewise.
34823 * conf/x86_64-efi.rmk: Likewise.
34824
34825 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34826
34827 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34828
34829 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34830
34831 * include/grub/misc.h: Stop checking for APPLE_CC.
34832
34833 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34834
34835 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34836 doesn't cause an infinite call loop.
34837
34838 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
34839
34840 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34841 strings.
34842
34843 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34844
34845 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34846 variable.
34847 * Makefile.in: Likewise.
34848
34849 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34850
34851 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34852
34853 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34854
34855 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34856
34857 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34858
34859 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34860
34861 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34862
34863 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34864 from here ...
34865 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34866
34867 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34868
34869 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34870 in $(MAKEINFO) invocation. This makes it clear in output that
34871 errors are being ignored.
34872
34873 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34874
34875 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34876 from here ...
34877 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34878 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34879 * conf/i386-ieee1275.rmk: Likewise.
34880 * conf/i386-pc.rmk: Likewise.
34881 * conf/powerpc-ieee1275.rmk: Likewise.
34882 * conf/sparc64-ieee1275.rmk: Likewise.
34883 * conf/x86_64-efi.rmk: Likewise.
34884
34885 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34886
34887 * util/grub-editenv.c (main): If only a command is given, use
34888 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34889 (usage): FILENAME is now optional and has a default.
34890
34891 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34892
34893 Improve grub-mkconfig performance when there are several menu
34894 entries on a single filesystem.
34895
34896 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34897 prepare_grub_to_access_device.
34898 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34899 * util/grub.d/30_os-prober.in: Likewise.
34900
34901 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34902
34903 * util/grub.d/10_freebsd.in: Remove.
34904 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34905 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34906
34907 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34908
34909 * docs/grub.cfg: Fix example usage of *BSD loaders.
34910
34911 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34912
34913 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34914 grub_util_error() call.
34915
34916 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34917
34918 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34919 `reserved_first_sector' member.
34920 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34921 `reserved_first_sector' to 1.
34922 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34923 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34924 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34925 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34926 filesystems which begin at first sector.
34927 (options): New option --skip-fs-probe.
34928 (main): Handle --skip-fs-probe and pass it to setup().
34929
34930 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34931
34932 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34933 (memset): Fix function prototype.
34934
34935 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34936 2009-10-25 Vasily Averin <vvs@parallels.com>
34937
34938 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34939 `dirent.direntlen == 0'.
34940
34941 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34942
34943 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34944 `cpio'.
34945 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34946
34947 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34948
34949 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34950 `__trampoline_setup' and `__ucmpdi2'.
34951 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34952 that libgcc provides.
34953
34954 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34955
34956 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34957 * include/grub/sparc64/libgcc.h (memset): Likewise.
34958 * include/grub/misc.h (memset, memcmp): New function prototypes.
34959
34960 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34961
34962 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34963 `cpio'.
34964 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34965
34966 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34967
34968 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34969 * docs/grub.cfg: Compensate for recent change in multiboot
34970 loader (since 2009-08-14 it won't pass filename to payload).
34971 * util/grub.d/10_hurd.in: Likewise.
34972
34973 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
34974
34975 * config.guess: Update to latest version from config git
34976 repository.
34977 * config.sub: Likewise.
34978
34979 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
34980
34981 Fix build on sparc64.
34982
34983 * configure.ac: Perform checks for libgcc symbols before
34984 adding `-nostdlib' to LDFLAGS.
34985
34986 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
34987
34988 Let user specify OpenBSD root device.
34989
34990 * loader/i386/bsd.c (openbsd_root): New variable.
34991 (openbsd_opts): New option 'root'.
34992 (OPENBSD_ROOT_ARG): New macro.
34993 (grub_openbsd_boot): Use 'openbsd_root'.
34994 (grub_cmd_openbsd): Fill 'openbsd_root'.
34995
34996 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
34997
34998 * NEWS: Misc adjustments.
34999
35000 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35001
35002 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35003
35004 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35005
35006 * configure.ac: Bump version to 1.97.
35007
35008 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
35009
35010 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35011 -mno-3dnow on x86 architectures. Some toolchains enable these
35012 features by default, but they rely on registers that aren't enabled
35013 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35014
35015 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35016
35017 Make entry text a bit more readable.
35018
35019 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35020
35021 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35022
35023 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35024
35025 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35026
35027 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35028 operations.
35029
35030 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35031
35032 * configure.ac: Add missing dollar.
35033
35034 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35035
35036 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35037
35038 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35039 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35040 exports.
35041 * include/grub/sparc64/libgcc.h: Likewise. Use
35042 preprocessor conditionals.
35043
35044 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35045
35046 * conf/common.rmk (grub-dumpbios): Remove rule.
35047 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35048 * util/grub-dumpbios.in: Remove file.
35049
35050 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35051
35052 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35053 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35054
35055 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35056 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35057 users.
35058
35059 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35060 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35061 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35062 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35063 users.
35064
35065 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35066
35067 * term/tparm.c: Switch to GPLv3.
35068
35069 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35070
35071 * include/grub/i386/cpuid.h: Add header protection.
35072
35073 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35074
35075 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35076
35077 * include/grub/i386/cpuid.h: New file.
35078 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35079 (has_longmode): Rename to ...
35080 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35081 `static' attribute.
35082 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35083 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35084 on a CPU that doesn't implement AMD64 instruction set.
35085
35086 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35087
35088 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35089 that version.texi is rebuilt on version number changes.
35090
35091 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35092
35093 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35094 Fixes bug #27602.
35095
35096 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35097
35098 * util/i386/pc/grub-install.in: Source
35099 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35100 that the --grub-probe option will work.
35101 * util/sparc64/ieee1275/grub-install.in: Likewise.
35102
35103 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35104
35105 * configure.ac: Bump version to 1.97~beta4.
35106
35107 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35108
35109 Resync grub-mkdevicemap in x86_64-efi.
35110
35111 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35112 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35113 `util/devicemap.c'.
35114
35115 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
35116
35117 * util/grub-editenv.c (create_envblk_file): Write new block with a
35118 .new suffix and then rename it into place, to ensure atomic
35119 creation.
35120
35121 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35122
35123 Do not automatically install headers.
35124
35125 * Makefile.in (include_DATA): Remove. Update all users.
35126
35127 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35128
35129 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35130 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35131
35132 * util/osdetect.lua: Remove.
35133 * script/lua/lauxlib.c: Likewise.
35134 * script/lua/ldebug.c: Likewise.
35135 * script/lua/grub_main.c: Likewise.
35136 * script/lua/lauxlib.h: Likewise.
35137 * script/lua/ldebug.h: Likewise.
35138 * script/lua/ltablib.c: Likewise.
35139 * script/lua/liolib.c: Likewise.
35140 * script/lua/lstrlib.c: Likewise.
35141 * script/lua/lualib.h: Likewise.
35142 * script/lua/ldo.c: Likewise.
35143 * script/lua/ldump.c: Likewise.
35144 * script/lua/ldo.h: Likewise.
35145 * script/lua/loslib.c: Likewise.
35146 * script/lua/lundump.c: Likewise.
35147 * script/lua/grub_lib.c: Likewise.
35148 * script/lua/ldblib.c: Likewise.
35149 * script/lua/lundump.h: Likewise.
35150 * script/lua/lmem.c: Likewise.
35151 * script/lua/grub_lib.h: Likewise.
35152 * script/lua/lmathlib.c: Likewise.
35153 * script/lua/lstate.c: Likewise.
35154 * script/lua/ltm.c: Likewise.
35155 * script/lua/lvm.c: Likewise.
35156 * script/lua/lmem.h: Likewise.
35157 * script/lua/lstate.h: Likewise.
35158 * script/lua/ltm.h: Likewise.
35159 * script/lua/ltable.c: Likewise.
35160 * script/lua/lvm.h: Likewise.
35161 * script/lua/llex.c: Likewise.
35162 * script/lua/lgc.c: Likewise.
35163 * script/lua/grub_lua.h: Likewise.
35164 * script/lua/loadlib.c: Likewise.
35165 * script/lua/lfunc.c: Likewise.
35166 * script/lua/lopcodes.c: Likewise.
35167 * script/lua/lparser.c: Likewise.
35168 * script/lua/ltable.h: Likewise.
35169 * script/lua/llex.h: Likewise.
35170 * script/lua/lgc.h: Likewise.
35171 * script/lua/lfunc.h: Likewise.
35172 * script/lua/lbaselib.c: Likewise.
35173 * script/lua/lopcodes.h: Likewise.
35174 * script/lua/lparser.h: Likewise.
35175 * script/lua/lzio.c: Likewise.
35176 * script/lua/linit.c: Likewise.
35177 * script/lua/lobject.c: Likewise.
35178 * script/lua/llimits.h: Likewise.
35179 * script/lua/lstring.c: Likewise.
35180 * script/lua/lzio.h: Likewise.
35181 * script/lua/lapi.c: Likewise.
35182 * script/lua/lcode.c: Likewise.
35183 * script/lua/lua.h: Likewise.
35184 * script/lua/lobject.h: Likewise.
35185 * script/lua/lstring.h: Likewise.
35186 * script/lua/lapi.h: Likewise.
35187 * script/lua/lcode.h: Likewise.
35188 * script/lua/luaconf.h: Likewise.
35189
35190 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
35191
35192 * docs/grub.texi (Command-line and menu entry commands): Document
35193 date and echo commands.
35194
35195 2009-09-24 Pavel Roskin <proski@gnu.org>
35196
35197 * include/grub/kernel.h (struct grub_module_header): Remove
35198 `grub_module_header_types'. Make `type' unsigned. Make `size'
35199 32-bit on all platforms.
35200 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35201 8-bit field. Use grub_host_to_target32() for `size'.
35202 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35203 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35204 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35205
35206 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35207
35208 Fix "lost keypress" bug in at_keyboard.
35209
35210 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35211 Checks for readyness of input buffer (without flushing it).
35212 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35213 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35214
35215 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35216
35217 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35218 size check within GRUB_MACHINE_PCBIOS section.
35219
35220 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35221
35222 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35223 return value.
35224 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35225 KEYBOARD_ISREADY check.
35226 (grub_at_keyboard_checkkey): Rename to ...
35227 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35228 Remove gratuitous cast.
35229
35230 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
35231
35232 * configure.ac: Call AC_PROG_MKDIR_P.
35233 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35234 version.texi in $(builddir) rather than $(srcdir).
35235 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35236 to makeinfo's @include search path.
35237
35238 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35239
35240 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35241
35242 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35243
35244 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35245 for `*.dpkg-new'.
35246
35247 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
35248
35249 Build info documentation. Some code borrowed from Automake.
35250
35251 * configure.ac: Check for makeinfo.
35252 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35253 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35254 docs/version.texi.
35255 (MOSTLYCLEANFILES): Add vti.tmp.
35256 (docs/version.texi, docs/stamp-vti): Update automatically.
35257 (docs/grub.info): Build info documentation. Use --force and ignore
35258 errors for now.
35259 (all-local): Add $(INFOS).
35260 (install-local): Install info files.
35261 (uninstall): Uninstall info files.
35262 * docs/version.texi: Remove from revision control. This file is
35263 automatically generated on build now.
35264 * gendistlist.sh: Add `*.info'.
35265
35266 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35267
35268 * kern/term.c: Fix indentation.
35269
35270 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35271
35272 * util/hostdisk.c: Fix a comment.
35273
35274 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35275
35276 Fix regression introduced in r2539.
35277
35278 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35279 to 0xA1.
35280
35281 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
35282
35283 * util/grub.d/30_os-prober.in: Don't throw away stderr from
35284 os-prober. Under normal operation, it does not print anything to
35285 stderr; if it does, we need to debug it, and throwing away stderr
35286 makes that excessively difficult.
35287
35288 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35289
35290 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35291
35292 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35293
35294 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35295 AC_LANG_PROGRAM from autoconf.
35296 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35297 prototypes (fixes warning).
35298
35299 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35300 `--disable-werror' was used.
35301
35302 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35303
35304 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35305 uninitialized `lastaddr'.
35306
35307 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35308
35309 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
35310
35311 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35312
35313 * commands/test.c (get_fileinfo): Return immediately if
35314 grub_fs_probe fails.
35315
35316 2009-09-14 José Martínez <xosemp@gmail.com>
35317
35318 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35319
35320 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35321
35322 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35323 output.
35324
35325 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35326
35327 * configure.ac: Remove --enable-grub-pe2elf. Only build
35328 grub-pe2elf when needed by the build system itself.
35329 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35330
35331 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35332
35333 * configure.ac: Bump version to 1.97~beta3.
35334 * docs/version.texi: Likewise.
35335
35336 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35337
35338 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35339 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35340 from here ...
35341 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35342 (grub_linux_setup_video): ... to here (with some adjustments).
35343
35344 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35345
35346 Fix memory corruption issue (spotted by Colin Watson).
35347
35348 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35349 causing returned size to be stored in an incorrect memory location.
35350 Fix use of uninitialized value when storing the returned size.
35351
35352 2009-09-12 Yves Blusseau <blusseau@zetam.org>
35353
35354 Change clean rules to properly remove files
35355
35356 * genmk.rb: add new clean rules
35357 * Makefile.in (clean): add the new targets
35358 (mostlyclean): likewise
35359
35360 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35361
35362 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35363 to grub_uint64_t.
35364 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35365 non-resident files.
35366
35367 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35368
35369 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35370 part of bug #27349.
35371
35372 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35373
35374 * util/grub-mkconfig.in: Make the created config mode 400 and
35375 print a warning if it fails.
35376
35377 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35378
35379 * util/grub.d/40_custom.in: Ask user to type custom entries below
35380 comment, rather than below 'exec tail' line.
35381
35382 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35383
35384 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35385 visible in grub.cfg.
35386
35387 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35388
35389 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35390 file.
35391
35392 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35393
35394 * docs/grub.cfg: Add an example menu entry for memtest86+.
35395
35396 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
35397
35398 * config.guess: Update to latest version from config git.
35399 * config.sub: Likewise.
35400
35401 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
35402
35403 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35404 unknown-command case. Fixes bug #27320.
35405
35406 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
35407
35408 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35409 `help' if the command exists.
35410
35411 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35412
35413 * INSTALL: Require GCC 4.1.3 or later.
35414
35415 2009-09-06 Yves Blusseau <blusseau@zetam.org>
35416
35417 * Makefile.in (RMKFILES): add i386-qemu.rmk
35418 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35419 $(srcdir)/stamp-h.in
35420
35421 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35422
35423 * util/grub-probe.c (probe): Comment out buggy codepath, which
35424 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35425 should be re-enabled after 1.97.
35426
35427 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
35428
35429 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35430 find searches for.
35431
35432 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35433
35434 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35435 unnecessary calls to grub_error.
35436
35437 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
35438
35439 * NEWS: Mention `keystatus' and Unicode fonts.
35440
35441 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35442
35443 * configure.ac: Bump version to 1.97~beta2.
35444 * docs/version.texi: Likewise.
35445
35446 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35447
35448 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35449 containing unwind information in some cases where it previously did
35450 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35451 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35452 discussion.
35453
35454 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35455
35456 Embedding loadenv module into grub-emu
35457
35458 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35459 commands/loadenv.c
35460 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35461 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35462 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35464 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35465 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35466
35467 2009-09-03 Magnus Granberg <zorry@ume.nu>
35468
35469 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35470 include -fPIE in the default specs.
35471 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35472 to TARGET_CFLAGS.
35473
35474 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
35475
35476 * INSTALL: Note that GNU Bison 2.3 or later is required.
35477
35478 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35479
35480 * kern/i386/pc/startup.S: Fix typo.
35481
35482 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35483
35484 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35485 according to GCS.
35486
35487 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35488
35489 * docs/grub.texi (Naming convention): Describe one-based partition
35490 numbering.
35491 (Device syntax): Likewise.
35492 (File name syntax): Likewise.
35493 (Block list syntax): Likewise.
35494 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35495 menu.lst.
35496 (File name syntax): Likewise.
35497 (Command-line and menu entry commands): Document acpi, blocklist,
35498 crc, export, insmod, keystatus, ls, set, and unset commands.
35499
35500 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35501
35502 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35503 to avoid implying that only one of --shift, --ctrl, or --alt may be
35504 used.
35505
35506 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35507
35508 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35509 rather than comparing against S_IFREG, which will almost never work.
35510
35511 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35512
35513 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35514 (write_blocklists): Likewise.
35515
35516 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
35517
35518 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35519 argument to grub_printf.
35520
35521 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
35522
35523 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
35524 non GNU test.
35525
35526 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35527
35528 * kern/file.c (grub_file_read): Spelling fix
35529
35530 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35531
35532 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35533 loading of headers in some cases.
35534
35535 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35536
35537 * configure.ac: Bump version to 1.97~beta1.
35538 * docs/version.texi: Likewise.
35539
35540 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
35541
35542 * include/grub/i386/xnu.h: Add license header.
35543 include grub/err.h explicitly.
35544
35545 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35546
35547 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35548 to `ufs' in the vfs.root.mountfrom kernel parameter.
35549
35550 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35551
35552 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35553
35554 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35555 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35556
35557 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35558 `ARRAY_SIZE' macro.
35559
35560 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35561
35562 * kern/file.c (grub_file_read): Check offset.
35563 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35564 * fs/jfs.c (grub_jfs_read_file): Likewise.
35565 * fs/ntfs.c (grub_ntfs_read): Likewise.
35566 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35567 * fs/minix.c (grub_minix_read_file): Correct offset check.
35568 * fs/ufs.c (grub_ufs_read_file): Likewise.
35569
35570 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35571
35572 * term/i386/pc/console.c (bios_data_area): Cast
35573 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35574
35575 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35576
35577 1-bit optimised blitters.
35578
35579 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35580 prototype.
35581 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35582 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35583 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35584 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35585 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35586 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35587 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35588 function.
35589 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35590 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35591 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35592 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35593 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35594 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35595 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35596 when possible.
35597 * video/video.c (grub_video_get_blit_format): Return
35598 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35599
35600 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35601
35602 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35603 the first argument to grub_printf.
35604
35605 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35606 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35607
35608 Add `getkeystatus' terminal method. Add a new `keystatus' command
35609 to query it.
35610
35611 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35612 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35613 modifier key bitmasks.
35614 (struct grub_term_input): Add `getkeystatus' member.
35615 (grub_getkeystatus): Add prototype.
35616 * kern/term.c (grub_getkeystatus): New function.
35617
35618 * include/grub/i386/pc/memory.h
35619 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35620 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35621 Data Area layout.
35622 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35623 (grub_console_term_input): Set `getkeystatus' member.
35624 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35625 constants.
35626 (grub_usb_keyboard_getreport): Likewise.
35627 (grub_usb_keyboard_checkkey): Likewise.
35628 (grub_usb_keyboard_getkeystatus): New function.
35629 (grub_usb_keyboard_term): Set `getkeystatus' member.
35630
35631 * commands/keystatus.c: New file.
35632 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35633 (keystatus_mod_SOURCES): New variable.
35634 (keystatus_mod_CFLAGS): Likewise.
35635 (keystatus_mod_LDFLAGS): Likewise.
35636 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35637 commands/keystatus.c.
35638 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35639 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35640 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35642 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35643 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35644
35645 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35646
35647 Split befs.mod and afs.mod into *_be.mod and *.mod
35648
35649 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35650 (grub_fstest_SOURCES): Likewise.
35651 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35652 (afs_be_mod_SOURCES): New variable.
35653 (afs_be_mod_CFLAGS): Likewise.
35654 (afs_be_mod_LDFLAGS): Likewise.
35655 (befs_be_mod_SOURCES): Likewise.
35656 (befs_be_mod_CFLAGS): Likewise.
35657 (befs_be_mod_LDFLAGS): Likewise.
35658 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35659 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35660 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35661 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35662 (grub_emu_SOURCES): Likewise.
35663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35664 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35665 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35666 * fs/afs_be.c: New file.
35667 * fs/befs_be.c: New file.
35668 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35669 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35670 (U16): Replaced with ...
35671 (grub_afs_to_cpu16): ...this. All users updated.
35672 (U32): Replaced with ...
35673 (grub_afs_to_cpu32): ...this. All users updated.
35674 (U64): Replaced with ...
35675 (grub_afs_to_cpu64): ...this. All users updated.
35676 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35677 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
35678 (grub_afs_validate_sblock): Check only one endianness.
35679 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35680 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35681 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35682 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35683 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35684 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35685 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35686 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35687
35688 2009-08-26 Bean <bean123ch@gmail.com>
35689
35690 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35691 64-bit number.
35692 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35693 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35694 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35695
35696 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35697
35698 NetBSD memory map support.
35699
35700 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35701 (grub_netbsd_btinfo_mmap_header): New structure.
35702 (grub_netbsd_btinfo_mmap_entry): Likewise.
35703 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35704
35705 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35706
35707 Enable bsd.mod on coreboot.
35708
35709 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35710 (bsd_mod_SOURCES): New variable.
35711 (bsd_mod_CFLAGS): Likewise.
35712 (bsd_mod_LDFLAGS): Likewise.
35713 (bsd_mod_ASFLAGS): Likewise.
35714 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35715 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35716
35717 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35718
35719 Cleanup NetBSD root support.
35720
35721 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35722 grub_bsd_get_device.
35723 Fix typo.
35724
35725 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
35726
35727 * util/grub.d/00_header.in: Move check for the video backend of
35728 gfxterm from here ...
35729 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35730 a suitable video backend.
35731
35732 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35733
35734 Fix breakage in grub-setup.
35735
35736 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35737 "msdos_partition_map".
35738
35739 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35740
35741 Fix breakage in normal/auth.c.
35742
35743 * normal/auth.c (grub_iswordseparator): New function.
35744
35745 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35746
35747 Authentication support.
35748
35749 * commands/password.c: New file.
35750 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35751 (password_mod_SOURCES): New variable.
35752 (password_mod_CFLAGS): Likewise.
35753 (password_mod_LDFLAGS): Likewise.
35754 (normal_mod_SOURCES): Add normal/auth.c.
35755 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35756 normal/auth.c.
35757 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35758 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35759 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35761 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35762 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35763 * include/grub/auth.h: New file.
35764 * include/grub/err.h (grub_err_t): New enum value
35765 GRUB_ERR_ACCESS_DENIED.
35766 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35767 'users'.
35768 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35769 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35770 users updated.
35771 * normal/auth.c: New file.
35772 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35773 (grub_cmdline_run): Don't allow to go to command line without
35774 authentication.
35775 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35776 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35777 menuentry without superuser rights.
35778 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35779 user isn't a superuser.
35780
35781 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35782
35783 Save space by inlining misc.c functions.
35784
35785 * kern/misc.c (grub_iswordseparator): Made static.
35786 * kern/misc.c (grub_strcat): Moved from here ...
35787 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35788 * kern/misc.c (grub_strncat): Moved from here ...
35789 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35790 * kern/misc.c (grub_strcasecmp): Moved from here ...
35791 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35792 * kern/misc.c (grub_strncasecmp): Moved from here ...
35793 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35794 * kern/misc.c (grub_isalpha): Moved from here ...
35795 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35796 * kern/misc.c (grub_isdigit): Moved from here ...
35797 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35798 * kern/misc.c (grub_isgraph): Moved from here ...
35799 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35800 * kern/misc.c (grub_tolower): Moved from here ...
35801 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35802
35803 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35804
35805 * script/sh/function.c (grub_script_function_find): Cut error message
35806 not to flood terminal.
35807 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35808 limit.
35809 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35810
35811 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
35812
35813 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35814 `report' grub_uint8_t *.
35815 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35816 Use a 50-millisecond timeout rather than just repeating
35817 grub_usb_keyboard_getreport 50 times.
35818 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35819
35820 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35821
35822 Rename *_partition_map to part_*
35823
35824 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35825 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35826 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35827 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35828 All users updated.
35829 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35830 All users updated.
35831 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35832 * util/grub-probe.c (probe_partmap): Don't transform partition name
35833 to get module name.
35834
35835 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35836
35837 Fix OpenBSD and NetBSD support.
35838
35839 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35840 memory address conflict.
35841 (OPENBSD_MMAP_ACPI): New definition.
35842 (OPENBSD_MMAP_NVS): Likewise.
35843 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35844 and OPENBSD_MMAP_NVS.
35845 Add memory map terminator
35846 Explicit cast when calling grub_unix_real_boot.
35847 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
35848
35849 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35850
35851 Let user specify NetBSD root device.
35852
35853 * loader/i386/bsd.c (netbsd_root): New variable.
35854 (netbsd_opts): New option 'root'.
35855 (NETBSD_ROOT_ARG): New macro.
35856 (grub_netbsd_boot): Use 'netbsd_root'.
35857 (grub_bsd_unload): Free 'netbsd_root'.
35858 (grub_cmd_netbsd): Fill 'netbsd_root'.
35859
35860 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35861
35862 Support for 64-bit NetBSD.
35863
35864 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35865 point when booting non-FreeBSD.
35866
35867 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35868
35869 Support --no-smp and --no-acpi for NetBSD.
35870
35871 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35872 (NETBSD_AB_NOACPI): Likewise.
35873 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35874 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35875
35876 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35877
35878 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35879 errors.
35880 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35881 errors. Call grub_error when needed.
35882
35883 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35884
35885 * commands/search.c (search_fs): Try searching without autoload first.
35886 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35887 filesystem module explicitly for faster booting.
35888
35889 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35890
35891 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35892
35893 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35894
35895 * util/grub.d/30_os-prober.in: Disable os-prober if
35896 `GRUB_DISABLE_OS_PROBER' was set to true.
35897
35898 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35899
35900 * partmap/pc.c: Rename to ...
35901 * partmap/msdos.c: ... this. Update all users.
35902 (grub_pc_partition_map): Rename to ...
35903 (grub_msdos_partition_map): ... this. Update all users.
35904
35905 * parttool/pcpart.c: Rename to ...
35906 * parttool/msdospart.c: ... this. Update all users.
35907
35908 * include/grub/pc_partition.h: Rename to ...
35909 * include/grub/msdos_partition.h: ... this. Update all users.
35910 (grub_pc_partition_bsd_entry): Rename to ...
35911 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35912 (grub_pc_partition_disk_label): Rename to ...
35913 (grub_msdos_partition_disk_label): ... this. Update all users.
35914 (grub_pc_partition_entry): Rename to ...
35915 (grub_msdos_partition_entry): ... this. Update all users.
35916 (grub_pc_partition_mbr): Rename to ...
35917 (grub_msdos_partition_mbr): ... this. Update all users.
35918 (grub_pc_partition): Rename to ...
35919 (grub_msdos_partition): ... this. Update all users.
35920 (grub_pc_partition_is_empty): Rename to ...
35921 (grub_msdos_partition_is_empty): ... this. Update all users.
35922 (grub_pc_partition_is_extended): Rename to ...
35923 (grub_msdos_partition_is_extended): ... this. Update all users.
35924 (grub_pc_partition_is_bsd): Rename to ...
35925 (grub_msdos_partition_is_bsd): ... this. Update all users.
35926
35927 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35928 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35929 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35930 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35931 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35932 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35933 (gpt_mod_LDFLAGS): Rename to ...
35934 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35935 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35936 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35937 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35938 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35939 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35940 (part_gpt_mod_LDFLAGS): ... this.
35941 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35942 `pcpart.mod' to `msdospart.mod'.
35943 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35944 to ...
35945 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35946 (msdospart_mod_LDFLAGS): ... this.
35947
35948 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35949
35950 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35951 (openbsd_opts): Likewise.
35952 (netbsd_opts): Likewise.
35953 (freebsd_flags): Added 0 terminator.
35954 (openbsd_flags): Likewise.
35955 (netbsd_flags): Likewise.
35956 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35957 (grub_cmd_freebsd): Transformed into extended command.
35958 (grub_cmd_openbsd): Likewise.
35959 (grub_cmd_netbsd): Likewise.
35960 (cmd_freebsd): Changed type to grub_extcmd_t.
35961 (cmd_openbsd): Likewise.
35962 (cmd_netbsd): Likewise.
35963 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35964 grub_cmd_openbsd as extended commands.
35965 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35966 cmd_netbsd and cmd_openbsd
35967
35968 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35969
35970 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35971
35972 2009-08-21 Pavel Roskin <proski@gnu.org>
35973
35974 * Makefile.in (install-local): When checking if a file is in the
35975 build directory, use "test -e" to detect symlinks.
35976
35977 * Makefile.in (install-local): Remove all files in
35978 $(DESTDIR)$(pkglibdir) before installing new files there.
35979
35980 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
35981
35982 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
35983 grub-mkelfimage.
35984
35985 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
35986
35987 * util/grub-mkconfig.in: Don't use gfxterm by default if not
35988 explicitly specified by the user.
35989
35990 2009-08-18 Pavel Roskin <proski@gnu.org>
35991
35992 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
35993 grub_uint8_t pointer for data.
35994 * include/grub/fbutil.h (struct grub_video_fbblit_info):
35995 Likewise.
35996 * video/fb/fbutil.c: Remove unnecessary casts.
35997
35998 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
35999
36000 VBE cleanup.
36001
36002 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36003 (grub_vbe_set_video_mode): Save active mode info
36004 only after setting the mode.
36005 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36006 second argument.
36007
36008 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36009
36010 Rename variables for clarity.
36011
36012 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36013 (active_vbe_mode_info): ... this. All users updated.
36014 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36015 All users updated.
36016 (initial_mode): Rename to ...
36017 (initial_vbe_mode): ... this. All users updated.
36018 (mode_in_use): Rename to ..
36019 (vbe_mode_in_use): ... this. All users updated.
36020 (mode_list): Rename to ..
36021 (vbe_mode_list): ... this. All users updated.
36022 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36023 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36024 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36025 'mode_list_size' to 'vbe_mode_list_size'.
36026 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36027 'best_mode_info' to 'best_vbe_mode_info' and
36028 'best_mode' to 'best_vbe_mode'
36029
36030 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36031
36032 Remove duplicate grub_video_fb_get_video_ptr.
36033
36034 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36035 (grub_video_fb_get_video_ptr): ... this.
36036 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36037 * video/fb/fbutil.c: Add comment about addressing.
36038 (get_data_ptr): Rename to ...
36039 (grub_video_fb_get_video_ptr): ... this. All users updated.
36040 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36041
36042 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36043
36044 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36045 grub_dprintf() that was just added.
36046
36047 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36048
36049 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36050 (DEFAULT_VIDEO_MODE): Remove macros.
36051 (grub_linux_boot): Remove assumption that Linux has FB support,
36052 and use "text" as default video mode.
36053
36054 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36055
36056 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36057 grub_dprintf.
36058 * fs/fat.c (grub_fat_read_data): Likewise.
36059
36060 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36061
36062 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36063 payload.
36064 (grub_module): Likewise.
36065
36066 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36067
36068 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36069 mbi->cmdline but free playground.
36070
36071 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36072
36073 Handle group offset on UFS1.
36074
36075 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36076 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36077
36078 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36079
36080 Split ufs.mod into ufs1.mod and ufs2.mod.
36081
36082 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36083 (grub_fstest_SOURCES): Likewise.
36084 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36085 (ufs_mod_SOURCES): Remove.
36086 (ufs_mod_CFLAGS): Likewise.
36087 (ufs_mod_LDFLAGS): Likewise.
36088 (ufs1_mod_SOURCES): New variable.
36089 (ufs1_mod_CFLAGS): Likewise.
36090 (ufs1_mod_LDFLAGS): Likewise.
36091 (ufs2_mod_SOURCES): New variable.
36092 (ufs2_mod_CFLAGS): Likewise.
36093 (ufs2_mod_LDFLAGS): Likewise.
36094 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36095 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36096 Likewise.
36097 (grub_emu_SOURCES): Likewise.
36098 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36099 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36100 (grub_setup_SOURCES): Likewise.
36101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36102 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36103 (grub_setup_SOURCES): Likewise.
36104 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36105 Likewise.
36106 * fs/ufs2.c: New file.
36107 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36108
36109 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36110
36111 Framebuffer split.
36112
36113 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36114 subsystem at the end.
36115 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36116 (video_fb_mod_SOURCES): New variable.
36117 (video_fb_mod_CFLAGS): Likewise.
36118 (video_fb_mod_LDFLAGS): Likewise.
36119 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36120 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36121 * video/i386/pc/vbeblit.c: Moved from here ...
36122 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36123 * video/i386/pc/vbefill.c: Moved from here ...
36124 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36125 * video/i386/pc/vbeutil.c: Moved from here ...
36126 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36127 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36128 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36129 * include/grub/i386/pc/vbefill.h: Moved from here ...
36130 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36131 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36132 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36133 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36134 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36135 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36136 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36137 (grub_video_adapter): Added 'get_info_and_fini'.
36138 (grub_video_get_info_and_fini): New prototype.
36139 (grub_video_set_mode): make modestring const char *.
36140 * loader/i386/linux.c (grub_linux_setup_video): Use
36141 grub_video_get_info_and_fini.
36142 (grub_linux_boot): Move modesetting just before booting.
36143 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36144 grub_video_get_info_and_fini.
36145 * video/i386/pc/vbe.c: Moved framebuffer part ...
36146 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36147 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36148 grub_video_fbstd_colors and grub_video_fb_set_palette.
36149 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36150 grub_video_fb_init.
36151 (grub_video_vbe_fini): Use grub_video_fb_fini.
36152 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36153 render_target and use grub_video_fb_set_active_render_target and
36154 grub_video_fb_set_palette.
36155 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36156 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36157 (grub_video_vbe_adapter): Use framebuffer.
36158 * video/video.c (grub_video_get_info_and_fini): New function.
36159 (grub_video_set_mode): Make modestring const char *.
36160 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36161 values are already initialised.
36162
36163 2009-08-14 Pavel Roskin <proski@gnu.org>
36164
36165 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36166 ABS and APPLE_CC.
36167 * boot/i386/pc/diskboot.S: Likewise.
36168 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36169 sectors allow compilation on MacOSX.
36170 * conf/i386-pc.rmk: Enable unconditional compilation of
36171 lnxboot.img.
36172
36173 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
36174
36175 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36176 * util/grub.d/00_header.in: Enter interruptible sleep if
36177 GRUB_HIDDEN_TIMEOUT is set.
36178
36179 2009-08-13 Yves Blusseau <blusseau@zetam.org>
36180
36181 * include/grub/symbol.h: Add the LOCAL macro.
36182 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36183 starting with "L_".
36184
36185 2009-08-13 Pavel Roskin <proski@gnu.org>
36186
36187 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36188 any modern compilers we support.
36189
36190 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36191 Use local labels starting with "L_" so that Apple assembler
36192 knows they are local.
36193
36194 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36195
36196 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36197 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36198 (bsd_kernel_types): ... this enum.
36199
36200 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36201 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36202 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36203
36204 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36205 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36206 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36207 messages.
36208
36209 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36210
36211 * util/grub-dumpdevtree: Moved from here ...
36212 * util/i386/efi/grub-dumpdevtree: ... to here.
36213 (hexify): New function. Converts a string to its hex version.
36214 Generate hex versions of "efi" and "device-properties" by calling
36215 hexify() on the ASCII strings rather than by hardcoding numbers.
36216
36217 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36218
36219 * fs/jfs.c: Update copyright year.
36220
36221 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36222
36223 * util/grub.d/00_header.in: Fix a comment.
36224 * util/grub.d/10_linux.in: Likewise.
36225 * util/grub.d/10_windows.in: Likewise.
36226 * util/grub.d/10_hurd.in: Likewise.
36227
36228 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36229
36230 * util/grub-mkconfig.in: Allow the user to specify the used font
36231 with GRUB_FONT.
36232
36233 2009-08-08 Pavel Roskin <proski@gnu.org>
36234
36235 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36236 available, xfs.mod needs it now.
36237
36238 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36239 the "g" modifier in sed when the intention is to strip something
36240 once. This fixes comparison of kernels with multiple dashes.
36241
36242 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36243 on it. Add missing space before closing bracket. Fix
36244 misleading formatting.
36245
36246 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36247
36248 * docs/grub.texi: Major overhaul. Remove all sections that are
36249 specific to GRUB Legacy, or mostly composed of Legacy-specific
36250 information.
36251
36252 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36253
36254 * docs/version.texi: New file. Provides version information for
36255 grub.texi.
36256
36257 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36258
36259 * docs/grub.texi: Update CVS information to SVN.
36260 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36261
36262 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36263
36264 * util/grub-mkconfig.in: Remove a wrong `fi'.
36265
36266 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36267
36268 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36269 (grub_jfs_uuid): New function.
36270 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36271
36272 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36273
36274 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36275 of it to ...
36276 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36277 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36278
36279 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36280
36281 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36282 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36283 Update all users.
36284
36285 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36286 not just "vmlinu[zx]".
36287 Moved from here ...
36288 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36289 all users.
36290
36291 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36292 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36293 all users.
36294
36295 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36296
36297 * util/grub.d/10_freebsd.in: Use an absolute device path for
36298 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36299
36300 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
36301
36302 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36303 handling of multiple abstraction modules.
36304
36305 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36306
36307 Fix a bug resulting in black screen when loading Linux using a
36308 packed video mode.
36309
36310 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36311 function.
36312
36313 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36314 (grub_vbe_bios_getset_dac_palette_width): New function.
36315 (grub_vbe_bios_get_dac_palette_width)
36316 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36317 grub_vbe_bios_getset_dac_palette_width()).
36318
36319 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36320 check for return status.
36321 (grub_vbe_get_video_mode_info): When getting information for a packed
36322 mode (<= 8 bpp), obtain DAC palette width using
36323 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36324 {red,green,blue}_mark_size.
36325
36326 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
36327
36328 * commands/search.c (options): Fix help output to match actual code.
36329
36330 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36331
36332 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36333 of homegrown code.
36334
36335 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36336
36337 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36338 on XFS or ReiserFS.
36339
36340 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36341
36342 Support Apple partition map with sector size different from 512 bytes.
36343
36344 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36345 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36346 and 'apart.partmap_size'.
36347
36348 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36349 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36350
36351 Fix cpuid command.
36352
36353 * commands/i386/cpuid.c (options): New variable.
36354 (grub_cmd_cpuid): Return real error.
36355 (GRUB_MOD_INIT(cpuid)): Declare options.
36356
36357 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36358
36359 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36360 valid.
36361
36362 2009-07-31 Bean <bean123ch@gmail.com>
36363
36364 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36365 log2_inode.
36366 (grub_fshelp_node): Move inode field to the end.
36367 (grub_xfs_data): Remove inode field.
36368 (grub_xfs_inode_block): Calculate inode size using sblock.
36369 (grub_xfs_inode_offset): Likewise.
36370 (grub_xfs_read_inode): Calculate inode size using sblock.
36371 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36372 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36373 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36374 to match inode size.
36375 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36376 not accessible when data is null.
36377 (grub_xfs_open): Likewise.
36378
36379 2009-07-31 Bean <bean123ch@gmail.com>
36380
36381 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36382 Don't change pv->disk if it's already set.
36383
36384 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36385 (grub_raid_register): ... here.
36386 (grub_raid_rescan): Removed.
36387
36388 * include/grub/raid.h (grub_raid_rescan): Removed.
36389
36390 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36391 (fstest): Replace grub_raid_rescan with module fini function followed
36392 by init function.
36393
36394 * util/grub-probe.c: Add include file <grub/raid.h>.
36395 (probe_raid_level): New function.
36396 (probe): Detect abstraction by walking the disk device, support two
36397 level of abstraction (LVM on RAID) when detecting partition map.
36398
36399 2009-07-31 Pavel Roskin <proski@gnu.org>
36400
36401 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36402 to grub_zalloc(), it was erroneous.
36403 Reported by Bean <bean123ch@gmail.com>
36404
36405 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36406
36407 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
36408 embedding zone, not only the first one.
36409
36410 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
36411
36412 * term/gfxterm.c (clear_char): New function.
36413 (grub_virtual_screen_setup): Use clear_char.
36414 (scroll_up): Likewise.
36415 (grub_virtual_screen_cls): Likewise.
36416
36417 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
36418
36419 * util/deviceiter.c (get_acceleraid_disk_name): New static
36420 function.
36421 (grub_util_iterate_devices): Handle Accelraid devices.
36422 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36423
36424 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36425
36426 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36427 separator for the suggested gfxpayload string (';' collides with the
36428 parser and needs escaping).
36429
36430 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36431
36432 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36433 Clear direction flag before jumping to OS.
36434 (grub_multiboot2_real_boot): Likewise.
36435
36436 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36437
36438 * util/i386/pc/grub-install: Fix parsing of --disk-module
36439 option.
36440
36441 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36442
36443 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36444 when embedding.
36445
36446 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
36447
36448 * util/grub-mkconfig.in (package_version): New variable.
36449 Use it do display the version.
36450
36451 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36452
36453 * kern/file.c (grub_file_open): Revert to previous check with
36454 grub_errno.
36455
36456 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36457
36458 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36459 from help line. It's out of sync with code.
36460
36461 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36462
36463 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36464 entries on failed boot.
36465
36466 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36467
36468 * kern/file.c (grub_file_open): Fix an error check.
36469
36470 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36471
36472 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36473 partition map couldn't be identified.
36474
36475 2009-07-23 Pavel Roskin <proski@gnu.org>
36476
36477 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36478 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36479 case of little endian words becomes just an optimization.
36480 Respect const modifier.
36481 (md5_final): Use code that doesn't depend on endianness.
36482
36483 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36484 to avoid loss of upper bits if align is unsigned and shorter
36485 than addr.
36486
36487 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36488
36489 UUID support for UFS
36490
36491 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36492 (grub_ufs_uuid): New function.
36493 (grub_ufs_fs): add .uuid
36494
36495 2009-07-21 Pavel Roskin <proski@gnu.org>
36496
36497 * kern/dl.c (grub_dl_check_header): Make static.
36498
36499 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
36500
36501 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36502 add drivemap for Vista. It breaks Windows 7.
36503
36504 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36505
36506 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36507 128 bytes
36508
36509 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36510
36511 Add BFS support
36512
36513 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36514 (grub_fstest_SOURCES): Likewise.
36515 (pkglib_MODULES): Add befs.mod.
36516 (befs_mod_SOURCES): New variable.
36517 (befs_mod_CFLAGS): Likewise.
36518 (befs_mod_LDFLAGS): Likewise.
36519 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36520 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36521 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36522 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36523 (grub_setup_SOURCES): Likewise.
36524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36525 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36526 (grub_setup_SOURCES): Likewise.
36527 * fs/befs.c: New file.
36528 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36529 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36530 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36531 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36532 (B_KEY_INDEX_ALIGN): New declaration.
36533 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36534 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36535 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36536 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36537 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36538 (grub_afs_mount) [MODE_BFS]: Likewise.
36539 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36540 (grub_afs_fs): Use GRUB_AFS_FSNAME
36541 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36542 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36543 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36544 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36545
36546 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36547
36548 * util/getroot.c (find_root_device): Add support for MacOSX.
36549 * util/hostdisk.c: Likewise.
36550
36551 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36552
36553 * font/font.c (find_glyph): Check whether a font is present to avoid
36554 segmentation fault.
36555
36556 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
36557
36558 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36559
36560 2009-07-20 Pavel Roskin <proski@gnu.org>
36561
36562 * configure.ac: Trim excessively wordy excuses.
36563
36564 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36565
36566 Add symlink, mtime and label support to AtheFS.
36567
36568 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36569 (grub_afs_iterate_dir): Handle symlinks.
36570 (grub_afs_open): Use grub_afs_read_symlink.
36571 (grub_afs_dir): Likewise.
36572 Pass mtime.
36573 (grub_afs_label): New function.
36574 (grub_afs_fs): Add grub_afs_label.
36575 (grub_afs_read_symlink): New function.
36576
36577 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36578
36579 Fix AtheFS support.
36580
36581 * fs/afs.c: Fix comments style.
36582 (grub_afs_blockrun): Declare as packed.
36583 (grub_afs_datastream): Likewise.
36584 (grub_afs_bnode): Likewise.
36585 (grub_afs_btree): Likewise.
36586 (grub_afs_sblock): Likewise.
36587 Declare `name' as char.
36588 (grub_afs_inode): Declare as packed.
36589 Change void *vnode to grub_uint32_t unused.
36590 (grub_afs_iterate_dir): Check that key_size is positive.
36591 (grub_afs_mount): Don't read superblock twice.
36592 (grub_afs_dir): Don't free node in case of error,
36593 grub_fshelp_find_file already handles this.
36594 (grub_afs_open): Likewise.
36595
36596 2009-07-19 Pavel Roskin <proski@gnu.org>
36597
36598 * Makefile.in: Remove LIBLZO and enable_lzo.
36599 * conf/i386-pc.rmk: Remove lzo support.
36600 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36601 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36602 support.
36603 * kern/i386/pc/lzo1x.S: Remove.
36604 * kern/i386/pc/startup.S: Remove lzo support.
36605 * util/i386/pc/grub-mkimage.c: Likewise.
36606
36607 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36608
36609 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36610 * fs/xfs.c (grub_xfs_dir): Likewise.
36611 * fs/afs.c (grub_afs_dir): Likewise.
36612 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36613 (grub_iso9660_open): Likewise.
36614 * fs/jfs.c (grub_jfs_open): Likewise.
36615 * fs/ext2.c (grub_ext2_dir): Likewise.
36616 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36617 * script/sh/lexer.c (grub_script_yylex): Likewise.
36618
36619 2009-07-16 Pavel Roskin <proski@gnu.org>
36620
36621 * configure.ac: Never add "-c" to CFLAGS.
36622
36623 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36624
36625 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36626 grub_cv_cc_efiemu should be used.
36627
36628 * configure.ac: Typo fixes.
36629
36630 * kern/mm.c (grub_zalloc): New function.
36631 (grub_debug_zalloc): Likewise.
36632 * include/grub/mm.h: Declare grub_zalloc() and
36633 grub_debug_zalloc().
36634 * util/misc.c (grub_zalloc): New function.
36635 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36636 instead of grub_malloc(), remove unneeded initializations.
36637 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36638 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36639 * commands/parttool.c (grub_cmd_parttool): Likewise.
36640 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36641 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36642 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36643 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36644 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36645 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36646 (grub_cmd_efiemu_pnvram): Likewise.
36647 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36648 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36649 (grub_iso9660_iterate_dir): Likewise.
36650 * fs/jfs.c (grub_jfs_opendir): Likewise.
36651 * fs/ntfs.c (list_file): Likewise.
36652 (grub_ntfs_mount): Likewise.
36653 * kern/disk.c (grub_disk_open): Likewise.
36654 * kern/dl.c (grub_dl_load_core): Likewise.
36655 * kern/elf.c (grub_elf_file): Likewise.
36656 * kern/env.c (grub_env_context_open): Likewise.
36657 (grub_env_set): Likewise.
36658 (grub_env_set_data_slot): Likewise.
36659 * kern/file.c (grub_file_open): Likewise.
36660 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36661 * loader/i386/multiboot.c (grub_module): Likewise.
36662 * loader/xnu.c (grub_xnu_create_key): Likewise.
36663 (grub_xnu_create_value): Likewise.
36664 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36665 (read_config_file): Likewise.
36666 * normal/menu_entry.c (make_screen): Likewise.
36667 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36668 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36669 * script/sh/script.c (grub_script_parse): Likewise.
36670 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36671 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36672 * video/readers/png.c (grub_png_output_byte): Likewise.
36673 (grub_video_reader_png): Likewise.
36674
36675 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36676
36677 Enable all targets that can be built by default
36678
36679 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
36680 grub-mkfont and grub-fstest if they can be built
36681
36682 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36683
36684 Fix hang and segmentation fault in grub-emu-usb
36685
36686 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36687 * util/usb.c (grub_libusb_devices): likewise
36688 (grub_libusb_init): rename to ...
36689 (GRUB_MOD_INIT (libusb)):...this
36690 (grub_libusb_fini): rename to ..
36691 (GRUB_MOD_FINI (libusb)):...this
36692 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36693 * include/grub/disk.h (grub_raid_init): removed, it's useless
36694 (grub_raid_fini): likewise
36695 (grub_lvm_init): likewise
36696 (grub_lvm_fini): likewise
36697 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36698 by grub_init_all
36699
36700 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36701
36702 Fix libusb
36703
36704 * Makefile.in (LIBUSB): new macro
36705 * genmk.rb (Utility/print_tail): new method
36706 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36707 (top level): call util.print_tail at the end.
36708
36709 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36710
36711 Make FreeBSD accept zpool.cache
36712
36713 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36714 type is /boot/zfs/zpool.cache
36715
36716 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36717
36718 Fix 64-bit efiemu
36719
36720 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36721 correct wrong typedef
36722 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36723
36724 2009-07-15 Pavel Roskin <proski@gnu.org>
36725
36726 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36727 * kern/disk.c (struct grub_disk_cache): Likewise.
36728
36729 * commands/probe.c (options): Typo fix.
36730
36731 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36732 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36733 accordingly.
36734 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36735
36736 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36737 the end of "Error" to make the message more readable.
36738
36739 * boot/i386/pc/boot.S (kernel_segment): Remove.
36740 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36741 for destination.
36742
36743 * boot/i386/pc/boot.S (boot_version): Remove.
36744 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36745 Remove.
36746
36747 * include/grub/i386/pc/boot.h: Sort all offsets.
36748 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36749 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36750 * boot/i386/pc/boot.S: Assert location of every offset listed in
36751 include/grub/i386/pc/boot.h.
36752
36753 2009-07-13 Pavel Roskin <proski@gnu.org>
36754
36755 * include/grub/i386/coreboot/machine.h: Rename
36756 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36757 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36758 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36759
36760 * kern/dl.c: Force native word size to suppress warnings when
36761 compiling grub-emu.
36762
36763 * kern/device.c (grub_device_iterate): Change struct part_ent to
36764 hold the name, not a pointer to it. Use one grub_malloc() per
36765 partition, not two. Free partition_name if grub_malloc() fails.
36766 Set ents to NULL only before grub_partition_iterate() is called.
36767
36768 2009-07-11 Bean <bean123ch@gmail.com>
36769
36770 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36771 childname.
36772
36773 2009-07-10 Bean <bean123ch@gmail.com>
36774 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36775
36776 * kern/ieee1275/openfw.c (grub_children_iterate)
36777 (grub_devalias_iterate): Fix size evaluation for property or path
36778 strings, which was broken since r2132.
36779
36780 2009-07-07 Pavel Roskin <proski@gnu.org>
36781
36782 * commands/search.c (search_file): Merge into ...
36783 (search_fs): ... this. Accept search type as argument.
36784 (grub_cmd_search): Pass search type to search_fs().
36785
36786 * include/grub/util/console.h: New file.
36787 * util/console.c: Use it instead of grub/machine/console.h.
36788 * util/grub-emu.c: Likewise.
36789
36790 * lib/arg.c (find_long_option): Remove.
36791 (find_long): Add `len' argument, make `s' const char *.
36792 (grub_arg_parse): Parse long options in place, not in a
36793 temporary buffer.
36794
36795 2009-07-06 Pavel Roskin <proski@gnu.org>
36796
36797 * commands/search.c (search_fs): Fix potential NULL pointer
36798 dereference.
36799
36800 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36801 function pointer.
36802
36803 2009-07-06 Daniel Mierswa <impulze@impulze.org>
36804
36805 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36806 comparison.
36807
36808 2009-07-05 Pavel Roskin <proski@gnu.org>
36809
36810 * include/grub/i386/linux.h (struct linux_kernel_params):
36811 Restore padding3, it's still needed.
36812
36813 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36814 FreeBSD.
36815 * util/osdetect.lua: Likewise.
36816
36817 2009-07-05 Bean <bean123ch@gmail.com>
36818
36819 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36820
36821 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36822 (grub_lua_getenv): Likewise.
36823 (grub_lua_setenv): Likewise.
36824 (save_errno): New function.
36825 (push_result): Likewise.
36826 (grub_lua_enum_device): Likewise.
36827 (grub_lua_enum_file): Likewise.
36828 (grub_lua_file_open): Likewise.
36829 (grub_lua_file_close): Likewise.
36830 (grub_lua_file_seek): Likewise.
36831 (grub_lua_file_read): Likewise.
36832 (grub_lua_file_getline): Likewise.
36833 (grub_lua_file_getsize): Likewise.
36834 (grub_lua_file_getpos): Likewise.
36835 (grub_lua_file_eof): Likewise.
36836 (grub_lua_file_exist): Likewise.
36837 (grub_lua_add_menu): Likewise.
36838
36839 * script/lua/grub_lua.h (isupper): New inline function.
36840 (islower): Likewise.
36841 (ispunct): Likewise.
36842 (isxdigit): Likewise.
36843 (strcspn): Change to normal function.
36844 (strpbkr): New function declaration.
36845 (memchr): Likewise.
36846
36847 * script/lua/grub_main.c (scan_str): New function.
36848 (strcspn): Likewise.
36849 (strpbrk): Likewise.
36850 (memchr): Likewise.
36851
36852 * script/lua/linit.c (lualibs): Enable the string library.
36853
36854 * util/osdetect.lua: New file.
36855
36856 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36857
36858 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36859 `capabilities' member.
36860
36861 2009-07-02 Pavel Roskin <proski@gnu.org>
36862
36863 * genparttoollist.sh: Add missing newline at the end.
36864
36865 2009-07-01 Pavel Roskin <proski@gnu.org>
36866
36867 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36868
36869 * util/hostdisk.c (open_device): Remove `const' from
36870 `sysctl_size', as sysctlbyname() can change it (in this case it
36871 doesn't actually happen).
36872
36873 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36874 using signed long int constants.
36875
36876 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36877 constant to avoid a warning on FreeBSD.
36878
36879 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36880 where it's needed.
36881
36882 * Makefile.in: Install include/grub/machine symlink.
36883
36884 * Makefile.in: When installing symlinks, use "cp -fR", which
36885 works on FreeBSD and MacOSX.
36886 From Yves Blusseau <cl7m42e02@sneakemail.com>
36887
36888 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36889 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36890
36891 * util/misc.c: Move grub_reboot() and grub_halt() ...
36892 * util/grub-emu.c: ... here. Make main_env static.
36893 * include/grub/util/misc.h: Remove main_env.
36894
36895 * kern/mm.c: Use correct format to print size_t.
36896
36897 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36898 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36899 * kern/powerpc/dl.c: Likewise.
36900 * kern/sparc64/dl.c: Likewise.
36901 * kern/x86_64/dl.c: Likewise.
36902
36903 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36904
36905 Fix grub-emu build on sparc64-ieee1275.
36906
36907 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
36908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36909
36910 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36911
36912 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36913 (grub_reboot, grub_halt): New functions.
36914
36915 * util/i386/pc/misc.c: Delete. Update all users.
36916 * util/sparc64/ieee1275/misc.c: Likewise.
36917 * util/powerpc/ieee1275/misc.c: Likewise.
36918
36919 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36920
36921 * conf/i386.rmk (setjmp_mod_SOURCES)
36922 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36923 * conf/common.rmk (setjmp_mod_SOURCES)
36924 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36925 to use $(target_cpu).
36926 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36927 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36928 * conf/powerpc-ieee1275.rmk: Likewise.
36929 * conf/sparc64-ieee1275.rmk: Likewise.
36930
36931 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36932 $(target_cpu) for kern/$(target_cpu)/dl.c.
36933 * conf/i386-efi.rmk: Likewise.
36934 * conf/i386-ieee1275.rmk: Likewise.
36935 * conf/x86_64-efi.rmk: Likewise.
36936 * conf/i386-coreboot.rmk: Likewise.
36937 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36938 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36939 kern/$(target_cpu)/cache.S.
36940 * conf/sparc64-ieee1275.rmk: Likewise.
36941
36942 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36943
36944 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36945 type to `grub_uint8_t', and adjust `padding9' accordingly.
36946
36947 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36948
36949 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36950
36951 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36952 assembly in final jump, using register constraints.
36953
36954 (grub_linux_boot): For text mode, initialize `have_vga' using
36955 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36956
36957 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36958 right before the final jump.
36959
36960 Set `video_mode' to 0x3.
36961
36962 Document initialization of `video_page', `video_mode' and
36963 `video_ega_bx'.
36964
36965 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36966
36967 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36968 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
36969 and set GRUB_LINUX_FLAG_QUIET appropriately.
36970
36971 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36972
36973 Fix build on Debian / sparc.
36974
36975 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
36976
36977 2009-06-28 Pavel Roskin <proski@gnu.org>
36978
36979 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
36980 fix a warning.
36981
36982 * util/grub.d/10_linux.in: Match SUSE style initrd names.
36983
36984 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36985
36986 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
36987 `err'.
36988
36989 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
36990
36991 Revert r2338.
36992
36993 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
36994 file can't be opened. grub_file_open() is already supposed to set
36995 grub_errno / grub_errmsg appropriately.
36996 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
36997
36998 2009-06-27 Pavel Roskin <proski@gnu.org>
36999 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37000
37001 * include/grub/dl.h: Include grub/elf.h.
37002 (struct grub_dl): Add symtab field.
37003 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37004 GRUB_MODULES_MACHINE_READONLY.
37005 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37006 of the header for read-only modules.
37007 (grub_dl_unload): Free mod->symtab for read-only modules.
37008 * kern/i386/dl.c: Use mod->symtab.
37009 * kern/powerpc/dl.c: Likewise.
37010 * kern/sparc64/dl.c: Likewise.
37011 * kern/x86_64/dl.c: Likewise.
37012
37013 * conf/i386-qemu.rmk: New file.
37014 * kern/i386/qemu/startup.S: Likewise.
37015 * kern/i386/qemu/mmap.c: Likewise.
37016 * boot/i386/qemu/boot.S: Likewise.
37017 * include/grub/i386/qemu/time.h: Likewise.
37018 * include/grub/i386/qemu/serial.h: Likewise.
37019 * include/grub/i386/qemu/kernel.h: Likewise.
37020 * include/grub/i386/qemu/console.h: Likewise.
37021 * include/grub/i386/qemu/boot.h: Likewise.
37022 * include/grub/i386/qemu/init.h: Likewise.
37023 * include/grub/i386/qemu/machine.h: Likewise.
37024 * include/grub/i386/qemu/loader.h: Likewise.
37025 * include/grub/i386/qemu/memory.h: Likewise.
37026
37027 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37028 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37029 [qemu] (pkglib_IMAGES): Add `boot.img'.
37030 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37031 [qemu] (boot_img_FORMAT): New variables.
37032 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37033 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37034 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37035 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37036 [qemu] (kernel_img_FORMAT): New variables.
37037
37038 * configure.ac: Recognise `i386-qemu'.
37039
37040 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37041 (for no compression).
37042 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37043 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37044 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37045 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37046 ifdefs).
37047
37048 2009-06-27 Pavel Roskin <proski@gnu.org>
37049
37050 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37051 read.
37052 * efiemu/prepare32.c: Likewise.
37053 * efiemu/prepare64.c: Likewise.
37054
37055 2009-06-26 Pavel Roskin <proski@gnu.org>
37056
37057 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37058 * include/grub/elf.h: Define symbols without "32" or "64" based
37059 on GRUB_TARGET_WORDSIZE.
37060 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37061 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37062 ELF definitions.
37063 * efiemu/loadcore64.c: Likewise.
37064 * loader/i386/bsd32.c: Likewise.
37065 * loader/i386/bsd64.c: Likewise.
37066 * kern/dl.c: Remove own ELF definitions.
37067 * util/i386/efi/grub-mkimage.c: Likewise.
37068
37069 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37070
37071 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37072 segment 0x0 unconditionally, because the reference generated by
37073 GAS is an absolute address.
37074
37075 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37076
37077 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37078 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37079
37080 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37081
37082 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37083 indexes. Check for -f explicitly.
37084 (search_file): Improve error message.
37085 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
37086
37087 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37088
37089 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37090 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37091
37092 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37093
37094 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37095 * conf/i386-ieee1275.rmk: Likewise.
37096 * conf/i386-coreboot.rmk: Likewise.
37097
37098 * kern/i386/pc/startup.S (grub_stop): Remove function.
37099 * kern/i386/ieee1275/startup.S: Likewise.
37100 * kern/i386/coreboot/startup.S: Likewise.
37101 * kern/i386/misc.S (grub_stop): New function.
37102
37103 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37104
37105 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37106 * kern/i386/realmode.S (real_to_prot): ... to here.
37107
37108 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37109
37110 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37111 with `kernel.img'.
37112 (kernel_elf_SOURCES): Rename to ...
37113 (kernel_img_SOURCES): ... this.
37114 (kernel_elf_HEADERS): Rename to ...
37115 (kernel_img_HEADERS): ... this. Update all users.
37116 (kernel_elf_ASFLAGS): Rename to ...
37117 (kernel_img_ASFLAGS): ... this.
37118 (kernel_elf_CFLAGS): Rename to ...
37119 (kernel_img_CFLAGS): ... this.
37120 (kernel_elf_LDFLAGS): Rename to ...
37121 (kernel_img_LDFLAGS): ... this.
37122 * conf/i386-coreboot.rmk: Likewise.
37123 * conf/powerpc-ieee1275.rmk: Likewise.
37124
37125 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37126 with "kernel.img".
37127
37128 2009-06-21 Pavel Roskin <proski@gnu.org>
37129
37130 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37131 to match nested functions.
37132 * loader/sparc64/ieee1275/linux.c: Likewise.
37133
37134 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37135
37136 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37137
37138 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37139 all i386 platforms.
37140
37141 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37142
37143 Fix asm file handling on ELF, and remove workarounds.
37144
37145 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
37146 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
37147 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37148 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37149
37150 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37151
37152 Load BSD ELF modules
37153
37154 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37155 and loader/i386/bsd64.c
37156 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37157 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37158 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37159 (grub_freebsd_load_elfmodule32): New declaration
37160 (grub_freebsd_load_elfmoduleobj64): Likewise
37161 (grub_freebsd_load_elf_meta32): Likewise
37162 (grub_freebsd_load_elf_meta64): Likewise
37163 (grub_freebsd_add_meta): Likewise
37164 (grub_freebsd_add_meta_module): Likewise
37165 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37166 (grub_freebsd_add_meta_module): Likewise and move module-specific
37167 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37168 (grub_cmd_freebsd): Add elf-kernel specific parts
37169 based on grub_freebsd_add_meta_module
37170 (grub_cmd_freebsd_module): Add type parsing moved from
37171 grub_freebsd_add_meta_module
37172 (grub_cmd_freebsd_module_elf): New function
37173 (cmd_freebsd_module_elf): New variable
37174 (GRUB_MOD_INIT): Register freebsd_module_elf
37175 * loader/i386/bsd32.c: New file
37176 * loader/i386/bsd64.c: Likewise
37177 * loader/i386/bsdXX.c: Likewise
37178 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37179 (grub_elf64_load): Likewise
37180 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37181 All users updated
37182 (grub_elf64_load_hook_t): Likewise
37183
37184 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
37185
37186 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37187 variable.
37188 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37189 don't write a menu entry for recovery mode.
37190
37191 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37192
37193 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37194 after it's no longer needed.
37195
37196 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37197
37198 * include/grub/i386/loader.h (grub_linux_prot_size)
37199 (grub_linux_tmp_addr, grub_linux_real_addr)
37200 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37201 GRUB_MACHINE_PCBIOS.
37202 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37203 common grub_util_info() call to ...
37204 (generate_image): ... here.
37205 Fix use of uninitialized memory, comparison of signed with
37206 unsigned integers and memory leak.
37207 Remove bogus module address message.
37208
37209 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37210
37211 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37212 grub_raid_register
37213 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37214
37215 2009-06-19 Pavel Roskin <proski@gnu.org>
37216
37217 * configure.ac: Remove stray AC_MSG_CHECKING.
37218
37219 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37220
37221 * disk/scsi.c (grub_scsi_open): use continue instead of big if
37222
37223 2009-06-18 Pavel Roskin <proski@gnu.org>
37224
37225 * conf/common.rmk: Add fs_file.mod.
37226 * disk/fs_file.c: New file.
37227 * include/grub/disk.h (enum grub_disk_dev_id): Add
37228 GRUB_DISK_DEVICE_FILE_ID.
37229
37230 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37231
37232 Fix build with Apple's toolchain. Part 2
37233
37234 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37235 a fake start
37236
37237 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37238
37239 Fix build with Apple's toolchain. Part 1
37240
37241 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37242 for long calls
37243 * configure.ac: remove a leftover AC_MSG_RESULT
37244 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
37245 Apple's toolchain
37246
37247 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37248
37249 Fix warnings
37250
37251 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37252 (decomp_block): initialize ch
37253 use grub_memcpy instead of memcpy
37254
37255 2009-06-17 Pavel Roskin <proski@gnu.org>
37256
37257 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37258 version, use declarations needed to use vga_text as the startup
37259 console.
37260
37261 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37262 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37263 the kernel.
37264 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37265 and grub_at_keyboard_fini(), it's done on module load and
37266 unload.
37267
37268 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
37269
37270 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37271 file can't be found.
37272 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37273
37274 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37275
37276 Fix newline handling
37277
37278 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
37279 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
37280 (grub_script_yylex): don't segfault on unterminated script
37281 newline terminates command and variable
37282
37283 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37284
37285 avoid double grub_adjust_range call. Bug reported by David Simner
37286
37287 * kern/disk.c (grub_disk_write): change to raw disk access before
37288 calling disk_read
37289
37290 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
37291
37292 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37293 spaces, for the benefit of help2man.
37294 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37295
37296 2009-06-16 Pavel Roskin <proski@gnu.org>
37297
37298 * kern/i386/halt.c: Include grub/machine/init.h.
37299 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37300
37301 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
37302
37303 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37304 drivemap menuentry.
37305
37306 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37307
37308 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37309 `echo' command.
37310
37311 2009-06-16 Pavel Roskin <proski@gnu.org>
37312
37313 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37314 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37315 save %dx, we only need %dl and we never change it.
37316 * boot/i386/pc/cdboot.S: Don't set the root drive.
37317 * boot/i386/pc/pxeboot.S: Likewise.
37318 * include/grub/i386/pc/boot.h: Remove
37319 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37320 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37321 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37322 * kern/i386/pc/init.c (make_install_device): Remove references
37323 to grub_root_drive.
37324 * kern/i386/pc/startup.S: Likewise.
37325 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37326
37327 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37328
37329 xnu_uuid command
37330
37331 * commands/xnu_uuid.c: new file
37332 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37333 (xnu_uuid_mod_SOURCES): new variable
37334 (xnu_uuid_mod_CFLAGS): likewise
37335 (xnu_uuid_mod_LDFLAGS): likewise
37336 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37337 * conf/i386-ieee1275.rmk: likewise
37338 * conf/i386-pc.rmk: likewise
37339 * conf/powerpc-ieee1275.rmk: likewise
37340 * conf/sparc64-ieee1275.rmk: likewise
37341 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37342
37343 2009-06-16 Pavel Roskin <proski@gnu.org>
37344
37345 * configure.ac: Avoid '==' in test command, it's not portable.
37346
37347 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37348
37349 Probe command
37350
37351 * commands/probe.c: new file
37352 * conf/common.rmk (pkglib_MODULES): add probe.mod
37353 (probe_mod_SOURCES): new variable
37354 (probe_mod_CFLAGS): likewise
37355 (probe_mod_LDFLAGS): likewise
37356 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37357 * conf/i386-ieee1275.rmk: likewise
37358 * conf/i386-pc.rmk: likewise
37359 * conf/powerpc-ieee1275.rmk: likewise
37360 * conf/sparc64-ieee1275.rmk: likewise
37361
37362 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37363
37364 Fix handling of string like \"hello\" and "a
37365 b"
37366
37367 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37368 (grub_script_yylex): fix parsing of quoting, escaping and newline
37369
37370 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37371
37372 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
37373 handling
37374
37375 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
37376
37377 * util/grub-mkconfig.in: Fix parsing of --output option.
37378
37379 2009-06-12 Pavel Roskin <proski@gnu.org>
37380
37381 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37382 genmk.rb don't need to be generated or installed.
37383
37384 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37385
37386 * commands/i386/pc/drivemap_int13h.S: add more comments
37387
37388 2009-06-11 Pavel Roskin <proski@gnu.org>
37389
37390 * Makefile.in (uninstall): Uninstall manuals.
37391
37392 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37393 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37394 and update-grub_lib in two places.
37395 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37396
37397 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37398 a compiler warning.
37399
37400 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37401 `entry_lo' to fix variable shadowing.
37402
37403 2009-06-11 Christian Franke <franke@computer.org>
37404
37405 * kern/misc.c (__enable_execute_stack): Add missing return type
37406 to prevent gcc warning.
37407
37408 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37409
37410 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37411
37412 2009-06-11 Pavel Roskin <proski@gnu.org>
37413
37414 * Makefile.in: Don't rely on any scripts being executable.
37415 Always use $(SHELL) to run shell scripts.
37416
37417 * configure.ac: Always define ___main if using -nostdlib. This
37418 fixes tests on Cygwin.
37419
37420 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37421
37422 UDF fix
37423
37424 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
37425 is in bytes and not in blocks
37426
37427 2009-06-11 Pavel Roskin <proski@gnu.org>
37428
37429 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37430 warning.
37431
37432 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37433
37434 * util/grub.d/30_os-prober.in: Fix a comment. Source
37435 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37436 to set the root device. Place drivemap command in the generated
37437 chain entry.
37438
37439 2009-06-11 Pavel Roskin <proski@gnu.org>
37440
37441 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37442 have long been resolved.
37443
37444 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
37445
37446 * util/grub.d/10_linux.in: Capitalise "Linux".
37447
37448 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37449
37450 2009-06-11 Pavel Roskin <proski@gnu.org>
37451
37452 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37453 fix a gcc warning and ensure that the function won't ever exit.
37454
37455 * kern/i386/ieee1275/init.c: Add missing prototype for
37456 grub_stop_floppy().
37457
37458 * loader/ieee1275/multiboot2.c [__i386__]: Include
37459 grub/cpu/multiboot.h.
37460
37461 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37462 casts to short - they are not portable and cause warnings. Fix
37463 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37464
37465 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37466
37467 Drivemap fixes
37468
37469 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37470 new function
37471 (grub_get_root_biosnumber_saved): new variable
37472 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37473 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
37474 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
37475 %dx after the call if necessary
37476 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37477 (boot_mod_SOURCES): remove
37478 (boot_mod_CFLAGS): remove
37479 (boot_mod_LDFLAGS): remove
37480 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37481 (boot_mod_SOURCES): new variable
37482 (boot_mod_CFLAGS): likewise
37483 (boot_mod_LDFLAGS): likewise
37484 * conf/i386-efi.rmk: likewise
37485 * conf/i386-ieee1275.rmk: likewise
37486 * conf/i386-pc.rmk: likewise
37487 * conf/powerpc-ieee1275.rmk: likewise
37488 * conf/sparc64-ieee1275.rmk: likewise
37489 * conf/x86_64-efi.rmk: likewise
37490 * include/grub/i386/pc/biosnum.h: new file
37491 * lib/i386/pc/biosnum.c: likewise
37492 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37493 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37494 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
37495
37496 2009-06-10 Pavel Roskin <proski@gnu.org>
37497
37498 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37499 Use separate variables. Read only the file size at the end, but
37500 not the checksum that we don't use.
37501
37502 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37503 Adjust all callers.
37504
37505 * kern/ieee1275/openfw.c: Remove libc includes.
37506 * kern/ieee1275/cmain.c: Likewise.
37507 * include/grub/ieee1275/ieee1275.h: Likewise.
37508
37509 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37510 compiler warnings.
37511
37512 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37513
37514 * Makefile.in: Remove all trailing whitespace.
37515 * conf/i386-pc.rmk: Likewise.
37516 * conf/powerpc-ieee1275.rmk: Likewise.
37517 * conf/sparc64-ieee1275.rmk: Likewise.
37518 * docs/grub.texi: Likewise.
37519 * docs/texinfo.tex: Likewise.
37520 * disk/fs_uuid.c: Likewise.
37521 * disk/lvm.c: Likewise.
37522 * disk/scsi.c: Likewise.
37523 * disk/ata.c: Likewise.
37524 * disk/ieee1275/ofdisk.c: Likewise.
37525 * disk/i386/pc/biosdisk.c: Likewise.
37526 * disk/host.c: Likewise.
37527 * disk/raid.c: Likewise.
37528 * disk/efi/efidisk.c: Likewise.
37529 * disk/usbms.c: Likewise.
37530 * disk/memdisk.c: Likewise.
37531 * disk/loopback.c: Likewise.
37532 * kern/powerpc/dl.c: Likewise.
37533 * kern/device.c: Likewise.
37534 * kern/dl.c: Likewise.
37535 * kern/sparc64/dl.c: Likewise.
37536 * kern/ieee1275/ieee1275.c: Likewise.
37537 * kern/term.c: Likewise.
37538 * kern/fs.c: Likewise.
37539 * kern/i386/dl.c: Likewise.
37540 * kern/i386/pc/startup.S: Likewise.
37541 * kern/i386/pc/init.c: Likewise.
37542 * kern/i386/pc/mmap.c: Likewise.
37543 * kern/i386/pc/lzo1x.S: Likewise.
37544 * kern/i386/ieee1275/init.c: Likewise.
37545 * kern/i386/realmode.S: Likewise.
37546 * kern/i386/tsc.c: Likewise.
37547 * kern/partition.c: Likewise.
37548 * kern/corecmd.c: Likewise.
37549 * kern/file.c: Likewise.
37550 * kern/efi/efi.c: Likewise.
37551 * kern/efi/init.c: Likewise.
37552 * kern/efi/mm.c: Likewise.
37553 * kern/main.c: Likewise.
37554 * kern/err.c: Likewise.
37555 * kern/env.c: Likewise.
37556 * kern/disk.c: Likewise.
37557 * kern/generic/millisleep.c: Likewise.
37558 * kern/generic/rtc_get_time_ms.c: Likewise.
37559 * kern/misc.c: Likewise.
37560 * kern/parser.c: Likewise.
37561 * genmk.rb: Likewise.
37562 * configure.ac: Likewise.
37563 * boot/i386/pc/diskboot.S: Likewise.
37564 * boot/i386/pc/pxeboot.S: Likewise.
37565 * boot/i386/pc/boot.S: Likewise.
37566 * boot/i386/pc/lnxboot.S: Likewise.
37567 * boot/i386/pc/cdboot.S: Likewise.
37568 * parttool/pcpart.c: Likewise.
37569 * video/readers/tga.c: Likewise.
37570 * video/video.c: Likewise.
37571 * video/bitmap.c: Likewise.
37572 * lib/envblk.c: Likewise.
37573 * lib/i386/setjmp.S: Likewise.
37574 * fs/xfs.c: Likewise.
37575 * fs/afs.c: Likewise.
37576 * fs/fat.c: Likewise.
37577 * fs/ntfs.c: Likewise.
37578 * fs/udf.c: Likewise.
37579 * fs/affs.c: Likewise.
37580 * fs/iso9660.c: Likewise.
37581 * fs/hfs.c: Likewise.
37582 * fs/fshelp.c: Likewise.
37583 * fs/ext2.c: Likewise.
37584 * fs/jfs.c: Likewise.
37585 * fs/reiserfs.c: Likewise.
37586 * fs/hfsplus.c: Likewise.
37587 * fs/minix.c: Likewise.
37588 * fs/cpio.c: Likewise.
37589 * fs/sfs.c: Likewise.
37590 * fs/ufs.c: Likewise.
37591 * efiemu/prepare.c: Likewise.
37592 * efiemu/loadcore_common.c: Likewise.
37593 * efiemu/runtime/efiemu.sh: Likewise.
37594 * efiemu/runtime/efiemu.S: Likewise.
37595 * efiemu/runtime/efiemu.c: Likewise.
37596 * efiemu/pnvram.c: Likewise.
37597 * efiemu/main.c: Likewise.
37598 * efiemu/i386/pc/cfgtables.c: Likewise.
37599 * efiemu/i386/loadcore64.c: Likewise.
37600 * efiemu/i386/loadcore32.c: Likewise.
37601 * efiemu/loadcore.c: Likewise.
37602 * efiemu/symbols.c: Likewise.
37603 * efiemu/mm.c: Likewise.
37604 * include/grub/autoefi.h: Likewise.
37605 * include/grub/datetime.h: Likewise.
37606 * include/grub/term.h: Likewise.
37607 * include/grub/hfs.h: Likewise.
37608 * include/grub/lvm.h: Likewise.
37609 * include/grub/i386/tsc.h: Likewise.
37610 * include/grub/i386/linux.h: Likewise.
37611 * include/grub/i386/xnu.h: Likewise.
37612 * include/grub/i386/efiemu.h: Likewise.
37613 * include/grub/i386/pc/biosdisk.h: Likewise.
37614 * include/grub/i386/pc/memory.h: Likewise.
37615 * include/grub/i386/pc/vbe.h: Likewise.
37616 * include/grub/parttool.h: Likewise.
37617 * include/grub/video.h: Likewise.
37618 * include/grub/memory.h: Likewise.
37619 * include/grub/fs.h: Likewise.
37620 * include/grub/partition.h: Likewise.
37621 * include/grub/xnu.h: Likewise.
37622 * include/grub/efi/api.h: Likewise.
37623 * include/grub/efi/pe32.h: Likewise.
37624 * include/grub/efi/memory.h: Likewise.
37625 * include/grub/multiboot.h: Likewise.
37626 * include/grub/usbdesc.h: Likewise.
37627 * include/grub/multiboot2.h: Likewise.
37628 * include/grub/acpi.h: Likewise.
37629 * include/grub/efiemu/efiemu.h: Likewise.
37630 * include/grub/disk.h: Likewise.
37631 * include/grub/ieee1275/ieee1275.h: Likewise.
37632 * include/grub/net.h: Likewise.
37633 * include/grub/machoload.h: Likewise.
37634 * include/grub/macho.h: Likewise.
37635 * include/multiboot.h: Likewise.
37636 * genmoddep.awk: Likewise.
37637 * normal/main.c: Likewise.
37638 * normal/menu_entry.c: Likewise.
37639 * normal/menu_viewer.c: Likewise.
37640 * normal/completion.c: Likewise.
37641 * normal/cmdline.c: Likewise.
37642 * normal/misc.c: Likewise.
37643 * normal/datetime.c: Likewise.
37644 * bus/usb/usbtrans.c: Likewise.
37645 * bus/usb/ohci.c: Likewise.
37646 * bus/usb/uhci.c: Likewise.
37647 * bus/usb/usb.c: Likewise.
37648 * mmap/efi/mmap.c: Likewise.
37649 * mmap/i386/pc/mmap_helper.S: Likewise.
37650 * mmap/i386/pc/mmap.c: Likewise.
37651 * mmap/i386/mmap.c: Likewise.
37652 * mmap/i386/uppermem.c: Likewise.
37653 * mmap/mmap.c: Likewise.
37654 * commands/acpi.c: Likewise.
37655 * commands/echo.c: Likewise.
37656 * commands/blocklist.c: Likewise.
37657 * commands/loadenv.c: Likewise.
37658 * commands/usbtest.c: Likewise.
37659 * commands/boot.c: Likewise.
37660 * commands/parttool.c: Likewise.
37661 * commands/search.c: Likewise.
37662 * commands/cat.c: Likewise.
37663 * commands/i386/pc/play.c: Likewise.
37664 * commands/i386/pc/drivemap.c: Likewise.
37665 * commands/i386/pc/vbeinfo.c: Likewise.
37666 * commands/i386/pc/acpi.c: Likewise.
37667 * commands/i386/pc/vbetest.c: Likewise.
37668 * commands/ls.c: Likewise.
37669 * commands/cmp.c: Likewise.
37670 * commands/test.c: Likewise.
37671 * commands/efi/acpi.c: Likewise.
37672 * commands/gptsync.c: Likewise.
37673 * commands/help.c: Likewise.
37674 * partmap/amiga.c: Likewise.
37675 * partmap/apple.c: Likewise.
37676 * partmap/acorn.c: Likewise.
37677 * partmap/pc.c: Likewise.
37678 * partmap/sun.c: Likewise.
37679 * partmap/gpt.c: Likewise.
37680 * script/sh/lexer.c: Likewise.
37681 * script/sh/function.c: Likewise.
37682 * font/font.c: Likewise.
37683 * font/font_cmd.c: Likewise.
37684 * loader/powerpc/ieee1275/linux.c: Likewise.
37685 * loader/efi/chainloader.c: Likewise.
37686 * loader/multiboot_loader.c: Likewise.
37687 * loader/macho.c: Likewise.
37688 * loader/i386/multiboot.c: Likewise.
37689 * loader/i386/linux.c: Likewise.
37690 * loader/i386/pc/linux.c: Likewise.
37691 * loader/i386/pc/multiboot2.c: Likewise.
37692 * loader/i386/pc/chainloader.c: Likewise.
37693 * loader/i386/pc/xnu.c: Likewise.
37694 * loader/i386/bsd_trampoline.S: Likewise.
37695 * loader/i386/efi/linux.c: Likewise.
37696 * loader/i386/multiboot_elfxx.c: Likewise.
37697 * loader/i386/bsd_helper.S: Likewise.
37698 * loader/i386/bsd.c: Likewise.
37699 * loader/i386/linux_trampoline.S: Likewise.
37700 * loader/i386/xnu_helper.S: Likewise.
37701 * loader/i386/xnu.c: Likewise.
37702 * loader/i386/bsd_pagetable.c: Likewise.
37703 * loader/i386/multiboot_helper.S: Likewise.
37704 * loader/xnu.c: Likewise.
37705 * loader/xnu_resume.c: Likewise.
37706 * io/gzio.c: Likewise.
37707 * term/efi/console.c: Likewise.
37708 * term/terminfo.c: Likewise.
37709 * term/ieee1275/ofconsole.c: Likewise.
37710 * term/i386/pc/serial.c: Likewise.
37711 * term/i386/pc/vesafb.c: Likewise.
37712 * term/i386/pc/vga.c: Likewise.
37713 * term/usb_keyboard.c: Likewise.
37714 * term/gfxterm.c: Likewise.
37715 * aclocal.m4: Likewise.
37716 * util/lvm.c: Likewise.
37717 * util/grub.d/30_os-prober.in: Likewise.
37718 * util/grub.d/10_hurd.in: Likewise.
37719 * util/console.c: Likewise.
37720 * util/grub-macho2img.c: Likewise.
37721 * util/grub-probe.c: Likewise.
37722 * util/hostfs.c: Likewise.
37723 * util/i386/pc/grub-mkimage.c: Likewise.
37724 * util/i386/pc/grub-setup.c: Likewise.
37725 * util/i386/efi/grub-mkimage.c: Likewise.
37726 * util/grub-mkconfig.in: Likewise.
37727 * util/raid.c: Likewise.
37728 * util/resolve.c: Likewise.
37729 * util/grub-mkdevicemap.c: Likewise.
37730 * util/grub-emu.c: Likewise.
37731 * util/getroot.c: Likewise.
37732 * util/hostdisk.c: Likewise.
37733 * util/usb.c: Likewise.
37734 * util/grub-editenv.c: Likewise.
37735 * util/misc.c: Likewise.
37736
37737 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37738
37739 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37740 `genparttoollist.sh'.
37741 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37742 Add `*.sh' to the list find searches for and change `mdate.sh'
37743 to `mdate-sh'.
37744
37745 2009-06-10 Pavel Roskin <proski@gnu.org>
37746
37747 * include/grub/multiboot2.h: Provide compatibility defines for
37748 multiboot2.h.
37749 * include/multiboot2.h: Include stdint.h only if needed, using
37750 angle brackets.
37751 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37752 grub/multiboot2.h.
37753 * loader/ieee1275/multiboot2.c: Likewise.
37754 * loader/multiboot2.c: Likewise.
37755 * loader/multiboot_loader.c: Likewise.
37756
37757 * configure.ac: Use -nostdlib when probing for the target. It
37758 should not be required to have libc for the target.
37759
37760 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37761 they fail without libc headers for the target.
37762 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37763 exports.
37764 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37765 preprocessor conditionals.
37766
37767 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37768 build system doesn't need to be aware of the tar.c internals.
37769
37770 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
37771
37772 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
37773
37774 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37775
37776 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37777 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37778
37779 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
37780
37781 * util/i386/pc/grub-install.in: Change the error message if UUIDs
37782 aren't available if ata.mod gets used.
37783
37784 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
37785
37786 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
37787 initialising controller.
37788 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37789
37790 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37791
37792 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37793 to choose between ata and biosdisk module on i386-pc.
37794
37795 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
37796
37797 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37798 Subclass and Programming Interface fields in terms of the 3 byte
37799 Class Code register.
37800 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37801
37802 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37803 interface is OHCI. Add grub_dprintf for symmetry with
37804 bus/usb/uhci.c.
37805 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37806 interface is UHCI. Add interf variable for programming
37807 interface. Print interface with class/subclass.
37808
37809 * bus/usb/ohci.c: Set interf with correct field.
37810
37811 * bus/usb/uhci.c: Remove unneeded doubled lines.
37812 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37813 Remove whitespace inside comment.
37814
37815 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37816
37817 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37818 as fallback an equivalent option without depth.
37819
37820 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37821
37822 Not fail if unable to retrieve C/H/S on LBA disks
37823
37824 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
37825 if unable to retrieve C/H/S on LBA disks
37826
37827 2009-06-08 Pavel Roskin <proski@gnu.org>
37828
37829 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37830 about aliasing.
37831
37832 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37833
37834 * Makefile.in (uninstall): Remove all $lib_DATA files.
37835
37836 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37837
37838 Bugfix: install on partitionless device
37839
37840 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37841 is a whole disk
37842
37843 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37844
37845 * Makefile.in (uninstall): Remove all $include_DATA files.
37846
37847 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37848
37849 * commands/true.c: New file. Implement the true and false commands.
37850 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37851 (true_mod_SOURCES): New variable.
37852 (true_mod_CFLAGS): Likewise.
37853 (true_mod_LDFLAGS): Likewise.
37854
37855 2009-06-05 Colin D Bennett <colin@gibibit.com>
37856
37857 Optimized font character lookup using binary search instead of linear
37858 search. Fonts now are required to have the character index ordered by
37859 code point.
37860
37861 * font/font.c (load_font_index): Verify that fonts have ordered
37862 character indices.
37863 (find_glyph): Use binary search instead of linear search to find a
37864 character in a font.
37865
37866 2009-06-05 Michael Scherer <misc@mandriva.org>
37867
37868 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37869 uses case sensitive btree.
37870 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37871 only for case insensitive filesystems.
37872
37873 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37874
37875 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37876 * conf/common.rmk (search_mod_CFLAGS): likewise
37877
37878 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37879
37880 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
37881 compensate a compiler bug
37882
37883 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37884
37885 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
37886 instead of '\b'
37887
37888 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37889
37890 Definitions for creating asm symbols with Apple's CC
37891
37892 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37893 [APPLE_CC] (VARIABLE): likewise
37894
37895 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37896
37897 Disable lnxboot.img when compiled
37898 with Apple's CC
37899
37900 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37901 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37902 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37903 [! APPLE_CC] (CODE_LENG): skip
37904 [! APPLE_CC] (setup_sects): likewise
37905 [! APPLE_CC]: skip filling
37906
37907 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37908
37909 Address in trampolines based on 32-bit registers when compiled
37910 with Apple's CC
37911
37912 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
37913 for addresses
37914 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37915
37916 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37917
37918 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37919
37920 * kern/misc.c [APPLE_CC] (memcpy): new function
37921 [APPLE_CC] (memmove): likewise
37922 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
37923 (memcpy): define alias conditionally on !APPLE_CC
37924 (memset): likewise
37925 (abort): likewise
37926 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37927 APPLE_CC are defined
37928 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37929 (grub_assert_fail): make prototype conditional
37930
37931 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37932
37933 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37934
37935 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37936 grub-macho2img
37937 (CLEANFILES): add grub-macho2img
37938 (grub_macho2img_SOURCES): new variable
37939 * kern/i386/pc/startup.S (bss_start): new variable
37940 (bss_end): likewise
37941 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37942 * util/grub-macho2img.c: new file
37943
37944 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37945
37946 Use objconv when compiling with Apple's CC
37947
37948 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37949 (efiemu64.o): likewise
37950 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37951 when compiling with Apple's CC
37952 (efiemu64_s.o): likewise
37953 * configure.ac: check for objconv when compiling with Apple's CC
37954 * genmk.rb: use objconv for modules when compiled with Apple's CC
37955
37956 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37957
37958 Define segment as well as section when compiling with
37959 Apple's CC
37960
37961 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37962 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37963 (efiemu_convert_pointer): likewise
37964 (efiemu_set_virtual_address_map): likewise
37965 (efiemu_convert_pointer): likewise
37966 (efiemu_getcrc32): likewise
37967 (init_crc32_table): likewise
37968 (reflect): likewise
37969 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37970 (GRUB_MOD_DEP): likewise
37971
37972 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37973
37974 Allow a compilation without -mcmodel=large
37975
37976 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
37977 when compiled without -mcmodel=large
37978 (filter_memory_map): remove memory post 4 GiB when compiled
37979 without -mcmodel=large
37980 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
37981 TARGET_CFLAGS when -mcmodel=large isn't supported
37982
37983 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37984
37985 Remove nested functions in efiemu core
37986
37987 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
37988
37989 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37990
37991 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
37992
37993 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
37994 temporary storage
37995 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
37996 using Apple's CC
37997 (grub_cpu_is_tsc_supported): likewise
37998 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
37999
38000 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38001
38002 Absolute addressing through constant with Apple's cc
38003
38004 * kern/i386/pc/startup.S: Define necessary constants
38005 and address through it when using ABS with Apple's CC
38006 * boot/i386/pc/diskboot.S: likewise
38007 * boot/i386/pc/boot.S: likewise
38008 * boot/i386/pc/lnxboot.S: likewise
38009 * boot/i386/pc/cdboot.S: likewise
38010 * mmap/i386/pc/mmap_helper.S: likewise
38011 * commands/i386/pc/drivemap_int13h.S: likewise
38012
38013 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38014
38015 Check if compiler is apple cc
38016
38017 * Makefile.in (ASFLAGS): new variable
38018 (TARGET_ASFLAGS): likewise
38019 (TARGET_MODULE_FORMAT): likewise
38020 (TARGET_APPLE_CC): likewise
38021 (OBJCONV): likewise
38022 (TARGET_IMG_CFLAGS): likewise
38023 (TARGET_CPPFLAGS): add includedir
38024 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38025 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38026 Check for linker script only if compiler isn't Apple's CC
38027 (TARGET_MODULE_FORMAT): set
38028 (TARGET_APPLE_CC): likewise
38029 (TARGET_ASFLAGS): likewise
38030 (ASFLAGS): likewise
38031 Check for objcopy only if compiler isn't Apple's CC
38032 Check for BSS symbol only if compiler isn't Apple's CC
38033 * genmk.rb: adapt nm options if we use Apple's utils
38034 * aclocal.m4 (grub_apple_cc): new test
38035 (grub_apple_target_cc): likewise
38036
38037 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38038
38039 Simplify sed expressions and improve awk
38040
38041 * Makefile.in (install-local): simplify sed expression
38042 * gencmdlist.sh: likewise
38043 * genmoddep.awk: avoid adding module as a dependency of itself
38044
38045 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38046
38047 Add missing start symbols
38048
38049 * boot/i386/pc/boot.S: add start
38050 * boot/i386/pc/pxeboot.S: likewise
38051
38052 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38053
38054 Fix wrong assumptions with grub-mkimage on EFI
38055
38056 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
38057 (relocate_addresses): consider both r_addend and value at offset
38058 (make_mods_section): zerofill modinfo and header
38059 (convert_elf): write prefix here
38060
38061 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38062
38063 Use .asciz instead of .string
38064
38065 * i386/pc/diskboot.S: use .asciz instead of .string
38066 * i386/pc/boot.S: likewise
38067 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38068 (GRUB_MOD_NAME): likewise
38069
38070 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38071
38072 gfxpayload support
38073
38074 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38075 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38076 (grub_video_setup): remove
38077 (grub_video_set_mode): new prototype
38078 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38079 (vid_mode): remove
38080 (linux_vesafb_res): compile only on PCBIOS
38081 (grub_linux_boot): support gfxpayload
38082 * loader/i386/pc/xnu.c (video_hook): new function
38083 (grub_xnu_set_video): support gfxpayload
38084 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38085 (DEFAULT_VIDEO_HEIGHT): likewise
38086 (DEFAULT_VIDEO_FLAGS): likewise
38087 (DEFAULT_VIDEO_MODE): new definition
38088 (video_hook): new function
38089 (grub_gfxterm_init): use grub_video_set_mode
38090 * util/grub.d/30_os-prober.in: remove explicit modesetting before
38091 loading xnu
38092 * video/video.c (grub_video_setup): removed
38093 (grub_video_set_mode): new function based on grub_gfxterm_init and
38094 grub_video_setup
38095
38096 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38097
38098 Avoid calling biosdisk in drivemap
38099
38100 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38101 (revparse_biosdisk): likewise
38102 (list_mappings): derive name from id directly
38103 (grub_cmd_drivemap): use tryparse_diskstring
38104
38105 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38106
38107 Script fixes
38108
38109 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38110 (grub_lexer_param): add tokenonhold
38111 (grub_script_create_cmdline): remove cmdline. All callers updated
38112 (grub_script_function_create): make functionname
38113 grub_script_arg. All callers updated
38114 (grub_script_execute_argument_to_string): new prototype
38115 * kern/parser.c (state_transitions): reorder
38116 (grub_parser_cmdline_state): fix a bug and make more compact
38117 * script/sh/execute.c (grub_script_execute_argument_to_string):
38118 make global
38119 (grub_script_execute_cmdline): use new format
38120 * script/sh/function.c (grub_script_function_create): make functionname
38121 grub_script_arg. All callers updated
38122 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
38123 (grub_script_yylex): remove
38124 (grub_script_yylex2): renamed to ...
38125 (grub_script_yylex): ...renamed
38126 parse the expressions like a${b}c
38127 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38128 (GRUB_PARSER_TOKEN_VAR): remove
38129 (GRUB_PARSER_TOKEN_NAME): likewise
38130 ("if"): declare as typeless
38131 ("while"): likewise
38132 ("function"): likewise
38133 ("else"): likewise
38134 ("then"): likewise
38135 ("fi"): likewise
38136 (text): remove
38137 (argument): likewise
38138 (script): accept empty scripts and make exit on error
38139 (arguments): use GRUB_PARSER_TOKEN_ARG
38140 (function): likewise
38141 (command): move error handling to script
38142 (menuentry): move grub_script_lexer_ref before
38143 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
38144 argument. All callers updated
38145
38146 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38147
38148 Prevent GRUB from probing floppies during boot.
38149
38150 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38151 * commands/search.c (options): Add --no-floppy.
38152 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38153 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38154 --no-floppy when searching for UUIDs.
38155
38156 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38157
38158 Simplify the code duplication in commands/search.c.
38159
38160 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38161 (search_fs): ... this. Update all users.
38162
38163 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
38164
38165 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38166
38167 2009-05-28 Pavel Roskin <proski@gnu.org>
38168
38169 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38170 Remove the original symlink explicitly.
38171
38172 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38173 just one slash. That's how grub_fshelp_find_file() does it.
38174
38175 2009-05-26 Pavel Roskin <proski@gnu.org>
38176
38177 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38178 to `str'.
38179
38180 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38181 possibly unused.
38182
38183 2009-05-25 Christian Franke <franke@computer.org>
38184
38185 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38186 register.
38187 (grub_atapi_identify): Add wait after drive select.
38188 (grub_ata_identify): Do more strict status register check before
38189 calling grub_atapi_identify (). Suppress error message if status
38190 register is 0x00 after command failure. Add status register
38191 check after PIO read to avoid bogus identify due to stuck DRQ.
38192 Thanks to Pavel Roskin for testing.
38193 (grub_device_initialize): Remove unsafe status register check.
38194 Thanks to 'phcoder' for problem report and patch.
38195 Prevent sign extension in debug message.
38196
38197 2009-05-23 Colin D Bennett <colin@gibibit.com>
38198
38199 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38200 definition file, and functions defined in `normal/menu.c' have had
38201 their prototypes moved to `include/grub/menu.h' for consistency.
38202
38203 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38204 from normal.h.
38205 (grub_menu_get_entry): Likewise.
38206 (grub_menu_get_timeout): Likewise.
38207 (grub_menu_set_timeout): Likewise.
38208 (grub_menu_execute_entry): Likewise.
38209 (grub_menu_execute_with_fallback): Likewise.
38210 (grub_menu_entry_run): Likewise.
38211
38212 * include/grub/normal.h: Re-ordered and grouped function
38213 prototypes by file that the function is defined in.
38214 (grub_menu_execute_callback): Removed; moved to menu.h.
38215 (grub_menu_get_entry): Likewise.
38216 (grub_menu_get_timeout): Likewise.
38217 (grub_menu_set_timeout): Likewise.
38218 (grub_menu_execute_entry): Likewise.
38219 (grub_menu_execute_with_fallback): Likewise.
38220 (grub_menu_entry_run): Likewise.
38221 (grub_menu_addentry): Renamed from this ...
38222 (grub_normal_add_menu_entry): ... to this.
38223
38224 * normal/main.c (grub_menu_addentry): Renamed from this ...
38225 (grub_normal_add_menu_entry): ... to this.
38226
38227 * script/sh/execute.c (grub_script_execute_menuentry): Update
38228 reference to renamed grub_menu_addentry function.
38229
38230 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
38231
38232 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38233
38234 2009-05-22 Pavel Roskin <proski@gnu.org>
38235
38236 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38237 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38238 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38239 compiling for the i386 targets, but not for the utilities.
38240
38241 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38242 to grub_uint8_t.
38243 (grub_root_drive): Likewise.
38244 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38245 remove alignment.
38246 (grub_root_drive): Change size to byte.
38247 (grub_start_addr): Remove.
38248 (grub_end_addr): Likewise.
38249 (grub_apm_bios_info): Likewise.
38250
38251 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
38252
38253 * normal/i386: Remove.
38254 * normal/powerpc: Likewise.
38255 * normal/sparc64: Likewise.
38256 * normal/x86_64: Likewise.
38257
38258 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38259
38260 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
38261 * loader/i386/linux_trampoline.S: Fix indentation
38262 * loader/i386/xnu_helper.S: Likewise
38263
38264 2009-05-18 Colin D Bennett <colin@gibibit.com>
38265
38266 Display error messages when parsing a Lua statement fails.
38267 Previously, executing a syntactically invalid statement like
38268 ")foo" or "bar;" would silently fail.
38269
38270 * script/lua/grub_main.c (handle_lua_error): New function.
38271 (grub_lua_parse_line): Improved reporting of Lua parser and
38272 execution errors.
38273
38274 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38275
38276 Remove -Werror which causes build to fail on some systems
38277
38278 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38279 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38280 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
38281
38282 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38283
38284 trampoline for linux on 64-bit platform
38285
38286 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38287 loader/i386/efi/linux_trampoline.S
38288 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
38289 declaration
38290 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38291 here
38292 * loader/i386/linux_trampoline.S: moved here
38293 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38294 trampoline
38295 (jumpvector): removed
38296 (grub_linux_trampoline_start): new declaration
38297 (grub_linux_trampoline_end): likewise
38298 (grub_linux_boot): use trampoline when on 64-bit platform
38299 * loader/i386/linux.c: likewise
38300
38301 2009-05-16 Pavel Roskin <proski@gnu.org>
38302
38303 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38304 const to avoid a warning.
38305 (grub_lua_setenv): Likewise.
38306 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38307 lmsg to fix a warning.
38308
38309 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38310
38311 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
38312 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38313 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38314 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38315 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38316 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38317 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38318 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38319
38320 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38321
38322 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38323
38324 2009-05-16 Bean <bean123ch@gmail.com>
38325
38326 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38327 (lua_mod_SOURCES): New variable.
38328 (lua_mod_CFLAGS): Likewise.
38329 (lua_mod_LDFLAGS): Likewise.
38330
38331 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38332 (setjmp_mod_SOURCES): New variable.
38333 (setjmp_mod_CFLAGS): Likewise.
38334 (setjmp_LDFLAGS): Likewise.
38335
38336 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38337 (setjmp_mod_SOURCES): New variable.
38338 (setjmp_mod_CFLAGS): Likewise.
38339 (setjmp_LDFLAGS): Likewise.
38340
38341 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38342 (setjmp_mod_SOURCES): New variable.
38343 (setjmp_mod_CFLAGS): Likewise.
38344 (setjmp_LDFLAGS): Likewise.
38345
38346 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38347 (setjmp_mod_SOURCES): New variable.
38348 (setjmp_mod_CFLAGS): Likewise.
38349 (setjmp_LDFLAGS): Likewise.
38350
38351 * normal/i386/setjmp.S: Moved from here ...
38352 * lib/i386/setjmp.S: ... Moved here
38353 * normal/x86_64/setjmp.S: Moved from here ...
38354 * lib/x86_64/setjmp.S: ... Moved here
38355 * normal/powerpc/setjmp.S: Moved from here ...
38356 * lib/powerpc/setjmp.S: ... Moved here
38357 * normal/sparc64/setjmp.S: Moved from here ...
38358 * lib/sparc64/setjmp.S: ... Moved here
38359
38360 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38361 returns_twice in mingw.
38362
38363 * script/lua/grub_lib.c: New file.
38364 * script/lua/grub_lib.h: Likewise.
38365 * script/lua/grub_lua.h: Likewise.
38366 * script/lua/grub_main.c: Likewise.
38367 * script/lua/lapi.c: Likewise.
38368 * script/lua/lapi.h: Likewise.
38369 * script/lua/lauxlib.c: Likewise.
38370 * script/lua/lauxlib.h: Likewise.
38371 * script/lua/lbaselib.c: Likewise.
38372 * script/lua/lcode.c: Likewise.
38373 * script/lua/lcode.h: Likewise.
38374 * script/lua/ldblib.c: Likewise.
38375 * script/lua/ldebug.c: Likewise.
38376 * script/lua/ldebug.h: Likewise.
38377 * script/lua/ldo.c: Likewise.
38378 * script/lua/ldo.h: Likewise.
38379 * script/lua/ldump.c: Likewise.
38380 * script/lua/lfunc.c: Likewise.
38381 * script/lua/lfunc.h: Likewise.
38382 * script/lua/lgc.c: Likewise.
38383 * script/lua/lgc.h: Likewise.
38384 * script/lua/linit.c: Likewise.
38385 * script/lua/liolib.c: Likewise.
38386 * script/lua/llex.c: Likewise.
38387 * script/lua/llex.h: Likewise.
38388 * script/lua/llimits.h: Likewise.
38389 * script/lua/lmathlib.c: Likewise.
38390 * script/lua/lmem.c: Likewise.
38391 * script/lua/lmem.h: Likewise.
38392 * script/lua/loadlib.c: Likewise.
38393 * script/lua/lobject.c: Likewise.
38394 * script/lua/lobject.h: Likewise.
38395 * script/lua/lopcodes.c: Likewise.
38396 * script/lua/lopcodes.h: Likewise.
38397 * script/lua/loslib.c: Likewise.
38398 * script/lua/lparser.c: Likewise.
38399 * script/lua/lparser.h: Likewise.
38400 * script/lua/lstate.c: Likewise.
38401 * script/lua/lstate.h: Likewise.
38402 * script/lua/lstring.c: Likewise.
38403 * script/lua/lstring.h: Likewise.
38404 * script/lua/lstrlib.c: Likewise.
38405 * script/lua/ltable.c: Likewise.
38406 * script/lua/ltable.h: Likewise.
38407 * script/lua/ltablib.c: Likewise.
38408 * script/lua/ltm.c: Likewise.
38409 * script/lua/ltm.h: Likewise.
38410 * script/lua/lua.h: Likewise.
38411 * script/lua/luaconf.h: Likewise.
38412 * script/lua/lualib.h: Likewise.
38413 * script/lua/lundump.c: Likewise.
38414 * script/lua/lundump.h: Likewise.
38415 * script/lua/lvm.c: Likewise.
38416 * script/lua/lvm.h: Likewise.
38417 * script/lua/lzio.c: Likewise.
38418 * script/lua/lzio.h: Likewise.
38419
38420 2009-05-16 Bean <bean123ch@gmail.com>
38421
38422 * include/grub/kernel.h (grub_module_header_types): Add type
38423 OBJ_TYPE_CONFIG.
38424
38425 * kern/main.c (grub_load_config): New function.
38426 (grub_main): Call grub_load_config to read boot config.
38427
38428 * grub-mkimage (generate_image): New parameter config_path.
38429 (options): New option --config.
38430 (main): Parse --config option, and pass it to generate_image.
38431
38432 2009-05-14 Christian Franke <franke@computer.org>
38433
38434 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38435 This fixes build on Cygwin.
38436
38437 2009-05-14 Pavel Roskin <proski@gnu.org>
38438
38439 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38440 jump. This saves two bytes, so the typical case of 2 swapped
38441 drives would fit 32 bytes.
38442
38443 2009-05-13 Pavel Roskin <proski@gnu.org>
38444
38445 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38446 grub_uint32_t to avoid a warning.
38447
38448 * loader/i386/linux.c (allocate_pages): When assigning
38449 real_mode_mem, cast through grub_size_t to fix a warning. The
38450 code already makes sure that the value would fit a pointer.
38451 (grub_linux_setup_video): Cast render_target->data to
38452 grub_size_t to fix a warning.
38453
38454 2009-05-13 Javier Martín <lordhabbit@gmail.com>
38455
38456 * commands/i386/pc/drivemap.c: New file - implement drivemap
38457 command.
38458 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38459 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38460
38461 2009-05-13 Pavel Roskin <proski@gnu.org>
38462
38463 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38464 embedding_area_exists.
38465
38466 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38467
38468 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38469 it easier to understand / work with.
38470 Improve warning messages for cases where there's no embedding area,
38471 or when it is too small (or core.img too large).
38472
38473 2009-05-13 Pavel Roskin <proski@gnu.org>
38474
38475 * loader/i386/pc/multiboot2.c: Add necessary includes for
38476 grub_multiboot2_real_boot().
38477
38478 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38479 PX record is always little-endian. We only need the lower 2
38480 bytes of the mode.
38481
38482 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38483 facilitate code reuse.
38484 (grub_cpio_mount): Use "struct head", not a char buffer. This
38485 fixes a warning reported by gcc 4.4.
38486
38487 * kernel/disk.c (grub_disk_read): Use void pointer for the
38488 buffer.
38489 (grub_disk_write): Use const void pointer for the buffer.
38490 Adjust all callers. Remove unnecessary casts.
38491
38492 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38493
38494 * util/i386/pc/grub-install.in: Update copyright year.
38495
38496 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38497
38498 gptsync
38499
38500 * commands/gptsync.c: new file
38501 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38502 (gptsync_mod_SOURCES): new variable
38503 (gptsync_mod_CFLAGS): likewise
38504 (gptsync_mod_LDFLAGS): likewise
38505 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
38506 new definition
38507 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38508 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38509 * conf/i386-ieee1275.rmk: likewise
38510 * conf/i386-pc.rmk: likewise
38511 * conf/powerpc-ieee1275.rmk: likewise
38512
38513 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38514
38515 Fixed grub-emu
38516
38517 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38518 (grub_dl_ref): likewise
38519
38520 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38521
38522 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38523 split in two functions (one for msdos and one for gpt).
38524
38525 2009-05-08 Pavel Roskin <proski@gnu.org>
38526
38527 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38528 not modified.
38529
38530 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38531 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38532 Initialize them with -1. Add sanity check for bad1. Eliminate
38533 nerr variable.
38534
38535 2009-05-08 David S. Miller <davem@davemloft.net>
38536
38537 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38538
38539 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38540
38541 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
38542 existence.
38543
38544 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
38545
38546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38547 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
38548
38549 2009-05-05 David S. Miller <davem@davemloft.net>
38550
38551 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38552
38553 2009-05-05 Pavel Roskin <proski@gnu.org>
38554
38555 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38556 of grub_dl_ref() and grub_dl_unref().
38557 * commands/parttool.c: Remove preprocessor conditionals around
38558 grub_dl_ref() and grub_dl_unref().
38559 * fs/affs.c: Likewise.
38560 * fs/afs.c: Likewise.
38561 * fs/cpio.c: Likewise.
38562 * fs/ext2.c: Likewise.
38563 * fs/fat.c: Likewise.
38564 * fs/hfs.c: Likewise.
38565 * fs/hfsplus.c: Likewise.
38566 * fs/iso9660.c: Likewise.
38567 * fs/jfs.c: Likewise.
38568 * fs/minix.c: Likewise.
38569 * fs/ntfs.c: Likewise.
38570 * fs/reiserfs.c: Likewise.
38571 * fs/sfs.c: Likewise.
38572 * fs/udf.c: Likewise.
38573 * fs/ufs.c: Likewise.
38574 * fs/xfs.c: Likewise.
38575 * include/grub/dl.h: Likewise.
38576 * loader/xnu.c: Likewise.
38577
38578 2009-05-04 Pavel Roskin <proski@gnu.org>
38579
38580 * commands/acpi.c: Remove unused variable my_mod.
38581 * partmap/amiga.c: Likewise.
38582 * partmap/apple.c: Likewise.
38583 * partmap/gpt.c: Likewise.
38584 * partmap/pc.c: Likewise.
38585 * partmap/sun.c: Likewise.
38586 * term/gfxterm.c: Likewise.
38587 * term/i386/pc/vesafb.c: Likewise.
38588 * term/i386/pc/vga.c: Likewise.
38589
38590 2009-05-04 David S. Miller <davem@davemloft.net>
38591
38592 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38593 pointer args to grub_ieee1275_get_property().
38594
38595 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38596
38597 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38598 devices, and do not traverse down under controller nodes.
38599
38600 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38601 (grub_ofdisk_open): Use it to un-escape "," characters.
38602 * kern/disk.c (find_part_sep): New.
38603 (grub_disk_open): Use it to find the first non-escaped ','
38604 character in the disk name.
38605 * util/ieee1275/devicemap.c (escape_of_path): New.
38606 (grub_util_emit_devicemap_entry): Use it.
38607 * util/sparc64/ieee1275/grub-install.in: Update script to
38608 strip partition specifiers properly by not triggering on
38609 '\' escaped ',' characters.
38610
38611 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38612
38613 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38614 to 0x300.
38615 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38616 resolutions.
38617 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38618 on documentation from Wikipedia).
38619
38620 2009-05-04 Pavel Roskin <proski@gnu.org>
38621
38622 * disk/ata.c: Spelling fixes.
38623 * disk/raid.c: Likewise.
38624 * disk/usbms.c: Likewise.
38625 * disk/dmraid_nvidia.c: Likewise.
38626 * kern/ieee1275/openfw.c: Likewise.
38627 * kern/ieee1275/init.c: Likewise.
38628 * kern/ieee1275/cmain.c: Likewise.
38629 * boot/i386/pc/cdboot.S: Likewise.
38630 * video/readers/png.c: Likewise.
38631 * video/i386/pc/vbe.c: Likewise.
38632 * fs/udf.c: Likewise.
38633 * fs/hfs.c: Likewise.
38634 * fs/reiserfs.c: Likewise.
38635 * efiemu/runtime/efiemu.c: Likewise.
38636 * efiemu/main.c: Likewise.
38637 * efiemu/mm.c: Likewise.
38638 * include/grub/elf.h: Likewise.
38639 * include/grub/xnu.h: Likewise.
38640 * include/grub/usbdesc.h: Likewise.
38641 * include/grub/usb.h: Likewise.
38642 * include/grub/script_sh.h: Likewise.
38643 * include/grub/lib/LzmaEnc.h: Likewise.
38644 * include/grub/efiemu/efiemu.h: Likewise.
38645 * include/grub/command.h: Likewise.
38646 * normal/menu.c: Likewise.
38647 * normal/main.c: Likewise.
38648 * normal/datetime.c: Likewise.
38649 * bus/usb/uhci.c: Likewise.
38650 * mmap/i386/uppermem.c: Likewise.
38651 * mmap/mmap.c: Likewise.
38652 * commands/acpi.c: Likewise.
38653 * commands/test.c: Likewise.
38654 * partmap/apple.c: Likewise.
38655 * font/font.c: Likewise.
38656 * loader/sparc64/ieee1275/linux.c: Likewise.
38657 * loader/macho.c: Likewise.
38658 * loader/i386/bsd_trampoline.S: Likewise.
38659 * loader/i386/bsd.c: Likewise.
38660 * loader/xnu.c: Likewise.
38661 * term/i386/pc/vesafb.c: Likewise.
38662 * term/usb_keyboard.c: Likewise.
38663 * util/resolve.c: Likewise.
38664 * util/getroot.c: Likewise.
38665
38666 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38667
38668 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38669
38670 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38671
38672 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38673 build error.
38674
38675 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38676
38677 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38678 parameter only available on BIOS.
38679
38680 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38681
38682 Removed wrong semicolon in declaration
38683
38684 * grub/misc.h (grub_dprintf): remove semicolon
38685
38686 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38687
38688 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38689 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38690 is done by grub_cmd_linux() now).
38691 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38692 restore video to text mode.
38693 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38694 indicates lack of "vga=" parameter. "vga=0" is mapped to
38695 `GRUB_LINUX_VID_MODE_NORMAL'.
38696
38697 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38698
38699 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38700 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38701 and `normal/script.c'. Add `kern/rescue_reader.c',
38702 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
38703 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38704 `grub_script.tab.c'.
38705
38706 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38707 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38709 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38711
38712 * Makefile.in: Remove duplicated 2008 in Copyright line.
38713
38714 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38715
38716 * util/misc.c (grub_util_warn): New function. Emits a warning
38717 unconditionally.
38718 * include/grub/util/misc.h (grub_util_warn): New declaration.
38719
38720 * util/i386/pc/grub-install.in: Understand --force and pass it down
38721 to grub-setup.
38722
38723 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38724 down to setup().
38725 (setup): Improve error messages and add warnings when requested to
38726 install in odd layouts. Refuse to install using blocklists unless
38727 --force was set.
38728
38729 2009-05-04 martin f. krafft <madduck@madduck.net>
38730
38731 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38732
38733 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38734
38735 Updated copyright year
38736
38737 * fs/hfsplus.c: updated copyright year
38738
38739 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38740
38741 HFS+ UUID
38742
38743 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
38744 in the space previously used by unused3
38745 (grub_hfsplus_uuid): new function
38746 (grub_hfsplus_fs): added uuid field
38747
38748 2009-05-03 Pavel Roskin <proski@gnu.org>
38749
38750 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38751 suppress warnings. It's no longer needed.
38752 * disk/host.c: Likewise.
38753 * disk/ata_pthru.c: Likewise.
38754 * disk/loopback.c: Likewise.
38755 * hook/datehook.c: Likewise.
38756 * parttool/pcpart.c: Likewise.
38757 * fs/i386/pc/pxe.c: Likewise.
38758 * fs/ntfscomp.c: Likewise.
38759 * efiemu/main.c: Likewise.
38760 * mmap/mmap.c: Likewise.
38761 * commands/crc.c: Likewise.
38762 * commands/hexdump.c: Likewise.
38763 * commands/hdparm.c: Likewise.
38764 * commands/acpi.c: Likewise.
38765 * commands/echo.c: Likewise.
38766 * commands/minicmd.c: Likewise.
38767 * commands/blocklist.c: Likewise.
38768 * commands/memrw.c: Likewise.
38769 * commands/loadenv.c: Likewise.
38770 * commands/usbtest.c: Likewise.
38771 * commands/lsmmap.c: Likewise.
38772 * commands/boot.c: Likewise.
38773 * commands/parttool.c: Likewise.
38774 * commands/configfile.c: Likewise.
38775 * commands/search.c: Likewise.
38776 * commands/ieee1275/suspend.c: Likewise.
38777 * commands/cat.c: Likewise.
38778 * commands/i386/pc/pxecmd.c: Likewise.
38779 * commands/i386/pc/play.c: Likewise.
38780 * commands/i386/pc/halt.c: Likewise.
38781 * commands/i386/pc/vbeinfo.c: Likewise.
38782 * commands/i386/pc/vbetest.c: Likewise.
38783 * commands/lspci.c: Likewise.
38784 * commands/date.c: Likewise.
38785 * commands/handler.c: Likewise.
38786 * commands/ls.c: Likewise.
38787 * commands/test.c: Likewise.
38788 * commands/cmp.c: Likewise.
38789 * commands/efi/loadbios.c: Likewise.
38790 * commands/efi/fixvideo.c: Likewise.
38791 * commands/halt.c: Likewise.
38792 * commands/help.c: Likewise.
38793 * commands/reboot.c: Likewise.
38794 * hello/hello.c: Likewise.
38795 * script/sh/main.c: Likewise.
38796 * loader/xnu.c: Likewise.
38797 * term/terminfo.c: Likewise.
38798 * term/i386/pc/serial.c: Likewise.
38799 * term/usb_keyboard.c: Likewise.
38800
38801 2009-05-03 David S. Miller <davem@davemloft.net>
38802
38803 * normal/menu.c: Include grub/parser.h
38804
38805 2009-05-03 Pavel Roskin <proski@gnu.org>
38806
38807 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38808 not char*.
38809 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38810 Suggested by Javier Martín <lordhabbit@gmail.com>
38811
38812 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38813 efiemu??.o doesn't exist.
38814 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38815 copying.
38816
38817 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
38818
38819 FreeBSD 64-bit support
38820
38821 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
38822 and loader/i386/bsd_trampoline.S
38823 (bsd_mod_ASFLAGS): new variable
38824 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38825 (FREEBSD_MODTYPE_KERNEL64): likewise
38826 (grub_bsd64_trampoline_start): likewise
38827 (grub_bsd64_trampoline_end): likewise
38828 (grub_bsd64_trampoline_selfjump): likewise
38829 (grub_bsd64_trampoline_gdt): likewise
38830 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38831 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38832 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38833 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
38834 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
38835 of "attrib" member
38836 * loader/i386/bsd_pagetable.c: new file
38837 * loader/i386/bsd_trampoline.S: likewise
38838 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38839 (ALIGN_VAR): likewise
38840 (entry_hi): new variable
38841 (kern_end_mdofs): likewise
38842 (is_64bit): likewise
38843 (grub_freebsd_add_meta): use ALIGN_VAR
38844 (grub_e820_mmap): new declaration
38845 (grub_freebsd_add_mmap): new function
38846 (grub_freebsd_add_meta_module): support 64 bit kernels
38847 (grub_freebsd_list_modules): use ALIGN_VAR
38848 (gdt_descriptor): new declaration
38849 (grub_freebsd_boot): support 64 bit kernels
38850 (grub_bsd_elf64_hook): new function
38851 (grub_bsd_load_elf): support elf64
38852
38853 2009-05-03 Bean <bean123ch@gmail.com>
38854
38855 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38856 after we get the result of if statement.
38857
38858 2009-05-03 Bean <bean123ch@gmail.com>
38859
38860 * Makefile.in (enable_efiemu): New variable.
38861
38862 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38863 set.
38864 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38865 path.
38866 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38867 path, add -mno-red-zone option.
38868 (efiemu64_s.o): Likewise.
38869 (efiemu64.o): Use macro $^ for source file.
38870
38871 * configure.ac (--enable-efiemu): New option.
38872
38873 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38874
38875 xnu support
38876
38877 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38878 (pkglib_MODULES): add xnu.mod
38879 (xnu_mod_SOURCES): new variable
38880 (xnu_mod_CFLAGS): likewise
38881 (xnu_mod_LDFLAGS): likewise
38882 (xnu_mod_ASFLAGS): likewise
38883 * conf/i386-pc.rmk: likewise
38884 * conf/x86_64-efi.rmk: likewise
38885 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
38886 new declaration
38887 * include/grub/i386/macho.h: new file
38888 * include/grub/i386/xnu.h: likewise
38889 * include/grub/macho.h: likewise
38890 * include/grub/machoload.h: likewise
38891 * include/grub/x86_64/macho.h: likewise
38892 * include/grub/x86_64/xnu.h: likewise
38893 * include/grub/xnu.h: likewise
38894 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38895 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38896 * loader/i386/efi/xnu.c: new file
38897 * loader/i386/pc/xnu.c: likewise
38898 * loader/i386/xnu.c: likewise
38899 * loader/i386/xnu_helper.S: likewise
38900 * loader/macho.c: likewise
38901 * loader/xnu.c: likewise
38902 * loader/xnu_resume.c: likewise
38903 * util/grub-dumpdevtree: likewise
38904 * include/grub/i386/pit.h: include grub/err.h
38905 (grub_pit_wait): export
38906 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
38907
38908 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38909
38910 Efiemu
38911
38912 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
38913 _linux_efi, linux_efi.
38914 new files in grub-emu
38915 new targets efiemu32.o and efiemu64.o
38916 * loader/linux_normal_efiemu.c: likewise
38917 * loader/i386/efi/linux.c: added preliminary efiemu support
38918 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
38919 files to copy
38920 * include/grub/autoefi.h: new file
38921 * include/grub/i386/efiemu.h: likewise
38922 * include/grub/i386/pc/efiemu.h: likewise
38923 * include/grub/efi/api.h: add LL suffix when necessary
38924 new definitions relating to tables
38925 * include/grub/efiemu/efiemu.h: new file
38926 * include/grub/efiemu/runtime.h: likewise
38927 * efiemu/prepare.c: likewise
38928 * efiemu/loadcore_common.c: likewise
38929 * efiemu/loadcore64.c: likewise
38930 * efiemu/runtime/efiemu.sh: likewise
38931 * efiemu/runtime/efiemu.S: likewise
38932 * efiemu/runtime/efiemu.c: likewise
38933 * efiemu/runtime/config.h: likewise
38934 * efiemu/prepare32.c: likewise
38935 * efiemu/main.c: likewise
38936 * efiemu/modules/pnvram.c: likewise
38937 * efiemu/modules/i386: likewise
38938 * efiemu/modules/i386/pc: likewise
38939 * efiemu/modules/acpi.c: likewise
38940 * efiemu/i386/pc/cfgtables.c: likewise
38941 * efiemu/i386/loadcore64.c: likewise
38942 * efiemu/i386/loadcore32.c: likewise
38943 * efiemu/prepare64.c: likewise
38944 * efiemu/loadcore.c: likewise
38945 * efiemu/symbols.c: likewise
38946 * efiemu/mm.c: likewise
38947 * efiemu/loadcore32.c: likewise
38948
38949 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38950
38951 ACPI spoofing
38952
38953 * commands/acpi.c: new file
38954 * commands/i386/pc/acpi.c: likewise
38955 * commands/efi/acpi.c: likewise
38956 * include/grub/acpi.h: likewise
38957 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38958 (acpi_mod_SOURCES): new variable
38959 (acpi_mod_CFLAGS): likewise
38960 (acpi_mod_LDFLAGS): likewise
38961 * conf/i386-efi.rmk: likewise
38962 * conf/x86_64-efi.rmk: likewise
38963
38964 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38965
38966 Missing part from mmap patch
38967
38968 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38969 (grub_mmap_unregister)
38970 (grub_mmap_free_and_unregister): use grub_mmap_register
38971
38972 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38973
38974 Mmap services
38975
38976 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
38977 * loader/i386/linux.c (find_mmap_size): likewise
38978 (allocate_pages): likewise
38979 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
38980 (grub_fill_multiboot_mmap): likewise
38981 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
38982 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
38983 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
38984 (OPENBSD_MMAP_RESERVED): likewise
38985 * include/grub/i386/pc/memory.h: include grub/memory.h
38986 (grub_lower_mem): removed
38987 (grub_upper_mem): likewise
38988 (GRUB_MACHINE_MEMORY_ACPI): new definition
38989 (GRUB_MACHINE_MEMORY_NVS): likewise
38990 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
38991 (GRUB_MACHINE_MEMORY_HOLE): likewise
38992 (grub_machine_mmap_register): likewise
38993 (grub_machine_mmap_unregister): likewise
38994 (grub_machine_get_upper): likewise
38995 (grub_machine_get_lower): likewise
38996 (grub_machine_get_post64): likewise
38997 * include/grub/i386/efi/memory.h: new file
38998 * include/grub/x86_64/efi/memory.h: likewise
38999 * include/grub/efi/memory.h: likewise
39000 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39001 (mmap_mod_SOURCES): new variable
39002 (mmap_mod_LDFLAGS): likewise
39003 (mmap_mod_ASFLAGS): likewise
39004 * conf/i386-coreboot.rmk: likewise
39005 * conf/i386-ieee1275.rmk: likewise
39006 * conf/i386-efi.rmk: likewise
39007 * conf/x86_64-efi.rmk: likewise
39008 * include/grub/types.h (UINT_TO_PTR): new macro
39009 (PTR_TO_UINT32): likewise
39010 (PTR_TO_UINT64): likewise
39011 * include/grub/memory.h: new file
39012 * mmap/i386/pc/mmap.c: likewise
39013 * mmap/i386/pc/mmap_helper.S: likewise
39014 * mmap/i386/uppermem.c: likewise
39015 * mmap/mmap.c: likewise
39016 * mmap/efi/mmap.c: likewise
39017 * kern/i386/coreboot/init.c (grub_machine_init): don't use
39018 grub_upper_mem
39019 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39020 (grub_upper_mem): likewise
39021 (grub_machine_init): don't use grub_upper_mem,
39022 make grub_lower_mem local
39023 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39024 grub_mmap_iterate and grub_mmap_get_upper
39025 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39026
39027 2009-05-02 Bean <bean123ch@gmail.com>
39028
39029 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39030 script/sh/parser.y.
39031 (pkglib_MODULES): Add normal.mod and sh.mod.
39032 (normal_SOURCES): New variable.
39033 (normal_mod_CFLAGS): Likewise.
39034 (normal_mod_LDFLAGS): Likewise.
39035 (sh_mod_SOURCES): Likewise.
39036 (sh_mod_CFLAGS): Likewise.
39037 (sh_mod_LDFLAGS): Likewise.
39038
39039 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39040 script/sh/lexer.c_DEPENDENCIES.
39041 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39042 kern/rescue_reader.c and kern/rescue_parser.c.
39043 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39044 (grub_emu_SOURCES): Change source files.
39045 (pkglib_MODULES): Remove normal.mod.
39046 (normal_SOURCES): Removed.
39047 (normal_mod_CFLAGS): Likewise.
39048 (normal_mod_LDFLAGS): Likewise.
39049 * conf/i386-coreboot.rmk: Likewise.
39050 * conf/i386-efi.rmk: Likewise.
39051 * conf/i386-ieee1276.rmk: Likewise.
39052 * conf/powerpc-ieee1275.rmk: Likewise.
39053 * conf/sparc64-ieee1275.rmk: Likewise.
39054 * conf/x86_64-efi.rmk: Likewise.
39055
39056 * include/grub/command.h (grub_command_execute): New inline function.
39057
39058 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39059
39060 * include/grub/normal.h: Remove <grub/setjmp.h>.
39061 (grub_fs_module_list): Moved to normal/autofs.c.
39062 (grub_exit_env): Removed.
39063 (grub_command_execute): Likewise.
39064 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39065 parameter script.
39066 (read_command_list): New function declaration.
39067 (read_fs_list): Likewise.
39068
39069 * include/parser.h: Include <grub/reader.h>.
39070 (grub_parser_split_cmdline): Change type of getline parameter.
39071 (grub_parser): New structure.
39072 (grub_parser_class): New variable.
39073 (grub_parser_execute): New function declaration.
39074 (grub_register_rescue_parser): Likewise.
39075 (grub_parser_register): New inline function.
39076 (grub_parser_unregister): Likewise.
39077 (grub_parser_get_current): Likewise.
39078 (grub_parser_set_current): Likewise.
39079
39080 * include/grub/reader.h: New file.
39081 * kern/reader.c: Likewise.
39082 * kern/rescue_parser.c: Likewise.
39083 * kern/rescue_reader.c: Likewise.
39084 * normal/autofs.c: Likewise.
39085 * normal/dyncmd.c: Likewise.
39086
39087 * include/grub/rescue.h: Removed.
39088 * normal/command.h: Likewise.
39089
39090 * include/grub/script.h: Moved to ...
39091 * include/grub/script_sh.h: ... Moved here.
39092 * normal/execute.c: Moved to ...
39093 * script/sh/execute.c: ... Moved here.
39094 * normal/function.c: Moved to ...
39095 * script/sh/function.c: ... Moved here.
39096 * normal/lexer.c: Moved to ...
39097 * script/sh/lexer.c: ... Moved here.
39098 * normal/parser.y: Moved to ...
39099 * script/sh/parser.y: ... Moved here.
39100 * normal/script.c: Moved to ...
39101 * script/sh/script.c: ... Moved here.
39102
39103 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39104 <grub/reader.h>.
39105 (grub_exit_env): Removed.
39106 (fs_module_list): Moved to normal/autofs.c.
39107 (grub_file_getline): Don't handle comment here.
39108 (free_menu): Skip removed field entry->commands.
39109 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39110 script parameter.
39111 (read_config_file): Removed nested parameter, change getline function.
39112 (grub_enter_normal_mode): Removed.
39113 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39114 (read_command_list): Likewise.
39115 (autoload_fs_module): Moved to normal/autofs.c.
39116 (read_fs_list): Likewise.
39117 (reader_nested): New variable.
39118 (grub_normal_execute): Run parser.sh to switch to sh parser.
39119 (grub_cmd_rescue): Removed.
39120 (cmd_normal): Removed.
39121 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39122 rescue command.
39123 (grub_cmdline_run): New function.
39124 (grub_normal_reader_init): Likewise.
39125 (grub_normal_read_line): Likewise.
39126 (grub_env_write_pager): Likewise.
39127 (cmdline): New variable.
39128 (grub_normal_reader): Likewise.
39129 (GRUB_MOD_INIT): Register normal reader and set as current, register
39130 pager hook, register normal command with grub_register_command_prio,
39131 so that it won't show up in command.lst.
39132 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39133 grub_fs_autoload_hook.
39134
39135 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39136 (grub_menu_execute_entry): Replace grub_script_execute with
39137 grub_parser_execute, change parameter to grub_command_execute.
39138
39139 * normal/menu_text.c: Remove <grub/script.h>.
39140
39141 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39142 and <grub/parser.h>.
39143 (run): Change editor_getline to use new parser interface. Change
39144 parameter to grub_command_execute.
39145
39146 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39147 <grub/reader.h> and <grub/parser.h>.
39148 (grub_load_normal_mode): Execute normal command.
39149 (grub_main): Call grub_register_core_commands,
39150 grub_register_rescue_parser and grub_register_rescue_reader, use
39151 grub_reader_loop to enter input loop.
39152
39153 * kern/parser.c (grub_parser_split_cmdline): Change type of
39154 getline parameter.
39155 (grub_parser_class): New variable.
39156 (grub_parser_execute): New function.
39157
39158 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39159 * loader/multiboot2.c: Likewise.
39160 * loader/sparc64/ieee1275/linux.c: Likewise.
39161
39162 * util/grub-emu.c (read_command_list): New dummy function.
39163
39164 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39165
39166 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39167 count to 16 for CCISS and IDA.
39168
39169 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39170
39171 * normal/menu_text.c (grub_wait_after_message): Print a newline
39172 after waiting for user input.
39173
39174 * loader/i386/linux.c: Include `<grub/normal.h>'.
39175 (grub_cmd_linux): Improve the error message about `ask' mode, by
39176 waiting for user input so it's not missed (we can do this, since
39177 user requested interaction).
39178
39179 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39180
39181 Added missing lst to grub-mkrescue
39182
39183 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39184 and ${input_dir}/parttool.lst
39185
39186 2009-04-30 David S. Miller <davem@davemloft.net>
39187
39188 * util/hostdisk.c (device_is_wholedisk): New function.
39189 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39190 zero only if device_is_wholedisk() returns true.
39191
39192 * util/hostdisk.c (convert_system_partition_to_system_disk):
39193 Handle virtual disk devices named /dev/vdiskX as found on sparc
39194 and powerpc.
39195
39196 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39197 lettered partition specifier is found, convert to numbered.
39198
39199 2009-04-29 David S. Miller <davem@davemloft.net>
39200
39201 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39202 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39203
39204 * normal/command.c: Add missing newline at end of file.
39205
39206 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39207 warnings.
39208 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39209 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39210 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39211 ihandles have a 32-bit type but need to be stored in a "void *".
39212
39213 2009-04-28 Pavel Roskin <proski@gnu.org>
39214
39215 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39216 not disk. Adjust all dependencies.
39217 (grub_fs_uuid_close): Use grub_device_close(), not
39218 grub_disk_close().
39219
39220 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39221 parent's partition, don't copy it by reference, as it gets freed
39222 on close.
39223
39224 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39225
39226 Preboot hooks support
39227
39228 * commands/boot.c (struct grub_preboot_t): new declaration
39229 (preboots_head): new variable
39230 (preboots_tail): likewise
39231 (grub_loader_register_preboot_hook): new function
39232 (grub_loader_unregister_preboot_hook): likewise
39233 (grub_loader_set): launch preboot hooks
39234 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39235 (grub_loader_register_preboot_hook): new declaration
39236 (grub_loader_unregister_preboot_hook): likewise
39237
39238 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39239
39240 Warning fix
39241
39242 * disk/scsi.c (grub_scsi_open): added missing cast when
39243 calling grub_dprintf
39244
39245 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39246
39247 Bug and warning fixes
39248
39249 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
39250 declaration
39251 * commands/test.c (test_parse): fixed bug with file tests and corrected
39252 declaration of find_file
39253
39254 2009-04-26 Pavel Roskin <proski@gnu.org>
39255
39256 * Makefile.in: Don't install empty manual pages if help2man is
39257 missing. Use help2man option for output, not shell redirection.
39258
39259 2009-04-26 David S. Miller <davem@davemloft.net>
39260
39261 * util/grub-mkdevicemap.c (make_device_map): Add missing
39262 NESTED_FUNC_ATTR to process_device().
39263
39264 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39265
39266 Test command
39267
39268 * commands/test.c: rewritten to use bash-like test
39269
39270 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39271
39272 Parttool autoloading and improvements
39273
39274 * Makefile.in (pkglib_DATA): add parttool.lst
39275 (parttool.lst): new target
39276 * genmk.rb: generate parttool-*
39277 (CLEANFILES): add #{parttool}
39278 (PARTTOOLFILES): new variable
39279 * genparttoollist.sh: new file
39280 * parttool/pcpart.c (grub_pcpart_boot): more feedback
39281 (grub_pcpart_type): likewise
39282 * commands/parttool.c (helpmsg): new variable
39283 (grub_cmd_parttool): output help if not enough arguments are supplied
39284 autoload modules
39285 (GRUB_MOD_INIT(parttool)): use helpmsg
39286
39287 2009-04-24 David S. Miller <davem@davemloft.net>
39288
39289 Avoiding opening same device multiple times in device iterator.
39290
39291 * kern/device.c: (grub_device_iterate): Define struct part_ent,
39292 and use it to build a list of partitions in iterate_disk() and
39293 iterate_partition().
39294
39295 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39296 on disk->data.
39297
39298 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39299 grub_devalias_iterate() result instead of unconditional 0.
39300 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39301 Also, capture hook return value, either directly or via
39302 grub_children_iterate(), and propagate to caller.
39303 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39304 grub_children_iterate): Return value is now 'int' instead of
39305 'grub_err_t'.
39306 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39307 like a proper iterator, stopping when hooks return non-zero.
39308 (grub_devalias_iterate): Likewise.
39309
39310 2009-04-23 David S. Miller <davem@davemloft.net>
39311
39312 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39313
39314 2009-04-22 David S. Miller <davem@davemloft.net>
39315
39316 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39317 is larger than address_cells, use that value for address_cells too.
39318
39319 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39320 IEEE1275_MAX_PATH_LEN): Define.
39321 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39322 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39323 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39324 'devtype'. Explicitly NULL terminate devalias expansion.
39325
39326 * util/sparc64/ieee1275/misc.c: New file.
39327 * util/sparc64/ieee1275/grub-setup.c: New file.
39328 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39329 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39330 * util/sparc64/ieee1275/grub-install.in: New file.
39331 * util/ieee1275/ofpath.c: New file.
39332 * util/ieee1275/devicemap.c: New file.
39333 * util/devicemap.c: New file.
39334 * util/deviceiter.c: New file.
39335 * kern/sparc64/ieee1275/init.c: New file.
39336 * include/grub/util/ofpath.h: New file.
39337 * include/grub/util/deviceiter.h: New file.
39338 * util/grub-mkdevicemap.c: Include deviceiter.h.
39339 Implement using grub_util_emit_devicemap_entry and
39340 grub_util_iterate_devices.
39341 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39342 util/devicemap.c into grub-mkdevicemap
39343 * conf/i386-efi.rmk: Likewise.
39344 * conf/i386-ieee1275.rmk: Likewise.
39345 * conf/i386-pc.rmk: Likewise.
39346 * conf/powerpc-ieee1275.rmk: Likewise.
39347 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39348 images and installation utilities. Build kernel as image
39349 instead of as elf binary. Use common rules as much as possible.
39350
39351 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
39352
39353 Correct GPT definition
39354
39355 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
39356 of "attrib" member
39357
39358 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
39359
39360 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39361
39362 2009-04-19 David S. Miller <davem@davemloft.net>
39363
39364 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39365 (grub_rescue_cmd_linux): Rename to...
39366 (grub_cmd_linux): and fix prototype.
39367 (grub_rescue_cmd_initrd): Rename to...
39368 (grub_cmd_initrd): and fix prototype.
39369 (cmd_linux, cmd_initrd): New.
39370 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39371 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39372
39373 2009-04-17 Pavel Roskin <proski@gnu.org>
39374
39375 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39376 format.
39377 (grub_ohci_transfer): Likewise.
39378
39379 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39380
39381 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39382 return without a value. Fix inconsistent indentation.
39383
39384 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39385 match struct grub_fs.
39386
39387 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39388 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39389 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39390 * commands/lspci.c (grub_lspci_iter): Likewise.
39391
39392 2009-04-16 Bean <bean123ch@gmail.com>
39393
39394 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39395 value.
39396
39397 2009-04-15 Pavel Roskin <proski@gnu.org>
39398
39399 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39400 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39401 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39402 definitions.
39403
39404 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39405
39406 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
39407 that no multiple data or metadata areas are supported and `Unknown
39408 metadata header'.
39409
39410 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39411
39412 Move loader out of the kernel
39413
39414 * kern/loader.c: moved to ...
39415 * commands/boot.c: ... moved here
39416 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39417 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39418 * include/grub/kernel.h (grub_machine_fini): export
39419 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39420 (grub_loader_set): likewise
39421 (grub_loader_unset): likewise
39422 (grub_loader_boot): likewise
39423 * conf/common.rmk: new module boot.mod
39424 (pkglib_MODULES): add boot.mod
39425 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39426 (grub_emu_SOURCES): likewise
39427 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39428 (grub_emu_SOURCES): likewise
39429 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39430 (grub_emu_SOURCES): likewise
39431 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39432 (grub_emu_SOURCES): likewise
39433 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39434 (grub_emu_SOURCES): likewise
39435 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39436 (grub_emu_SOURCES): likewise
39437 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
39438 (grub_emu_SOURCES): likewise
39439
39440 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39441
39442 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
39443
39444 * kern/misc.c (grub_itoa): Removed function
39445 (grub_ltoa): likewise
39446 (grub_vsprintf): use grub_lltoa
39447
39448 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39449
39450 Restore grub-emu
39451
39452 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39453 * conf/i386-coreboot.rmk: likewise
39454 * conf/i386-ieee1275.rmk: likewise
39455 * conf/powerpc-ieee1275.rmk: likewise
39456
39457 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39458
39459 * INSTALL: Add that `./autogen.sh' needs to be run before
39460 `./configure.'.
39461
39462 2009-04-14 Bean <bean123ch@gmail.com>
39463
39464 * Makefile.in (pkglib_DATA): Add handler.lst.
39465 (handler.lst): New rule.
39466
39467 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39468 * conf/i386-coreboot.rmk: Likewise.
39469 * conf/i386-ieee1275.rmk: Likewise.
39470 * conf/i386-efi.rmk: Likewise.
39471 * conf/x86_64-efi.rmk: Likewise.
39472 * conf/powerpc-ieee1275.rmk: Likewise.
39473 * conf/sparc64-ieee1275.rmk: Likewise.
39474
39475 * genhandlerlist.sh: New file.
39476
39477 * genmk.rb: Add rules to generate handler.lst.
39478
39479 * include/grub/normal.h (grub_file_getline): New function definition.
39480 (read_handler_list): Likewise.
39481 (free_handler_list): Likewise.
39482
39483 * include/grub/term.h (grub_term_register_input): Add name parameter
39484 for auto generation of handler.lst.
39485 (grub_term_register_output): Likewise.
39486
39487 * normal/handler.c: New file.
39488
39489 * normal/main.c (get_line): Renamed to grub_file_getline.
39490 (read_config_file): Use the newly renamed grub_file_getline.
39491 (read_command_list): Likewise.
39492 (read_fs_list): Likewise.
39493 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39494 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39495
39496 * term/efi/console.c (grub_console_init): Add name parameter for auto
39497 generation of handler.lst.
39498 * term/gfxterm.c: Likewise.
39499 * term/i386/pc/at_keyboard.c: Likewise.
39500 * term/i386/pc/console.c: Likewise.
39501 * term/i386/pc/serial.c: Likewise.
39502 * term/i386/pc/vesafb.c: Likewise.
39503 * term/i386/pc/vga.c: Likewise.
39504 * term/i386/pc/vga_text.c: Likewise.
39505 * term/ieee1275/ofconsole.c: Likewise.
39506 * term/usb_keyboard.c: Likewise.
39507
39508 2009-04-14 Bean <bean123ch@gmail.com>
39509
39510 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39511 properly with null character.
39512
39513 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39514
39515 * configure: Remove.
39516 * config.h.in: Likewise.
39517 * stamp-h.in: Likewise.
39518 * DISTLIST: Likewise.
39519 * conf/common.mk: Likewise.
39520 * conf/i386-coreboot.mk: Likewise.
39521 * conf/i386-efi.mk: Likewise.
39522 * conf/i386-ieee1275.mk: Likewise.
39523 * conf/i386.mk: Likewise.
39524 * conf/i386-pc.mk: Likewise.
39525 * conf/powerpc-ieee1275.mk: Likewise.
39526 * conf/sparc64-ieee1275.mk: Likewise.
39527 * conf/x86_64-efi.mk: Likewise.
39528
39529 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39530 develop on GRUB.
39531
39532 2009-04-14 John Stanley <jpsinthemix@verizon.net>
39533 David S. Miller <davem@davemloft.net>
39534
39535 * util/hostdisk.c (make_device_name): Fix buffer length
39536 calculations.
39537
39538 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39539
39540 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39541 <sys/param.h> and <sys/sysctl.h>.
39542 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39543 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39544 opening the device and reset them afterwards.
39545
39546 2009-04-13 Pavel Roskin <proski@gnu.org>
39547
39548 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39549 Reported by John Stanley <jpsinthemix@verizon.net>
39550
39551 2009-04-13 Robert Millan <rmh@aybabtu.com>
39552
39553 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
39554 that name for menuentries when appropriate.
39555
39556 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39557
39558 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39559
39560 2009-04-13 Robert Millan <rmh@aybabtu.com>
39561
39562 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39563 to Linux, simply abort telling the user it's no longer supported.
39564
39565 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39566
39567 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
39568 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
39569 `freebsd_loadenv' only when devices.hints exist.
39570
39571 2009-04-13 Pavel Roskin <proski@gnu.org>
39572
39573 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39574
39575 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39576
39577 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39578 partition number.
39579 (grub_drive): Likewise.
39580
39581 2009-04-13 David S. Miller <davem@davemloft.net>
39582
39583 * kern/sparc64/ieee1275/ieee1275.c: New file.
39584 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39585 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39586 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39587 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39588 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39589 grub_ieee1275_alloc_physmem): Declare new exported functions.
39590
39591 * include/grub/sparc64/ieee1275/loader.h: New file.
39592 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39593 * include/grub/sparc64/kernel.h: Likewise.
39594 * loader/sparc64/ieee1275/linux.c: Likewise.
39595
39596 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39597 (grub_fstest_SOURCES): Likewise.
39598
39599 * util/hostdisk.c (make_device_name): Do not make any assumptions
39600 about the length of drive names.
39601
39602 * kern/dl.c (grub_dl_load_file): Close file immediately when
39603 we are done using it.
39604
39605 2009-04-12 David S. Miller <davem@davemloft.net>
39606
39607 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39608 values. Noticed by Pavel Roskin.
39609
39610 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39611 target compiler.
39612
39613 * genmk.rb: Add more flexible image type specification, also
39614 pass --strip-unneeded to objcopy.
39615 * conf/i386-pc.rmk: Use *_FORMAT.
39616 * conf/i386-pc.mk: Rebuilt.
39617
39618 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39619 (OFDISK_HASH_SZ): Define.
39620 (ofdisk_hash): New hash table.
39621 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39622 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39623 instead of device phandle which is not unique.
39624
39625 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39626 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39627 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39628 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39629 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39630 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39631 GRUB_KERNEL_MACHINE_DATA_END): Define.
39632 (grub_kernel_image_size, grub_total_module_size): Declare.
39633
39634 2009-04-12 Pavel Roskin <proski@gnu.org>
39635
39636 * configure.ac: Change the logic when we check for target tools.
39637 Do it when the target is specified and it's different from the
39638 specified value of the host.
39639
39640 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
39641
39642 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39643 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39644 GNU/kFreeBSD. Check if a device is a character device. Use
39645 DIOCGMEDIASIZE to get the size.
39646 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39647 support for GNU/kFreeBSD.
39648 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39649 is a character device instead of a block device. Add support for
39650 FreeBSD device names.
39651
39652 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39653 is a character device instead of a block device.
39654
39655 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39656 is a character device instead of a block device.
39657
39658 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39659
39660 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39661 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39662 FreeBSD. Check if a device is a character device. Use
39663 DIOCGMEDIASIZE to get the size.
39664 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39665 support for FreeBSD.
39666 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39667 is a character device instead of a block device. Add support for
39668 FreeBSD device names.
39669
39670 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39671 a character device instead of a block device.
39672 (grub_util_check_char_device): New function.
39673
39674 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39675 a character device instead of a block device.
39676
39677 * include/grub/util/getroot.h (grub_util_check_char_device): New
39678 prototype.
39679
39680 2009-04-11 David S. Miller <davem@davemloft.net>
39681
39682 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39683 static libgcc.
39684 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39685 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39686 function, if present.
39687 (__bswapdi2): Likewise.
39688
39689 * include/grub/sparc64/ieee1275/boot.h: New file.
39690 * boot/sparc64/ieee1275/boot.S: Likewise.
39691 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39692
39693 * kern/misc.c (grub_ltoa): New function.
39694 (grub_vsprintf): Use it to format 'long' integers.
39695
39696 2009-04-10 David S. Miller <davem@davemloft.net>
39697
39698 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39699 slots are of type grub_ieee1275_cell_t.
39700 (grub_nand_read): Likewise.
39701 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39702 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39703 macros are used to compare values in arg/ret block of the call.
39704 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39705 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39706 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39707 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39708 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39709 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39710 grub_ieee1275_close, grub_ieee1275_set_property,
39711 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39712 grub_ieee1275_cell_t.
39713 * kern/ieee1275/openfw.c (grub_map): Likewise.
39714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39715 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39716
39717 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39718 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39719 (grub_devalias_iterate): Likewise.
39720
39721 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
39722
39723 UFS improvements
39724
39725 * fs/ufs.c (INODE_NBLOCKS): new definition
39726 (struct grub_ufs_dirent): added fields for non-BSD dirents
39727 (grub_ufs_get_file_block): fixed double indirect handling
39728 (grub_ufs_lookup_symlink): use more robust way to determine whether
39729 symlink is inline
39730 (grub_ufs_find_file): support for non-BSD dirents
39731 (grub_ufs_dir): support for non-BSD dirents
39732
39733 2009-04-10 Bean <bean123ch@gnail.com>
39734
39735 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39736 attribute, otherwise the size would be wrong for i386 platform.
39737
39738 * include/grub/pci.h (grub_pci_read_word): New inline function.
39739 (grub_pci_read_byte): Likewise.
39740 (grub_pci_write): Likewise.
39741 (grub_pci_write_word): Likewise.
39742 (grub_pci_write_byte): Likewise.
39743
39744 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39745
39746 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39747 (find_framebuf): Scan pci to locate the frame buffer address.
39748
39749 * commands/efi/fixvideo.c: New file.
39750
39751 * commands/efi/loadbios.c: Likewise.
39752
39753 * commands/memrw.c: Likewise.
39754
39755 * util/grub-dumpbios.in: Likewise.
39756
39757 * conf/common.rmk (grub-dumpbios): New utility.
39758 (pkglib_MODULES): New module memrw.mod.
39759 (memrw_mod_SOURCE): New macro.
39760 (memrw_mod_CFLAGS): Likewise.
39761 (memrw_mod_LDFLAGS): Likewise.
39762
39763 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
39764 fixvideo.mod.
39765 (loadbios_mod_SOURCE): New macro.
39766 (loadbios_mod_CFLAGS): Likewise.
39767 (loadbios_mod_LDFLAGS): Likewise.
39768 (fixvideo_mod_SOURCE): Likewise.
39769 (fixvideo_mod_CFLAGS): Likewise.
39770 (fixvideo_mod_LDFLAGS): Likewise.
39771
39772 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
39773 fixvideo.mod.
39774 (loadbios_mod_SOURCE): New macro.
39775 (loadbios_mod_CFLAGS): Likewise.
39776 (loadbios_mod_LDFLAGS): Likewise.
39777 (fixvideo_mod_SOURCE): Likewise.
39778 (fixvideo_mod_CFLAGS): Likewise.
39779 (fixvideo_mod_LDFLAGS): Likewise.
39780
39781 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
39782
39783 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39784
39785 2009-04-07 David S. Miller <davem@davemloft.net>
39786
39787 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39788 support for R_SPARC_OLO10 relocations. Fix compile warning for
39789 R_SPARC_WDISP30 case.
39790 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
39791
39792 2009-04-06 Pavel Roskin <proski@gnu.org>
39793
39794 * include/grub/misc.h (ARRAY_SIZE): New macro.
39795 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39796 New macro.
39797 * loader/i386/linux.c (allocate_pages): Use free_pages().
39798 (grub_linux_unload): Don't use free_pages().
39799 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39800 wrong index. Treat all other modes as text modes.
39801 (grub_cmd_linux): Initialize vid_mode unconditionally to
39802 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39803
39804 * commands/help.c (print_command_help): Use cmd->prio, not
39805 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39806
39807 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
39808
39809 Parttool
39810
39811 * parttool/pcpart.c: new file
39812 * commands/parttool.c: likewise
39813 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39814 (parttool_mod_SOURCES): new variable
39815 (parttool_mod_CFLAGS): likewise
39816 (parttool_mod_LDFLAGS): likewise
39817 (pcpart_mod_SOURCES): likewise
39818 (pcpart_mod_CFLAGS): likewise
39819 (pcpart_mod_LDFLAGS): likewise
39820 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
39821 and parttool/pcpart.c
39822 * conf/i386-efi.rmk: likewise
39823 * conf/i386-ieee1275.rmk: likewise
39824 * conf/i386-pc.rmk: likewise
39825 * conf/powerpc-ieee1275.rmk: likewise
39826 * conf/sparc64-ieee1275.rmk: likewise
39827 * conf/x86_64-ieee1275.rmk: likewise
39828
39829 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39830
39831 Support for mtime and further expandability of dir command
39832
39833 * include/grub/lib/datetime.h: moved to ...
39834 * include/grub/datetime.h: ... moved here and added
39835 declaration of grub_unixtime2datetime. All users updated
39836 * include/grub/fs.h: new syntax for dir and mtime functions in
39837 struct grub_fs
39838 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39839 and GRUB_FSHELP_FLAGS_MASK
39840 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39841 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39842 (grub_ext2_mtime): new function
39843 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39844 (grub_hfsplus_mtime): new function
39845 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39846 (GRUB_UFS_ATTR_FILE): likewise
39847 (GRUB_UFS_ATTR_LNK): likewise
39848 (struct grub_ufs_sblock): new fields mtime
39849 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39850 all users updated
39851 (grub_ufs_dir): mtime support
39852 (grub_ufs_mtime): new function
39853 * fs/affs.c (grub_affs_dir): use new dir syntax
39854 * fs/afs.c (grub_afs_dir): likewise
39855 * fs/cpio.c (grub_cpio_dir): likewise
39856 * fs/fat.c (grub_fat_find_dir): likewise
39857 * fs/hfs.c (grub_hfs_dir): likewise
39858 * fs/iso9660.c (grub_iso9660_dir): likewise
39859 * fs/jfs.c (grub_jfs_dir): likewise
39860 * fs/minix.c (grub_minix_dir): likewise
39861 * fs/ntfs.c (grub_ntfs_dir): likewise
39862 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39863 * fs/sfs.c (grub_sfs_dir): likewise
39864 * fs/xfs.c (grub_xfs_dir): likewise
39865 * util/hostfs.c (grub_hostfs_dir): likewise
39866 * lib/datetime.c: moved to ...
39867 * normal/datetime.c: ... moved here
39868 (grub_unixtime2datetime): new function
39869 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
39870 * normal/completion.c (iterate_dir): use new dir syntax
39871 * normal/misc.c (grub_normal_print_device_info): tell the
39872 last modification time of a volume
39873 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
39874 * conf/common.rmk: added lib/datetime.c to ls.mod
39875 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
39876 (normal_mod_SOURCES): likewise
39877 (datetime_mod_SOURCES): Removed lib/datetime.c
39878 * conf/i386-efi.rmk: likewise
39879 * conf/i386-ieee1275.rmk: likewise
39880 * conf/i386-pc.rmk: likewise
39881 * conf/powerpc-ieee1275.rmk: likewise
39882 * conf/sparc64-ieee1275.rmk: likewise
39883 * conf/x86_64-efi.rmk: likewise
39884
39885 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39886
39887 Trim trailing spaces in FAT label and support mtools-like labels
39888
39889 * fs/fat.c (grub_fat_iterate_dir): New function based
39890 on grub_fat_find_dir
39891 (grub_fat_find_dir): use grub_fat_iterate_dir
39892 (grub_fat_label): likewise
39893
39894 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39895
39896 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
39897 and command.h
39898 remove extraneous kernel_elf_HEADERS
39899
39900 2009-04-04 Bean <bean123ch@gnail.com>
39901
39902 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39903
39904 * util/misc.c: Likewise.
39905
39906 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39907
39908 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39909 instead of grub_printf.
39910
39911 2009-04-03 Robert Millan <rmh@aybabtu.com>
39912
39913 * loader/i386/linux.c (grub_linux_setup_video): Fill
39914 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39915 values from `mode info' structure instead of hardcoded
39916 values.
39917
39918 2009-04-01 Pavel Roskin <proski@gnu.org>
39919
39920 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39921 unused now.
39922 * genmk.rb: Likewise.
39923 * configure.ac: Likewise.
39924
39925 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39926
39927 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39928 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39929
39930 2009-04-01 David S. Miller <davem@davemloft.net>
39931
39932 * normal/sparc64/setjmp.S: Fix setjmp implementation.
39933 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
39934 (grub_setjmp): Mark with 'returns_twice' attribute.
39935 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39936 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39937 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39938
39939 2009-04-01 Robert Millan <rmh@aybabtu.com>
39940
39941 Reapply fix from 2008-07-28 which was accidentally reverted; also
39942 perform the same fix to a similar check in same function.
39943
39944 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39945 with the same number are found, just use issue a warning with
39946 grub_dprintf(), as this error has been reported to be non-fatal.
39947
39948 2009-03-31 Pavel Roskin <proski@gnu.org>
39949
39950 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39951 for cross-compilation.
39952
39953 2009-03-30 Robert Millan <rmh@aybabtu.com>
39954
39955 Fix i386-ieee1275 build.
39956
39957 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39958 Remove declaration.
39959
39960 2009-03-30 Pavel Roskin <proski@gnu.org>
39961
39962 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39963 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39964 zero-terminated, rely only on the strlen value. Fix comparison
39965 of strings differing in length.
39966
39967 2009-03-30 Robert Millan <rmh@aybabtu.com>
39968
39969 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39970 checking for abi version. Improve error messages on BIOS to notify
39971 user about `linux16' command.
39972
39973 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
39974
39975 Leak fixes
39976
39977 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
39978 in case of collision
39979 * disk/scsi.c (grub_scsi_open): free scsi in case of error
39980
39981 2009-03-29 Robert Millan <rmh@aybabtu.com>
39982
39983 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
39984 set `vid_mode' accordingly.
39985 (grub_linux_boot): Process `vid_mode' and set video mode.
39986
39987 2009-03-29 Robert Millan <rmh@aybabtu.com>
39988
39989 * util/grub.d/10_linux.in (linux_entry): New function.
39990 Factorize generation of Linux boot entries.
39991
39992 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
39993
39994 Make the format of Environment Block plain text. The boot loader
39995 part is not tested well yet.
39996
39997 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
39998 (buffer): Removed.
39999 (envblk): Likewise.
40000 (usage): Remove "info" and "clear". Add "unset". Update the
40001 description of "set", as this does not delete variables any
40002 longer.
40003 (create_envblk_file): Complete rewrite.
40004 (open_envblk_file): Likewise.
40005 (cmd_info): Removed.
40006 (cmd_list): Likewise.
40007 (cmd_set): Likewise.
40008 (cmd_clear): Likewise.
40009 (list_variables): New function.
40010 (write_envblk): Likewise.
40011 (set_variables): Likewise.
40012 (unset_variables): Likewise.
40013 (main): Complete rewrite.
40014
40015 * commands/loadenv.c (buffer): Removed.
40016 (envblk): Likewise.
40017 (open_envblk_file): New function.
40018 (read_envblk_file): Complete rewrite.
40019 (grub_cmd_load_env): Likewise.
40020 (grub_cmd_list_env): Likewise.
40021 (struct blocklist): New struct.
40022 (free_blocklists): New function.
40023 (check_blocklists): Likewise.
40024 (write_blocklists): Likewise.
40025 (grub_cmd_save_env): Complete rewrite.
40026
40027 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40028 a plain text signature.
40029 (GRUB_ENVBLK_MAXLEN): Removed.
40030 (struct grub_envblk): Complete rewrite.
40031 (grub_envblk_find): Removed.
40032 (grub_envblk_insert): Likewise.
40033 (grub_envblk_open): New prototype.
40034 (grub_envblk_set): Likewise.
40035 (grub_envblk_delete): Put const to VALUE.
40036 (grub_envblk_iterate): Put const to NAME and VALUE.
40037 (grub_envblk_close): New prototype.
40038 (grub_envblk_buffer): New inline function.
40039 (grub_envblk_size): Likewise.
40040
40041 * lib/envblk.c: Include grub/mm.h.
40042 (grub_env_find): Removed.
40043 (grub_envblk_open): New function.
40044 (grub_envblk_close): Likewise.
40045 (escaped_value_len): Likewise.
40046 (find_next_line): Likewise.
40047 (grub_envblk_insert): Removed.
40048 (grub_envblk_set): New function.
40049 (grub_envblk_delete): Complete rewrite.
40050 (grub_envblk_iterate): Likewise.
40051
40052 2009-03-28 Robert Millan <rmh@aybabtu.com>
40053
40054 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40055 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40056 variables. Use 16-bit loader.
40057 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40058 loader.
40059 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40060 (grub_linux16_boot): ... this. Update all users.
40061 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40062 (grub_linux_boot): ... this. Update all users.
40063
40064 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40065 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40066 commands to `linux16' and `initrd16'.
40067 (GRUB_MOD_FINI(linux)): Rename to ...
40068 (GRUB_MOD_FINI(linux16)): ... this.
40069
40070 2009-03-24 Pavel Roskin <proski@gnu.org>
40071
40072 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40073 not just for compilation.
40074
40075 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40076
40077 Move multiboot helper out of kernel
40078
40079 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40080 `loader/i386/multiboot_helper.S'.
40081 * conf/i386-coreboot.rmk: Likewise
40082 * conf/i386-ieee1275.rmk: Likewise
40083
40084 * kern/i386/loader.S: Move multiboot helpers from here...
40085 * loader/i386/multiboot_helper.S: ...moved here
40086 * include/grub/i386/loader.h: Move declarations of multiboot
40087 helpers from here...
40088 * include/grub/i386/multiboot.h: ...moved here
40089 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40090
40091 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40092
40093 * kern/env.c (grub_env_context_open): Added an argument to specify
40094 whether a new context inherits exported variables from current
40095 one. This is useful when making a sandbox to interpret a config
40096 file.
40097 All callers updated.
40098
40099 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40100
40101 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40102
40103 * kern/env.c (grub_env_context_close): Fix memory leaks.
40104
40105 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40106
40107 * normal/main.c (grub_normal_execute): Added an argument
40108 BATCH to specify if an interactive interface should be provided
40109 after reading a config file.
40110 All callers updated.
40111 (read_command_list): Prevent being executed twice.
40112 (read_fs_list): Likewise.
40113
40114 * include/grub/normal.h (grub_normal_execute): Updated the
40115 prototype.
40116
40117 2009-03-22 Pavel Roskin <proski@gno.org>
40118
40119 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40120 _start.
40121 * kern/i386/pc/startup.S: Likewise.
40122 * kern/i386/efi/startup.S: Likewise.
40123 * kern/i386/ieee1275/startup.S: Likewise.
40124 * kern/i386/coreboot/startup.S: Likewise.
40125 * kern/x86_64/efi/startup.S: Likewise.
40126
40127 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40128 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40129 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40130
40131 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40132
40133 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40134
40135 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40136 limit detection.
40137 Use vaddr of correct segment for entry_point.
40138
40139 2009-03-21 Bean <bean123ch@gmail.com>
40140
40141 * commands/blocklist.c: Add include file <grub/command.h>, remove
40142 <grub/normal.h> and <grub/arg.h>.
40143 (grub_cmd_blocklist): Use the new command interface.
40144 (GRUB_MOD_INIT): Likewise.
40145 (GRUB_MOD_FINI): Likewise.
40146 * commands/boot.c: Likewise.
40147 * commands/cat.c: Likewise.
40148 * commands/cmp.c: Likewise.
40149 * commands/configfile.c: Likewise.
40150 * commands/crc.c: Likewise.
40151 * commands/echo.c: Likewise.
40152 * commands/halt.c: Likewise.
40153 * commands/handler.c: Likewise.
40154 * commands/hdparm.c: Likewise.
40155 * commands/help.c: Likewise.
40156 * commands/hexdump.c: Likewise.
40157 * commands/loadenv.c: Likewise.
40158 * commands/ls.c: Likewise.
40159 * commands/lsmmap.c: Likewise.
40160 * commands/lspci.c: Likewise.
40161 * commands/loadenv.c: Likewise.
40162 * commands/read.c: Likewise.
40163 * commands/reboot.c: Likewise.
40164 * commands/search.c: Likewise.
40165 * commands/sleep.c: Likewise.
40166 * commands/test.c: Likewise.
40167 * commands/usbtest.c: Likewise.
40168 * commands/videotest.c: Likewise.
40169 * commands/i386/cpuid.c: Likewise.
40170 * commands/i386/pc/halt.c: Likewise.
40171 * commands/i386/pc/play.c: Likewise.
40172 * commands/i386/pc/pxecmd.c: Likewise.
40173 * commands/i386/pc/vbeinfo.c: Likewise.
40174 * commands/i386/pc/vbetest.c: Likewise.
40175 * commands/ieee1275/suspend.c: Likewise.
40176 * disk/loopback.c: Likewise.
40177 * font/font_cmd.c: Likewise.
40178 * hello/hello.c: Likewise.
40179 * loader/efi/appleloader.c: Likewise.
40180 * loader/efi/chainloader.c: Likewise.
40181 * loader/i386/bsd.c: Likewise.
40182 * loader/i386/efi/linux.c: Likewise.
40183 * loader/i386/ieee1275/linux.c: Likewise.
40184 * loader/i386/linux.c: Likewise.
40185 * loader/i386/pc/chainloader.c: Likewise.
40186 * loader/i386/pc/linux.c: Likewise.
40187 * loader/powerpc/ieee1275/linux.c: Likewise.
40188 * loader/multiboot_loader.c: Likewise.
40189 * term/gfxterm.c: Likewise.
40190 * term/i386/pc/serial.c: Likewise.
40191 * term/terminfo.c: Likewise.
40192
40193 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40194 * term/i386/pc/vga.c: Likewise.
40195 * video/readers/jpeg.c: Likewise.
40196 * video/readers/png.c: Likewise.
40197 * video/readers/tga.c: Likewise.
40198
40199 * util/grub-fstest (cmd_loopback): Removed.
40200 (cmd_blocklist): Likewise.
40201 (cmd_ls): Likewise.
40202 (grub_register_command): Likewise.
40203 (grub_unregister_command): Likewise.
40204 (execute_command): Use grub_command_find to locate command and execute
40205 it.
40206
40207 * include/grub/efi/chainloader.h: Removed.
40208 * loader/efi/chainloader_normal.c: Likewise.
40209 * loader/i386/bsd_normal.c: Likewise.
40210 * loader/i386/pc/chainloader_normal.c: Likewise.
40211 * loader/i386/pc/multiboot_normal.c: Likewise.
40212 * loader/linux_normal.c: Likewise.
40213 * loader/multiboot_loader_normal.c: Likewise.
40214 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40215
40216 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40217 and grub_register_command_p1.
40218
40219 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40220 kern/command.c, lib/arg.c and commands/extcmd.c.
40221 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40222 (minicmd_mod_SOURCES): New variable.
40223 (minicmd_mod_CFLAGS): Likewise.
40224 (minicmd_mod_LDFLAGS): Likewise.
40225 (extcmd_mod_SOURCES): Likewise.
40226 (extcmd_mod_CFLAGS): Likewise.
40227 (extcmd_mod_LDFLAGS): Likewise.
40228 (boot_mod_SOURCES): Removed.
40229 (boot_mod_CFLAGS): Likewise.
40230 (boot_mod_LDFLAGS): Likewise.
40231
40232 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40233 kern/corecmd.c.
40234 (kernel_img_HEADERS): Add command.h.
40235 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40236 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40237 and lib/arg.c.
40238 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40239 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40240 remove the corresponding normal mode command.
40241 (normal_mod_SOURCES): Remove normal/arg.c.
40242 * conf/i386-coreboot.rmk: Likewise.
40243 * conf/i386-efi.rmk: Likewise.
40244 * conf/i386-ieee1275.rmk: Likewise.
40245 * conf/powerpc-ieee1275.rmk: Likewise.
40246 * conf/x86_64-efi.rmk: Likewise.
40247
40248 * include/grub/arg.h: Move from here ...
40249 * include/grub/lib/arg.h: ... to here.
40250
40251 * normal/arg.c: Move from here ...
40252 * lib/arg.c: ... to here.
40253
40254 * commands/extcmd.c: New file.
40255 * commands/minicmd.c: Likewise.
40256 * include/grub/command.h: Likewise.
40257 * include/grub/extcmd.h: Likewise.
40258 * kern/command.c: Likewise.
40259 * kern/corecmd.c: Likewise.
40260
40261 * kern/list.c (grub_list_iterate): Return int instead of void.
40262 (grub_list_insert): New function.
40263 (grub_prio_list_insert): Likewise.
40264
40265 * kern/rescue.c (grub_rescue_command): Removed.
40266 (grub_rescue_command_list): Likewise.
40267 (grub_rescue_register_command): Likewise.
40268 (grub_rescue_unregister_command): Likewise.
40269 (grub_rescue_cmd_boot): Move to minicmd.c
40270 (grub_rescue_cmd_help): Likewise.
40271 (grub_rescue_cmd_info): Likewise.
40272 (grub_rescue_cmd_boot): Likewise.
40273 (grub_rescue_cmd_testload): Likewise.
40274 (grub_rescue_cmd_dump): Likewise.
40275 (grub_rescue_cmd_rmmod): Likewise.
40276 (grub_rescue_cmd_lsmod): Likewise.
40277 (grub_rescue_cmd_exit): Likewise.
40278 (grub_rescue_print_devices): Moved to corecmd.c.
40279 (grub_rescue_print_files): Likewise.
40280 (grub_rescue_cmd_ls): Likewise.
40281 (grub_rescue_cmd_insmod): Likewise.
40282 (grub_rescue_cmd_set): Likewise.
40283 (grub_rescue_cmd_unset): Likewise.
40284 (attempt_normal_mode): Use grub_command_find to get normal module.
40285 (grub_enter_rescue_mode): Use grub_register_core_commands to register
40286 commands, remove grub_rescue_register_command calls.
40287
40288 * normal/command.c (grub_register_command): Removed.
40289 (grub_unregister_command): Likewise.
40290 (grub_command_find): Likewise.
40291 (grub_iterate_commands): Likewise.
40292 (rescue_command): Likewise.
40293 (export_command): Moved to corecmd.c.
40294 (set_command): Removed.
40295 (unset_command): Likewise.
40296 (insmod_command): Likewise.
40297 (rmmod_command): Likewise.
40298 (lsmod_command): Likewise.
40299 (grub_command_init): Likewise.
40300
40301 * normal/completion.c (iterate_command): Use cmd->prio to check for
40302 active command.
40303 (complete_arguments): Use grub_extcmd_t structure to find options.
40304 (grub_normal_do_completion): Change function grub_iterate_commands to
40305 grub_command_iterate.
40306
40307 * normal/execute.c (grub_script_execute_cmd): No need to parse
40308 argument here.
40309
40310 * normal/main.c (grub_dyncmd_dispatcher): New function.
40311 (read_command_list): Register unload commands as dyncmd.
40312 (grub_cmd_normal): Use new command interface, register rescue,
40313 unregister normal at entry, register normal, unregister rescue at exit.
40314
40315 * include/grub/list.h (grub_list_test_t): New type.
40316 (grub_list_iterate): Return int instead of void.
40317 (grub_list_insert): New function.
40318 (GRUB_AS_NAMED_LIST_P): New macro.
40319 (GRUB_AS_PRIO_LIST): Likewise.
40320 (GRUB_AS_PRIO_LIST_P): Likewise.
40321 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40322 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40323 (grub_prio_list): New structure.
40324 (grub_prio_list_insert): New function.
40325 (grub_prio_list_remove): New inline function.
40326
40327 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40328 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40329 (GRUB_COMMAND_FLAG_MENU): Likewise.
40330 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40331 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40332 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40333 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40334 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40335 (grub_command): Likewise.
40336 (grub_register_command): Likewise.
40337 (grub_command_find): Likewise.
40338 (grub_iterate_commands): Likewise.
40339 (grub_command_init): Likewise.
40340 (grub_arg_parse): Likewise.
40341 (grub_arg_show_help): Likewise.
40342
40343 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40344 (grub_rescue_unregister_command): Likewise.
40345
40346 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40347 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40348 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40349
40350 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40351 grub_rescue_cmd_initrd.
40352 * include/grub/i386/loader.h: Likewise.
40353 * include/grub/x86_64/loader.h: Likewise.
40354
40355 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40356
40357 2009-03-21 Bean <bean123ch@gmail.com>
40358
40359 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40360 instead of stat in mingw environment.
40361
40362 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40363
40364 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40365
40366 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40367 AC_CONFIG_LINKS.
40368
40369 2009-03-21 Bean <bean123ch@gmail.com>
40370
40371 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40372 out of range error.
40373
40374 2009-03-18 Michel Dänzer <michel@daenzer.net>
40375
40376 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40377 checking inode flags for EXT4_EXTENTS_FLAG.
40378
40379 2009-03-18 Robert Millan <rmh@aybabtu.com>
40380
40381 * loader/i386/linux.c: Include `<grub/video.h>' and
40382 `<grub/i386/pc/vbe.h>'..
40383 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40384 (grub_linux32_boot): Attempt to configure video settings with
40385 grub_linux_setup_video().
40386 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40387 to avoid grub_console_fini() which would step out of graphical mode
40388 unconditionally.
40389
40390 2009-03-14 Robert Millan <rmh@aybabtu.com>
40391
40392 Fix build on powerpc.
40393 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40394
40395 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40396
40397 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40398 background image command.
40399
40400 2009-03-12 Colin D Bennett <colin@gibibit.com>
40401
40402 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40403 (grub_gfxterm_putchar): Extract pairs of identical calls to
40404 draw_cursor out of conditional blocks.
40405
40406 2009-03-11 Pavel Roskin <proski@gnu.org>
40407
40408 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40409 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40410
40411 2009-03-11 Robert Millan <rmh@aybabtu.com>
40412
40413 * loader/i386/multiboot_elfxx.c
40414 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40415
40416 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
40417
40418 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40419 `kern/handler.c'.
40420
40421 2009-03-11 Robert Millan <rmh@aybabtu.com>
40422
40423 * loader/i386/multiboot.c (code_size): New variable.
40424 (grub_multiboot): Define offsets by adding to `code_size' rather
40425 than subtracting from `grub_multiboot_payload_size'. Provide
40426 4-byte alignment to MBI and others by increasing
40427 `boot_loader_name_length' appropriately.
40428
40429 * loader/i386/multiboot_elfxx.c
40430 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40431
40432 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
40433
40434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40435 `fs/ext2.c'.
40436
40437 2009-03-08 Robert Millan <rmh@aybabtu.com>
40438
40439 Make loader/i386/linux.c usable on i386-pc again.
40440
40441 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40442 memory to heap.
40443 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40444 `#error' stanza.
40445
40446 2009-03-07 Bean <bean123ch@gmail.com>
40447
40448 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40449 allocation.
40450
40451 2009-03-06 Robert Millan <rmh@aybabtu.com>
40452
40453 Fix display issue on terminals with screen size other than 80x25
40454 (e.g. gfxterm with resolution higher than 640x480).
40455
40456 * normal/main.c (grub_normal_init_page): Display title text in a
40457 position relative to the center of the terminal instead of relying
40458 on a hardcoded offset.
40459
40460 2009-03-04 Robert Millan <rmh@aybabtu.com>
40461
40462 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40463 installed.
40464
40465 * Makefile.in (host_kernel): New variable.
40466 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40467 scripts instead of just the windows one.
40468 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40469
40470 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40471
40472 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40473 `kern/handler.c'.
40474 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40475 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40476 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40478 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40479 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40480
40481 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40482
40483 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40484 or if there's no space for the disk label and print the partition number on a
40485 invalid magic.
40486
40487 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40488
40489 * util/misc.c: Include <time.h>.
40490 (grub_millisleep): New function.
40491
40492 2009-03-04 Bean <bean123ch@gmail.com>
40493
40494 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40495 another option -mno-red-zone.
40496
40497 * commands/handler.c: Change module description.
40498
40499 * kern/handler.c: Add missing space at the end of description line.
40500
40501 * kern/list.c: Likewise.
40502
40503 2009-03-03 Robert Millan <rmh@aybabtu.com>
40504
40505 Move more components to the relocation area, and fix mbi pointer
40506 handling to use the destination rather than the origin (thanks to
40507 Vladimir Serbinenko for spotting).
40508
40509 * loader/i386/multiboot.c (mbi_dest): New variable.
40510 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40511 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40512 relocation area.
40513
40514 2009-03-01 Bean <bean123ch@gmail.com>
40515
40516 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
40517 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40518 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40519 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40520
40521 * loader/i386/efi/linux.c (acpi_guid): New variable.
40522 (acpi_guid): Likewise.
40523 (EBDA_SEG_ADDR): New constant.
40524 (LOW_MEM_ADDR): Likewise.
40525 (FAKE_EBDA_SEG): Likewise.
40526 (fake_bios_data): New function.
40527 (grub_linux_boot): Call fake_bios_data.
40528
40529 2009-03-01 Bean <bean123ch@gmail.com>
40530
40531 * commands/terminal.c: Removed.
40532
40533 * commands/handler.c: New file.
40534
40535 * include/grub/list.h: Likewise.
40536
40537 * include/grub/handler.h: Likewise.
40538
40539 * kern/list.c: Likewise.
40540
40541 * kern/handler.c: Likewise.
40542
40543 * kern/term.h: Include header file <grub/handler.h>.
40544 (grub_term_input): Move next field to the beginning.
40545 (grub_term_output): Likewise.
40546 (grub_term_input_class): New variable.
40547 (grub_term_output_class): Likewise.
40548 (grub_term_register_input): Changed to inline function.
40549 (grub_term_register_output): Likewise.
40550 (grub_term_unregister_input): Likewise.
40551 (grub_term_unregister_output): Likewise.
40552 (grub_term_set_current_input): Likewise.
40553 (grub_term_set_current_output): Likewise.
40554 (grub_term_get_current_input): Likewise.
40555 (grub_term_get_current_output): Likewise.
40556 (grub_term_iterate_input): Removed.
40557 (grub_term_iterate_output): Likewise.
40558
40559 * kern/term.c (grub_term_list_input): Removed.
40560 (grub_term_list_output): Likewise.
40561 (grub_term_input_class): New variable.
40562 (grub_term_output_class): Likewise.
40563 (grub_cur_term_input): Change variable as macro.
40564 (grub_cur_term_output): Likewise.
40565 (grub_term_register_input): Removed.
40566 (grub_term_register_output): Likewise.
40567 (grub_term_unregister_input): Likewise.
40568 (grub_term_unregister_output): Likewise.
40569 (grub_term_set_current_input): Likewise.
40570 (grub_term_set_current_output): Likewise.
40571 (grub_term_iterate_input): Likewise.
40572 (grub_term_iterate_output): Likewise.
40573 (grub_term_get_current_input): Likewise.
40574 (grub_term_get_current_output): Likewise.
40575
40576 * util/grub-editenv.c: Include header file <grub/handler.h>.
40577 (grub_term_get_current_input): Removed.
40578 (grub_term_get_current_output): Likewise.
40579 (grub_term_input_class): New variable.
40580 (grub_term_output_class): Likewise.
40581
40582 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40583 (grub_term_get_current_output): Likewise.
40584 (grub_term_input_class): New variable.
40585 (grub_term_output_class): Likewise.
40586
40587 * util/grub-probe.c (grub_term_get_current_input): Removed.
40588 (grub_term_get_current_output): Likewise.
40589 (grub_term_input_class): New variable.
40590 (grub_term_output_class): Likewise.
40591
40592 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40593 (grub_term_get_current_output): Likewise.
40594 (grub_term_input_class): New variable.
40595 (grub_term_output_class): Likewise.
40596
40597 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40598 (terminal_mod_SOURCES): Likewise.
40599 (terminal_mod_CFLAGS): Likewise.
40600 (terminal_mod_LDFLAGS): Likewise.
40601
40602 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40603 handler.c.
40604 (kernel_img_SOURCES): Add list.c and handler.c.
40605 (kernel_img_HEADERS): Add list.h and handler.h.
40606
40607 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40608 handler.c.
40609 (kernel_mod_SOURCES): Add list.c and handler.c.
40610 (kernel_mod_HEADERS): Add list.h and handler.h.
40611
40612 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40613 handler.c.
40614 (kernel_elf_SOURCES): Add list.c and handler.c.
40615 (kernel_elf_HEADERS): Add list.h and handler.h.
40616
40617 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40618 handler.c.
40619 (kernel_elf_SOURCES): Add list.c and handler.c.
40620 (kernel_elf_HEADERS): Add list.h and handler.h.
40621
40622 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40623 handler.c.
40624 (kernel_mod_SOURCES): Add list.c and handler.c.
40625 (kernel_mod_HEADERS): Add list.h and handler.h.
40626
40627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40628 handler.c.
40629 (kernel_elf_SOURCES): Add list.c and handler.c.
40630 (kernel_elf_HEADERS): Add list.h and handler.h.
40631
40632 2009-02-27 Robert Millan <rmh@aybabtu.com>
40633
40634 Factorize elf32 / elf64 code in Multiboot loader. This will
40635 prevent it from getting out of sync again.
40636
40637 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40638 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40639 grub_multiboot_load_elf64): Move from here ...
40640 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40641 grub_multiboot_load_elf): ... to here (new file).
40642
40643 2009-02-27 Robert Millan <rmh@aybabtu.com>
40644
40645 * util/grub.d/10_linux.in: Rename "single-user mode" to
40646 "recovery mode".
40647
40648 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40649
40650 Don't leak in SCSI code.
40651 * disk/scsi.c (grub_scsi_close): free `scsi'.
40652
40653 2009-02-27 Robert Millan <rmh@aybabtu.com>
40654
40655 * loader/i386/pc/multiboot.c: Move from here ...
40656 * loader/i386/multiboot.c: ... to here. Update all users.
40657
40658 2009-02-27 Robert Millan <rmh@aybabtu.com>
40659
40660 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40661 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40662
40663 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
40664
40665 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40666 b-tree.
40667
40668 2009-02-27 Robert Millan <rmh@aybabtu.com>
40669
40670 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40671 `0x' qualifier as 0 when base is specified as parameter).
40672
40673 2009-02-24 Bean <bean123ch@gmail.com>
40674
40675 * configure.ac: Check for -mcmodel=large in x86_64 target.
40676
40677 * include/grub/efi/api.h (efi_call_10): New macro.
40678 (efi_wrap_10): New function.
40679
40680 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40681 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40682 (GRUB_PE32_REL_BASED_LOW): Likewise.
40683 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40684 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40685 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40686 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40687 (GRUB_PE32_REL_BASED_REL): Likewise.
40688 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40689 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40690 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40691
40692 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40693 issue.
40694
40695 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40696 (efi_wrap_10): New function.
40697
40698 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40699
40700 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40701 MB/MBP model (NV chipset).
40702 (devdata_devs): Add devpath_5 to the list.
40703
40704 * load/i386/efi/linux.c (video_base): Remove variable.
40705 (RGB_MASK): New macro.
40706 (RGB_MAGIC): Likewise.
40707 (LINE_MIN): Likewise.
40708 (LINE_MAX): Likewise.
40709 (FBTEST_STEP): Likewise.
40710 (FBTEST_COUNT): Likewise.
40711 (fb_list): New variable.
40712 (grub_find_video_card): Remove function.
40713 (find_framebuf): New function.
40714 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40715 line length.
40716
40717 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40718 problem for x86_64.
40719
40720 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40721
40722 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40723
40724 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40725 coding tool name.
40726
40727 2009-02-22 Robert Millan <rmh@aybabtu.com>
40728
40729 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40730 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40731 in our relocation, instead of using it directly from heap. Also
40732 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40733
40734 2009-02-21 Robert Millan <rmh@aybabtu.com>
40735
40736 Implement USB keyboard support (based on patch by Marco Gerards)
40737
40738 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40739 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40740 (usb_keyboard_mod_LDFLAGS): New variables.
40741
40742 * term/usb_keyboard.c: New file.
40743
40744 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40745
40746 Corrected wrong declaration
40747
40748 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40749
40750 2009-02-14 Christian Franke <franke@computer.org>
40751
40752 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40753 (grub_lspci_iter): Print class code and programming interface byte.
40754
40755 2009-02-14 Christian Franke <franke@computer.org>
40756
40757 * gendistlist.sh: Ignore `.svn' directories.
40758
40759 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
40760
40761 * fs/fat.c: Add 2009 to Copyright line.
40762
40763 2009-02-14 Christian Franke <franke@computer.org>
40764
40765 * commands/hdparm.c: New file. Provides `hdparm' command
40766 which sends ATA commands via grub_disk_ata_pass_through ().
40767
40768 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40769
40770 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40771 and <grub/cpu/io.h> to include/grub/ata.h.
40772 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40773 (GRUB_CDROM_SECTOR_SIZE): Remove.
40774 (GRUB_ATA_*): Move to include/grub/ata.h.
40775 (GRUB_ATAPI_*): Likewise.
40776 (enum grub_ata_commands): Likewise.
40777 (enum grub_ata_timeout_milliseconds): Likewise.
40778 (struct grub_ata_device): Likewise.
40779 (grub_ata_regset): Likewise.
40780 (grub_ata_regget): Likewise.
40781 (grub_ata_regset2): Likewise.
40782 (grub_ata_regget2): Likewise.
40783 (grub_ata_check_ready): Likewise.
40784 (grub_ata_wait_not_busy): Remove static, exported in
40785 include/grub/ata.h.
40786 (grub_ata_wait_drq): Likewise.
40787 (grub_ata_pio_read): Likewise.
40788
40789 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40790 function for hdparm.mod.
40791
40792 * include/grub/ata.h: New file, contains declarations from
40793 disk/ata.c.
40794 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40795
40796 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40797 (grub_disk_ata_pass_through): New exported variable.
40798
40799 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40800
40801 2009-02-13 Colin D Bennett <colin@gibibit.com>
40802
40803 Support multiple fallback entries, and provide an API to support
40804 executing default+fallback menu entries. Renamed the `terminal' menu
40805 viewer to `text'.
40806
40807 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40808 variable declaration.
40809 (grub_menu_execute_callback): New structure declaration.
40810 (grub_menu_execute_callback_t): New typedef.
40811 (grub_menu_execute_with_fallback): New function declaration.
40812 (grub_menu_get_entry): Likewise.
40813 (grub_menu_get_timeout): Likewise.
40814 (grub_menu_set_timeout): Likewise.
40815
40816 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40817
40818 * normal/menu.c (grub_wait_after_message): Moved to
40819 `normal/menu_text.c'.
40820 (draw_border): Likewise.
40821 (print_message): Likewise.
40822 (print_entry): Likewise.
40823 (print_entries): Likewise.
40824 (grub_menu_init_page): Likewise.
40825 (get_entry_number): Likewise.
40826 (print_timeout): Likewise.
40827 (run_menu): Likewise.
40828 (grub_menu_execute_entry): Likewise.
40829 (show_text_menu): Likewise.
40830 (get_and_remove_first_entry_number): New function.
40831 (grub_menu_execute_with_fallback): Likewise.
40832 (get_entry): Renamed to ...
40833 (grub_menu_get_entry): .. this and made it global.
40834 (get_timeout): Renamed to ...
40835 (grub_menu_get_timeout): ... this and made it global.
40836 (set_timeout): Renamed to ...
40837 (grub_menu_set_timeout): ... this and made it global.
40838 (grub_normal_terminal_menu_viewer): Renamed to ...
40839 (grub_normal_text_menu_viewer): ... this.
40840
40841 * normal/menu_text.c: New file. Extracted text-menu-specific code
40842 from normal/menu.c.
40843
40844 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40845 (normal_mod_SOURCES): Likewise.
40846
40847 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40848 (normal_mod_SOURCES): Likewise.
40849
40850 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40851 (normal_mod_SOURCES): Likewise.
40852
40853 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40854 (normal_mod_SOURCES): Likewise.
40855
40856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40857 (normal_mod_SOURCES): Likewise.
40858
40859 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40860 (normal_mod_SOURCES): Likewise.
40861
40862 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40863 (normal_mod_SOURCES): Likewise.
40864
40865 2009-02-11 Robert Millan <rmh@aybabtu.com>
40866
40867 * util/grub.d/00_header.in: Update old reference to `font' command.
40868
40869 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
40870
40871 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40872
40873 Based on patch from Javier Martín.
40874
40875 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40876
40877 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
40878 to avoid false positives with FAT.
40879 (grub_fstest_SOURCES): Likewise.
40880 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40881 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40883 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40884 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40885 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40886
40887 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40888
40889 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
40890 bpb.version_specific.fat12_or_fat16.fstype and
40891 bpb.version_specific.fat32.fstype.
40892
40893 2009-02-08 Robert Millan <rmh@aybabtu.com>
40894
40895 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
40896
40897 2009-02-08 Robert Millan <rmh@aybabtu.com>
40898
40899 * Makefile.in (host_os, host_cpu): New variables.
40900 (target_os): Remove. Update all users.
40901
40902 2009-02-08 Marco Gerards <marco@gnu.org>
40903
40904 * Makefile.in (enable_grub_emu_usb): New variable.
40905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40906 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40907 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40908 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40909 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40910 `usbtest.mod' and `usbms.mod'.
40911 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40912 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40913 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40914 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40915 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40916 variables.
40917
40918 * disk/usbms.c: New file.
40919
40920 * include/grub/usb.h: Likewise.
40921
40922 * include/grub/usbtrans.h: Likewise.
40923
40924 * include/grub/usbdesc.h: Likewise.
40925
40926 * bus/usb/usbtrans.c: Likewise.
40927
40928 * bus/usb/ohci.c: Likewise.
40929
40930 * bus/usb/uhci.c: Likewise.
40931
40932 * bus/usb/usbhub.c: Likewise.
40933
40934 * bus/usb/usb.c: Likewise.
40935
40936 * commands/usbtest.c: Likewise.
40937
40938 * util/usb.c: Likewise.
40939
40940 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40941
40942 * configure.ac: Test for libusb presence.
40943
40944 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40945
40946 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40947
40948 * kern/mm.c: Add more comments.
40949
40950 2009-02-08 Robert Millan <rmh@aybabtu.com>
40951
40952 Patch from Javier Martín.
40953 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40954 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40955
40956 2009-02-08 Robert Millan <rmh@aybabtu.com>
40957
40958 * fs/cpio.c: Split tar functionality to ...
40959 * fs/tar.c: ... here (new file). Update all users.
40960
40961 2009-02-07 Robert Millan <rmh@aybabtu.com>
40962
40963 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40964 backward-incompatible features.
40965
40966 Based on patch from Javier Martín, with some adjustments.
40967
40968 2009-02-07 Michael Scherer <misc@mandriva.org>
40969
40970 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40971
40972 2009-02-07 Robert Millan <rmh@aybabtu.com>
40973
40974 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
40975 position of `disk/lvm.c' to ensure grub_init_all() always picks it
40976 after the RAID stuff.
40977
40978 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
40979
40980 Fixes problem when running vbetest command as reported by
40981 Vladimir Serbinenko <phcoder@gmail.com>.
40982
40983 * (grub_vbe_set_video_mode): Fixed problem with text modes.
40984
40985 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
40986
40987 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
40988 /dev/md/NpN style mdraid devices.
40989
40990 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
40991
40992 * util/unifont2pff.rb: Remove.
40993
40994 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
40995
40996 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
40997 `#'.
40998
40999 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41000
41001 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41002 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41003 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41004 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41007 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41008
41009 2009-02-02 Christian Franke <franke@computer.org>
41010
41011 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41012
41013 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
41014
41015 * INSTALL: Note that we now require at least autoconf 2.59 and
41016 that LZO is optional.
41017
41018 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41019
41020 Base on patch on bug #24154 created by Tomas Tintera
41021 <trosos@seznam.cz>.
41022
41023 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41024
41025 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41026
41027 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
41028 <bero@arklinux.org>.
41029
41030 * normal/parser.y (script_init): Add missing semicolon.
41031
41032 2009-01-31 Colin D Bennett <colin@gibibit.com>
41033
41034 * normal/main.c: Add include to grub/menu_viewer.h.
41035 (free_menu_entry_classes): Added.
41036 (grub_normal_menu_addentry): Added class property handling.
41037 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41038 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41039
41040 * normal/menu_viewer.c: New file.
41041
41042 * normal/menu.c (run_menu_entry): Renamed to ...
41043 (grub_menu_execute_entry): ... this and made it as global.
41044 (grub_menu_run): Renamed to ...
41045 (show_text_menu): ... this and made it local.
41046 (show_text_menu): Adapt to new function names.
41047 (grub_normal_terminal_menu_viewer): New global variable.
41048
41049 * include/grub/menu.h: New file.
41050
41051 * include/grub/menu_viewer.h: New file.
41052
41053 * include/grub/normal.h: Added include to grub/menu.h.
41054 (grub_menu_entry): Moved to include/grub/menu.h.
41055 (grub_menu_entry_t): Likewise.
41056 (grub_menu): Likewise.
41057 (grub_menu_t): Likewise.
41058 (grub_normal_terminal_menu_viewer): Added.
41059 (grub_menu_execute_entry): Likewise.
41060 (grub_menu_run): Removed.
41061
41062 * DISTLIST: Added include/grub/menu.h.
41063 Added include/grub/menu_viewer.h.
41064 Added normal/menu_viewer.c.
41065
41066 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41067
41068 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41069 arglist for menutitle arguments.
41070
41071 * normal/main.c (grub_normal_menu_addentry): Likewise.
41072
41073 * normal/parser.y (menuentry): Likewise.
41074
41075 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41076
41077 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41078 (grub_script_create_cmdmenu): Likewise.
41079
41080 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41081
41082 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41083 changes.
41084
41085 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41086
41087 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41088
41089 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41090
41091 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41092
41093 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41094
41095 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41096
41097 2009-01-30 Christian Franke <franke@computer.org>
41098
41099 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41100 in option help text.
41101
41102 2009-01-27 Pavel Roskin <proski@gnu.org>
41103
41104 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41105
41106 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41107
41108 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41109
41110 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41111
41112 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41113 unregister function.
41114
41115 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41116
41117 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41118
41119 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41120
41121 * util/grub-mkfont.c (usage): Fix typo.
41122
41123 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41124
41125 2009-01-26 Daniel Mierswa <impulze@impulze.org>
41126
41127 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41128
41129 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41130
41131 * kern/misc.c (grub_strcasecmp): New function.
41132 (grub_strcasecmp): Use grub_size_t instead of int for length.
41133 Fix return value.
41134 * include/grub/misc.h: Update function prototypes.
41135
41136 2009-01-26 Robert Millan <rmh@aybabtu.com>
41137
41138 * configure.ac: Fix cross-compilation check.
41139
41140 2009-01-22 Christian Franke <franke@computer.org>
41141
41142 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41143 (precision) digit string. Allow `.format2' without `format1' (width).
41144 Limit input chars for `%s' output to `format2' if specified. This is
41145 compatible with standard printf ().
41146
41147 2009-01-22 Christian Franke <franke@computer.org>
41148
41149 * disk/ata.c (grub_ata_wait_status): Replace by ...
41150 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41151 other status bits may be invalid while BSY is asserted.
41152 (grub_ata_check_ready): New function.
41153 (grub_ata_cmd): Removed.
41154 (grub_ata_wait_drq): New function.
41155 (grub_ata_strncpy): Remove inline.
41156 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41157 and error check now done by grub_ata_wait_drq ().
41158 (grub_ata_pio_write): Likewise.
41159 (grub_atapi_identify): Set DEV before check for !BSY. Use
41160 grub_ata_wait_drq () to wait for data.
41161 (grub_ata_device_initialize): Add status register check to
41162 detect missing SATA slave devices. Add debug messages.
41163 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41164 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41165 transfer loop by grub_ata_pio_write ().
41166 (grub_ata_identify): Set DEV before check for !BSY. Use
41167 grub_ata_wait_drq () to wait for data.
41168 (grub_ata_setaddress): Set DEV before check for !BSY.
41169 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41170 read/write in one loop. Fix invalid command on write. Fix incomplete
41171 command on (size % batch) == 0. Add missing error check after write of
41172 last block. Add debug messages.
41173 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41174
41175 2009-01-19 Christian Franke <franke@computer.org>
41176
41177 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41178 (GRUB_ATAPI_IREASON_*): Likewise.
41179 (grub_ata_pio_write): Fix timeout error return.
41180 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41181 (grub_atapi_wait_drq): New function.
41182 (grub_atapi_packet): New parameter `size'.
41183 Use grub_atapi_wait_drq () and direct write instead of
41184 grub_ata_pio_write ().
41185 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41186 reads the number of bytes requested by the device for each DRQ
41187 assertion.
41188 (grub_atapi_write): Remove old implementation, return not
41189 implemented instead.
41190
41191 2009-01-19 Christian Franke <franke@computer.org>
41192
41193 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41194 of 512 to calculate data size.
41195 (grub_scsi_read12): Likewise.
41196 (grub_scsi_write10): Likewise.
41197 (grub_scsi_write12): Likewise.
41198 (grub_scsi_read): Adjust size according to blocksize.
41199 Add checks for invalid blocksize and unaligned transfer.
41200
41201 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41202
41203 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41204
41205 * term/gfxterm.c (write_char): Fix background rendering for wide
41206 width glyphs.
41207
41208 2009-01-19 Robert Millan <rmh@aybabtu.com>
41209
41210 * config.guess: Update to latest version from config git.
41211 * config.sub: Likewise.
41212
41213 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
41214
41215 * Makefile.in: Change font compilation to use new grub-mkfont instead
41216 of java version.
41217
41218 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41219 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41220 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41221 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41222 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41223 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41224 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41225 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41226 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41227
41228 2009-01-16 Christian Franke <franke@computer.org>
41229
41230 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41231 (enum grub_ata_timeout_milliseconds): New enum.
41232 (grub_ata_wait_status): Add parameter milliseconds.
41233 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41234 recovery from timed-out commands.
41235 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41236 return grub_errno instead of REG_ERROR.
41237 (grub_ata_pio_write): Add parameter milliseconds.
41238 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41239 Pass milliseconds to grub_ata_wait_status () and
41240 grub_ata_pio_read ().
41241 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41242 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41243 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41244 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41245 It is not suitable for device detection, because DEV bit is ignored,
41246 the command may run too long, and not all devices set the signature
41247 properly.
41248 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41249 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41250 Fix device selection, DEV bit must be set first to address the registers
41251 of the correct device.
41252 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41253 grub_ata_pio_read/write ().
41254 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41255 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41256
41257 2009-01-13 Carles Pina i Estany <carles@pina.cat>
41258
41259 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41260
41261 2009-01-13 Bean <bean123ch@gmail.com>
41262
41263 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41264
41265 2009-01-13 Bean <bean123ch@gmail.com>
41266
41267 * Makefile.in: (enable_grub_mkfont): New variable.
41268 (freetype_cflags): Likewise.
41269 (freetype_libs): Likewise.
41270
41271 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41272 (grub_mkfont_SOURCES): New variable.
41273 (grub_mkfont_CFLAGS): Likewise.
41274 (grub_mkfont_LDFLAGS): Likewise.
41275
41276 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41277 library if `--enable-grub-mkfont' is requested.
41278 (enable_grub_mkfont): New variable.
41279 (freetype_cflags): Likewise.
41280 (freetype_libs): Likewise.
41281
41282 * util/grub-mkfont.c: New file.
41283
41284 2009-01-12 Christian Franke <franke@computer.org>
41285
41286 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41287 mode check. Fix setting of compat_use[].
41288
41289 2009-01-10 Robert Millan <rmh@aybabtu.com>
41290
41291 Update a few copyright years which we forgot to do in 2008 (only for
41292 files whose changes made in 2008 were copyright-significant)
41293
41294 * Makefile.in: Add 2008 to Copyright line.
41295 * disk/ieee1275/ofdisk.c: Likewise.
41296 * disk/efi/efidisk.c: Likewise.
41297 * kern/dl.c: Likewise.
41298 * kern/sparc64/ieee1275/init.c: Likewise.
41299 * kern/mm.c: Likewise.
41300 * kern/efi/mm.c: Likewise.
41301 * boot/i386/pc/boot.S: Likewise.
41302 * genfslist.sh: Likewise.
41303 * fs/iso9660.c: Likewise.
41304 * fs/hfs.c: Likewise.
41305 * fs/jfs.c: Likewise.
41306 * fs/minix.c: Likewise.
41307 * fs/ufs.c: Likewise.
41308 * gensymlist.sh.in: Likewise.
41309 * genkernsyms.sh.in: Likewise.
41310 * include/grub/misc.h: Likewise.
41311 * include/grub/types.h: Likewise.
41312 * include/grub/symbol.h: Likewise.
41313 * include/grub/elf.h: Likewise.
41314 * include/grub/kernel.h: Likewise.
41315 * include/grub/disk.h: Likewise.
41316 * include/grub/dl.h: Likewise.
41317 * include/grub/i386/linux.h: Likewise.
41318 * include/grub/i386/pc/biosdisk.h: Likewise.
41319 * include/grub/efi/api.h: Likewise.
41320 * include/grub/efi/pe32.h: Likewise.
41321 * include/grub/util/misc.h: Likewise.
41322 * normal/execute.c: Likewise.
41323 * normal/arg.c: Likewise.
41324 * normal/completion.c: Likewise.
41325 * normal/lexer.c: Likewise.
41326 * normal/parser.y: Likewise.
41327 * normal/misc.c: Likewise.
41328 * commands/i386/pc/vbeinfo.c: Likewise.
41329 * commands/hexdump.c: Likewise.
41330 * commands/terminal.c: Likewise.
41331 * commands/ls.c: Likewise.
41332 * commands/help.c: Likewise.
41333 * partmap/pc.c: Likewise.
41334 * loader/efi/chainloader.c: Likewise.
41335 * loader/multiboot_loader.c: Likewise.
41336 * loader/i386/pc/multiboot2.c: Likewise.
41337 * term/efi/console.c: Likewise.
41338 * term/i386/pc/serial.c: Likewise.
41339 * util/lvm.c: Likewise.
41340 * util/console.c: Likewise.
41341 * util/i386/efi/grub-mkimage.c: Likewise.
41342 * util/raid.c: Likewise.
41343
41344 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41345
41346 * commands/videotest.c: Removed include to grub/machine/memory.h.
41347
41348 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41349 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41350 (video_mod_SOURCES): Removed.
41351 (video_mod_CFLAGS): Likewise.
41352 (video_mod_LDFLAGS): Likewise.
41353 (gfxterm_mod_SOURCES): Likewise.
41354 (gfxterm_mod_CFLAGS): Likewise.
41355 (gfxterm_mod_LDFLAGS): Likewise.
41356 (videotest_mod_SOURCES): Likewise.
41357 (videotest_mod_CFLAGS): Likewise.
41358 (videotest_mod_LDFLAGS): Likewise.
41359 (bitmap_mod_SOURCES): Likewise.
41360 (bitmap_mod_CFLAGS): Likewise.
41361 (bitmap_mod_LDFLAGS): Likewise.
41362 (tga_mod_SOURCES): Likewise.
41363 (tga_mod_CFLAGS): Likewise.
41364 (tga_mod_LDFLAGS): Likewise.
41365 (jpeg_mod_SOURCES): Likewise.
41366 (jpeg_mod_CFLAGS): Likewise.
41367 (jpeg_mod_LDFLAGS): Likewise.
41368 (png_mod_SOURCES): Likewise.
41369 (png_mod_CFLAGS): Likewise.
41370 (png_mod_LDFLAGS): Likewise.
41371
41372 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41373 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41374 (video_mod_SOURCES): Added.
41375 (video_mod_CFLAGS): Likewise.
41376 (video_mod_LDFLAGS): Likewise.
41377 (videotest_mod_SOURCES): Likewise.
41378 (videotest_mod_CFLAGS): Likewise.
41379 (videotest_mod_LDFLAGS): Likewise.
41380 (bitmap_mod_SOURCES): Likewise.
41381 (bitmap_mod_CFLAGS): Likewise.
41382 (bitmap_mod_LDFLAGS): Likewise.
41383 (tga_mod_SOURCES): Likewise.
41384 (tga_mod_CFLAGS): Likewise.
41385 (tga_mod_LDFLAGS): Likewise.
41386 (jpeg_mod_SOURCES): Likewise.
41387 (jpeg_mod_CFLAGS): Likewise.
41388 (jpeg_mod_LDFLAGS): Likewise.
41389 (png_mod_SOURCES): Likewise.
41390 (png_mod_CFLAGS): Likewise.
41391 (png_mod_LDFLAGS): Likewise.
41392 (gfxterm_mod_SOURCES): Likewise.
41393 (gfxterm_mod_CFLAGS): Likewise.
41394 (gfxterm_mod_LDFLAGS): Likewise.
41395
41396 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41397 grub/machine/console.h.
41398
41399 2009-01-04 Jerone Young <jerone@gmail.com>
41400
41401 Make on screen instructions clearer
41402
41403 Based on patch created by Jidanni <jidanni@jidanni.org>
41404
41405 * normal/menu.c: print clearer instructions on the screen
41406
41407 2009-01-02 Colin D Bennett <colin@gibibit.com>
41408
41409 New font engine.
41410
41411 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41412 build system and fixed gfxterm.c to work with different sized fonts.
41413
41414 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
41415
41416 * configure: Re-generated.
41417
41418 * DISTLIST: Removed font/manager.c.
41419 Added font/font.c.
41420 Added font/font_cmd.c.
41421
41422 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41423 compilation.
41424
41425 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
41426
41427 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
41428
41429 * kern/term.c: Changed users of grub_utf8_to_ucs4.
41430
41431 * normal/menu.c: Likewise.
41432
41433 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41434 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
41435
41436 * include/grub/font.h: Replaced with new file.
41437
41438 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41439 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41440 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41441 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41442 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
41443 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
41444 fg_red, fg_green, fg_blue, fg_alpha.
41445 (grub_video_adapter): Removed blit_glyph.
41446 (grub_video_blit_glyph): Removed.
41447
41448 * font/manager.c: Removed file.
41449
41450 * font/font.c: New file.
41451
41452 * font/font_cmd.c: Likewise.
41453
41454 * video/video.c (grub_video_blit_glyph): Removed.
41455
41456 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41457 (grub_video_vbe_map_rgba): Likewise.
41458 (grub_video_vbe_unmap_color_int): Likewise.
41459 (grub_video_vbe_blit_glyph): Removed.
41460 (grub_video_vbe_adapter): Removed blit_glyph.
41461
41462 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41463 (get_pixel): Likewise.
41464 (set_pixel): Likewise.
41465
41466 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
41467
41468 * term/gfxterm.c: Adapted to new font engine.
41469
41470 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
41471
41472 * term/i386/pc/vga.c: Likewise.
41473
41474 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
41475
41476 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41477
41478 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41479
41480 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41481
41482 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41483
41484 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41485
41486 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41487
41488 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41489
41490 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41491
41492 * util/grub.d/00_header.in: Changed to use new loadfont command.
41493
41494 * util/grub-mkconfig_lib.in: Changed font extension.
41495
41496 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
41497
41498 * util/getroot.c (grub_util_get_grub_dev): Add support for
41499 /dev/md/dNNpNN style partitionable mdraid devices.
41500
41501 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
41502
41503 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41504 at a time limit of the PXE TFTP API correctly.
41505 (grub_pxefs_close): Likewise.
41506
41507 2008-11-29 Robert Millan <rmh@aybabtu.com>
41508
41509 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
41510 grub_ata_device_initialize() calls.
41511
41512 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
41513
41514 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41515 iteration failed.
41516 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41517
41518 2008-11-28 Robert Millan <rmh@aybabtu.com>
41519
41520 Fix build on powerpc-ieee1275. Based on patch created by
41521 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41522 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41523 `kern/ieee1275/mmap.c'.
41524 * include/grub/powerpc/ieee1275/memory.h: New file.
41525
41526 Provide grub-install on coreboot.
41527 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41528 (grub_install_SOURCES): New variable.
41529 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41530 usable on coreboot.
41531
41532 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
41533
41534 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41535 to `grub_term_input_t'.
41536 (grub_term_get_current_output): Change return type to
41537 `grub_term_output_t'.
41538
41539 2008-11-22 Robert Millan <rmh@aybabtu.com>
41540
41541 Fix breakage on coreboot due to declaration mismatch.
41542 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41543 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41544 grub_vga_text_cls().
41545
41546 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
41547 comments. Avoid copying one more byte than necessary (just in case).
41548
41549 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41550 to 0x200000 (avoids trouble with some OFW implementations, and matches
41551 with the one in Yaboot).
41552 Reported by Manoel Abranches
41553
41554 2008-11-20 Robert Millan <rmh@aybabtu.com>
41555
41556 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41557 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41558
41559 * util/grub-mkconfig_lib.in (grub_warn): New function.
41560 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41561 warnings, to obtain consistent formatting.
41562 * util/grub.d/00_header.in: Likewise.
41563 * util/update-grub_lib.in: Likewise.
41564
41565 * loader/i386/linux.c (allocate_pages): Fix a warning.
41566 Move comment text to `#error' stanza.
41567
41568 Harmonize ieee1275's grub_available_iterate() with the generic
41569 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41570 build problem on i386-ieee1275):
41571 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41572 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41573 parameter `type'. Update all users of this function.
41574 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41575 `kern/ieee1275/mmap.c'.
41576 * kern/ieee1275/init.c
41577 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41578 with ...
41579 (grub_machine_mmap_iterate): ... this.
41580 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41581 return type to `grub_err_t'. Update all implementations of this
41582 function prototype.
41583 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41584 Likewise.
41585
41586 Add `lsmmap' command (lists firmware-provided memory map):
41587 * commands/lsmmap.c: New file.
41588 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41589 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41590 variables.
41591 * conf/powerpc-ieee1275.rmk: Likewise.
41592 * conf/i386-coreboot.rmk: Likewise.
41593 * conf/i386-ieee1275.rmk: Likewise.
41594
41595 2008-11-19 Robert Millan <rmh@aybabtu.com>
41596
41597 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
41598 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41599 constraints to initrd allocation (based on code from
41600 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41601 for Linux to find it.
41602
41603 2008-11-14 Robert Millan <rmh@aybabtu.com>
41604
41605 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41606 order to cope with duplicate slashes.
41607
41608 2008-11-14 Robert Millan <rmh@aybabtu.com>
41609
41610 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41611 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41612 don't want to mess with lower memory, because it is used in the Linux
41613 loader.
41614
41615 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
41616 an appropriate place in lower memory, between 0x10000 and 0x90000,
41617 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41618 is in our heap (probably as a result of it being corrupted during
41619 decompression). Add #error instance with comment to explain why this
41620 loader isn't currently usable on PC/BIOS.
41621
41622 2008-11-14 Robert Millan <rmh@aybabtu.com>
41623
41624 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
41625 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
41626
41627 2008-11-12 Robert Millan <rmh@aybabtu.com>
41628
41629 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41630
41631 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41632 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41633 from here ...
41634 * include/grub/i386/pc/memory.h: ... to here.
41635
41636 2008-11-12 Robert Millan <rmh@aybabtu.com>
41637
41638 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41639 split).
41640
41641 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41642 (grub_console_cur_color, grub_console_real_putchar)
41643 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41644 (grub_console_setcolorstate, grub_console_setcolor)
41645 (grub_console_getcolor): Move from here ...
41646 * include/grub/i386/vga_common.h: ... to here (new file).
41647
41648 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41649 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41650 `<grub/i386/io.h>'.
41651 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41652 `<grub/i386/vga_common.h>'.
41653
41654 2008-11-12 Robert Millan <rmh@aybabtu.com>
41655
41656 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41657 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41658 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41659 variables.
41660 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41661 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41662
41663 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41664 grub_console_init() with call to grub_vga_text_init().
41665 (grub_machine_fini): Replace call to
41666 grub_console_fini() with call to grub_vga_text_fini() and
41667 grub_at_keyboard_fini().
41668
41669 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41670 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41671 (grub_console_setcolorstate, grub_console_setcolor)
41672 (grub_console_getcolor): New function prototypes.
41673
41674 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41675 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41676 (grub_vga_text_setcursor): Static-ize.
41677 (grub_vga_text_term): New structure.
41678 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41679
41680 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41681 (grub_console_cur_color, grub_console_standard_color)
41682 (grub_console_normal_color, grub_console_highlight_color)
41683 (map_char, grub_console_putchar, grub_console_getcharwidth)
41684 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41685 (grub_console_getcolor): Move from here ...
41686 * term/i386/vga_common.c: ... to here (same function names).
41687
41688 2008-11-12 Robert Millan <rmh@aybabtu.com>
41689
41690 Use newly-added Multiboot support in coreboot.
41691
41692 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41693 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41694
41695 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41696 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41697 (codestart): Store the MBI in `startup_multiboot_info' when we're
41698 being loaded using Multiboot.
41699
41700 * kern/i386/coreboot/init.c (grub_machine_init): Move
41701 grub_at_keyboard_init() call to beginning of function (useful for
41702 debugging). Call grub_machine_mmap_init() before attempting to use
41703 grub_machine_mmap_iterate().
41704 (grub_lower_mem, grub_upper_mem): Move from here ...
41705 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41706 here (new file).
41707
41708 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41709 function prototype.
41710
41711 2008-11-12 Robert Millan <rmh@aybabtu.com>
41712
41713 Fix a regression introduced by the at_keyboard.mod split. Because
41714 some terminals are default on some platforms and non-default on
41715 others, the first terminal being registered determines which is
41716 going to be default.
41717
41718 * kern/term.c (grub_term_register_input): If this is the first
41719 terminal being registered, set it as the current one.
41720 (grub_term_register_output): Likewise.
41721
41722 * term/efi/console.c (grub_console_init): Do not call
41723 grub_term_set_current_output() or grub_term_set_current_input().
41724 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41725 * term/i386/pc/console.c (grub_console_init): Likewise.
41726 (grub_console_fini): Do not call grub_term_set_current_input()
41727 (but leave grub_term_set_current_output() to restore text mode).
41728
41729 2008-11-10 Robert Millan <rmh@aybabtu.com>
41730
41731 * util/grub.d/00_header.in: Add backward compatibility check for
41732 versions of terminal.mod that don't understand `terminal_input' or
41733 `terminal_output'.
41734
41735 2008-11-09 Robert Millan <rmh@aybabtu.com>
41736
41737 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41738 `terminal_input' / `terminal_output', not `terminal'.
41739
41740 2008-11-08 Robert Millan <rmh@aybabtu.com>
41741
41742 * Makefile.in (include_DATA): Fix srcdir=. assumption.
41743 (DISTCLEANFILES): Add `build_env.mk'.
41744
41745 2008-11-08 Robert Millan <rmh@aybabtu.com>
41746
41747 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
41748 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41749 members. Update all users.
41750 * util/console.c (grub_ncurses_term): Split in ...
41751 (grub_ncurses_term_input): ... this, and ...
41752 (grub_ncurses_term_output): ... this. Update all users.
41753 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
41754
41755 2008-11-08 Robert Millan <rmh@aybabtu.com>
41756
41757 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41758 (PKGDATA): Add $(pkgdata_SRCDIR).
41759 (pkglib_BUILDDIR): New variable.
41760 (pkgdata_SRCDIR): New variable.
41761 (build_env.mk): New target.
41762 (include_DATA): New variable.
41763 (install-local): Install $(include_DATA) files in $(includedir).
41764
41765 2008-11-07 Pavel Roskin <proski@gnu.org>
41766
41767 * gendistlist.sh: Use C locale for sorting to ensure consistent
41768 output on all systems.
41769
41770 * util/grub.d/00_header.in: Remove incorrect space before
41771 "serial".
41772
41773 2008-11-07 Robert Millan <rmh@aybabtu.com>
41774
41775 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41776 per specification.
41777 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41778 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41779 (based on find_multi_boot1_header).
41780 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41781 using find_multi_boot2_header(), and abort if neither Multiboot or
41782 Multiboot headers were found.
41783
41784 2008-11-07 Robert Millan <rmh@aybabtu.com>
41785
41786 Modularize at_keyboard.mod:
41787
41788 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41789 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41790 (at_keyboard_mod_LDFLAGS): New variables.
41791
41792 Actual terminal split:
41793
41794 * include/grub/term.h (struct grub_term): Split in ...
41795 (struct grub_term_input): ... this, and ...
41796 (struct grub_term_output): ... this. Update all users.
41797 (grub_term_set_current): Split in ...
41798 (grub_term_set_current_input): ... this, and ...
41799 (grub_term_set_current_output): ... this.
41800 (grub_term_get_current): Split in ...
41801 (grub_term_get_current_input): ... this, and ...
41802 (grub_term_get_current_output): ... this.
41803 (grub_term_register): Split in ...
41804 (grub_term_register_input): ... this, and ...
41805 (grub_term_register_output): ... this.
41806 (grub_term_unregister): Split in ...
41807 (grub_term_unregister_input): ... this, and ...
41808 (grub_term_unregister_output): ... this.
41809 (grub_term_iterate): Split in ...
41810 (grub_term_iterate_input): ... this, and ...
41811 (grub_term_iterate_output): ... this.
41812
41813 * kern/term.c (grub_term_list): Split in ...
41814 (grub_term_list_input): ... this, and ...
41815 (grub_term_list_output): ... this. Update all users.
41816 (grub_cur_term): Split in ...
41817 (grub_cur_term_input): ... this, and ...
41818 (grub_cur_term_output): ... this. Update all users.
41819 (grub_term_set_current): Split in ...
41820 (grub_term_set_current_input): ... this, and ...
41821 (grub_term_set_current_output): ... this.
41822 (grub_term_get_current): Split in ...
41823 (grub_term_get_current_input): ... this, and ...
41824 (grub_term_get_current_output): ... this.
41825 (grub_term_register): Split in ...
41826 (grub_term_register_input): ... this, and ...
41827 (grub_term_register_output): ... this.
41828 (grub_term_unregister): Split in ...
41829 (grub_term_unregister_input): ... this, and ...
41830 (grub_term_unregister_output): ... this.
41831 (grub_term_iterate): Split in ...
41832 (grub_term_iterate_input): ... this, and ...
41833 (grub_term_iterate_output): ... this.
41834
41835 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41836 a check for input and one for output (and only attempt to get keys
41837 from user when input works).
41838
41839 * util/grub-probe.c (grub_term_get_current): Split in ...
41840 (grub_term_get_current_input): ... this, and ...
41841 (grub_term_get_current_output): ... this.
41842 * util/grub-fstest.c: Likewise.
41843 * util/i386/pc/grub-setup.c: Likewise.
41844 * util/grub-editenv.c: Likewise.
41845
41846 Portability adjustments:
41847
41848 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41849 `term/i386/pc/at_keyboard.c'.
41850 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41851 grub_keyboard_controller_init() (now handled by terminal .init).
41852 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41853 grub_at_keyboard_init().
41854 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41855 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41856 at_keyboard.mod via input terminal interface).
41857 * include/grub/i386/coreboot/console.h: Convert into a stub for
41858 `<grub/i386/pc/console.h>'.
41859
41860 Migrate full terminals to new API:
41861
41862 * term/efi/console.c (grub_console_term): Split into ...
41863 (grub_console_term_input): ... this, and ...
41864 (grub_console_term_output): ... this. Update all users.
41865 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41866 (grub_ofconsole_init): Split into ...
41867 (grub_ofconsole_init_input): ... this, and ...
41868 (grub_ofconsole_init_output): ... this.
41869 (grub_ofconsole_term): Split into ...
41870 (grub_ofconsole_term_input): ... this, and ...
41871 (grub_ofconsole_term_output): ... this. Update all users.
41872 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41873 (grub_serial_term_input): ... this, and ...
41874 (grub_serial_term_output): ... this. Update all users.
41875 * term/i386/pc/console.c (grub_console_term): Split into ...
41876 (grub_console_term_input): ... this, and ...
41877 (grub_console_term_output): ... this. Update all users.
41878 (grub_console_term_input): Only enable it on PC/BIOS platform.
41879 (grub_console_init): Remove grub_keyboard_controller_init() call.
41880
41881 Migrate input terminals to new API:
41882
41883 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41884 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41885 i386-specific anyway).
41886 (grub_console_checkkey): Rename to ...
41887 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41888 users.
41889 (grub_keyboard_controller_orig): New variable.
41890 (grub_console_getkey): Rename to ...
41891 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41892 users.
41893 (grub_keyboard_controller_init): Static-ize. Save original
41894 controller value so that it can be restored ...
41895 (grub_keyboard_controller_fini): ... here (new function).
41896 (grub_at_keyboard_term): New structure.
41897 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41898 functions.
41899
41900 Migrate output terminals to new API:
41901
41902 * term/i386/pc/vga.c (grub_vga_term): Change type to
41903 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41904 members. Update all users.
41905 * term/gfxterm.c (grub_video_term): Change type to
41906 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41907 members. Update all users.
41908 * include/grub/i386/pc/console.h (grub_console_checkkey)
41909 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41910 etc).
41911
41912 Migrate `terminal' command and userland tools to new API:
41913
41914 * commands/terminal.c (grub_cmd_terminal): Split into ...
41915 (grub_cmd_terminal_input): ... this, and ...
41916 (grub_cmd_terminal_output): ... this.
41917 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41918 `terminal_input' and `terminal_output'.
41919 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41920 `terminal_input' / `terminal_output' API.
41921 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41922 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41923 provided ${GRUB_TERMINAL}, convert it).
41924
41925 2008-11-04 Robert Millan <rmh@aybabtu.com>
41926
41927 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41928 for FreeBSD.
41929 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41930
41931 2008-11-03 Bean <bean123ch@gmail.com>
41932
41933 * kern/elf.c (grub_elf32_load): Revert to previous code.
41934 (grub_elf64_load): Likewise.
41935
41936 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41937
41938 2008-11-01 Robert Millan <rmh@aybabtu.com>
41939
41940 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41941 (TARGET_CPPFLAGS): Likewise.
41942 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41943
41944 2008-11-01 Carles Pina i Estany <carles@pina.cat>
41945
41946 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41947
41948 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
41949
41950 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41951 addition of objects until the code is not going to be able to fail.
41952
41953 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
41954
41955 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41956 (add a missing NULL check, and correct them by moving the pointer
41957 operations after the actual check).
41958
41959 2008-10-29 Robert Millan <rmh@aybabtu.com>
41960
41961 * util/i386/pc/grub-install.in: Handle empty string as output from
41962 make_system_path_relative_to_its_root().
41963
41964 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41965
41966 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41967 circular metadata worst case scenario. If the metadata is circular
41968 then copy the wrap in place.
41969 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41970 project lib/format_text/layout.h
41971 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41972
41973 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
41974
41975 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
41976
41977 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
41978
41979 * util/update-grub_lib.in: Mention filename in warning message.
41980
41981 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
41982
41983 * NEWS: Update for rename of update-grub to grub-mkconfig.
41984
41985 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
41986
41987 * util/update-grub_lib.in: Copy to ...
41988 * util/grub-mkconfig_lib.in: ... this. Update all users.
41989 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
41990 * util/update-grub.in: Rename to ...
41991 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
41992 option. Add `--output' option to allow users to specify the generated
41993 configuration file. Default to stdout.
41994 (update_grub_dir): Rename to ...
41995 (grub_mkconfig_dir): ... this.
41996 (grub_cfg): Default to an empty string.
41997 * conf/common.rmk (update-grub): Rename to ...
41998 (grub-mkconfig): ... this.
41999 (update-grub_lib): Copy to ...
42000 (grub-mkconfig_lib): ... this.
42001 (update-grub_SCRIPTS): Copy to ...
42002 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42003 (update-grub_DATA): Rename to ...
42004 (grub-mkconfig_DATA): ... this.
42005
42006 2008-09-28 Robert Millan <rmh@aybabtu.com>
42007
42008 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42009 to `modified'. Add the real `created' field.
42010 (grub_iso9660_uuid): Use `modified' rather than `created' for
42011 constructing the UUID.
42012
42013 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
42014
42015 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42016 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42017
42018 2008-09-28 Bean <bean123ch@gmail.com>
42019
42020 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42021 Thanks to Christian Franke for finding this bug.
42022
42023 2008-09-25 Robert Millan <rmh@aybabtu.com>
42024
42025 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42026 instances of grub_util_get_disk_name() (see previous commit).
42027
42028 2008-09-25 Robert Millan <rmh@aybabtu.com>
42029
42030 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42031 `util/i386/get_disk_name.c'.
42032 * conf/i386-efi.rmk: Likewise.
42033 * conf/x86_64-efi.rmk: Likewise.
42034 * conf/i386-coreboot.rmk: Likewise.
42035 * conf/i386-ieee1275.rmk: Likewise.
42036 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42037 `util/ieee1275/get_disk_name.c'.
42038 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42039 * util/ieee1275/get_disk_name.c: Remove file.
42040 * util/i386/get_disk_name.c: Remove file.
42041 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42042 "hd%d" for device.map entries, rather than using
42043 grub_util_get_disk_name().
42044
42045 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42046
42047 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42048 warning.
42049 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42050
42051 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42052
42053 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42054 Changed to 0x5100.
42055 (GRUB_TERM_PPAGE): Changed to 0x4900.
42056
42057 2008-09-24 Robert Millan <rmh@aybabtu.com>
42058
42059 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42060 macros (they were i386-pc specific).
42061 * include/grub/sparc64/ieee1275/console.h: Likewise.
42062 * include/grub/efi/console.h: Likewise.
42063
42064 2008-09-22 Bean <bean123ch@gmail.com>
42065
42066 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42067 resident and in attribute list.
42068
42069 * include/grub/ntfs.h (BMP_LEN): Removed.
42070
42071 2008-09-22 Bean <bean123ch@gmail.com>
42072
42073 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
42074 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42075
42076 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42077 error occurs, as grub_disk_open will call grub_disk_close, which will
42078 call p->close (scsi).
42079
42080 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42081
42082 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42083 (AC_PREREQ): Bumped to 2.59.
42084 (AC_TRY_COMPILE): Replace obsolete macro with ...
42085 (AC_COMPILE_IFELSE): ... this.
42086 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42087 (AC_LINK_IFELSE): ... this.
42088
42089 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42090
42091 * autogen.sh: Add a call to `gendistlist.sh'.
42092
42093 2008-09-19 Christian Franke <franke@computer.org>
42094
42095 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42096 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42097 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42098 Export __enable_execute_stack() to modules.
42099 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42100 New function.
42101
42102 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42103
42104 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42105 Sort the list.
42106
42107 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42108
42109 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
42110 #include <grub/util/hostdisk.h>.
42111
42112 2008-09-08 Robert Millan <rmh@aybabtu.com>
42113
42114 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42115 segments when their filesz is zero (grub_file_read() interprets
42116 zero-size as "read until EOF", which results in memory corruption).
42117 Use `lowest_segment' rather than 0 for calculating the current
42118 segment load address.
42119
42120 2008-09-08 Robert Millan <rmh@aybabtu.com>
42121
42122 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42123 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42124 clobbered useful information.
42125
42126 2008-09-08 Robert Millan <rmh@aybabtu.com>
42127
42128 * include/grub/util/biosdisk.h: Move to ...
42129 * include/grub/util/hostdisk.h: ... here. Update all users.
42130 * util/biosdisk.c: Move to ...
42131 * util/hostdisk.c: ... here. Update all users.
42132
42133 2008-09-07 Robert Millan <rmh@aybabtu.com>
42134
42135 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42136 variables.
42137 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42138 and length can be stored directly in the `mbi->mmap_addr' and
42139 `mbi->mmap_length' struct fields.
42140
42141 2008-09-07 Robert Millan <rmh@aybabtu.com>
42142
42143 * conf/i386.rmk: New file. Provides declaration for building
42144 `cpuid.mod'.
42145 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42146 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42147 variables.
42148 Include `conf/i386.mk'.
42149 * conf/i386-efi.rmk: Likewise.
42150 * conf/x86_64-efi.rmk: Likewise.
42151 * conf/i386-coreboot.rmk: Likewise.
42152 * conf/i386-ieee1275.rmk: Likewise.
42153
42154 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42155
42156 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42157 Adds optimization support for BGR based modes.
42158
42159 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42160 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42161 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42162 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42163 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42164 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42165 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42166 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42167 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42168 (grub_video_i386_vbeblit_index_index): Likewise.
42169 (grub_video_i386_vbeblit_replace_directN): Added.
42170 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42171 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42172 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42173 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42174 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42175 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42176 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42177 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42178 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42179 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42180 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42181 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42182 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42183
42184 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42185 (grub_video_i386_vbefill_R8G8B8): Likewise.
42186 (grub_video_i386_vbefill_index): Likewise.
42187 (grub_video_i386_vbefill_direct32): Added.
42188 (grub_video_i386_vbefill_direct24): Likewise.
42189 (grub_video_i386_vbefill_direct16): Likewise.
42190 (grub_video_i386_vbefill_direct8): Likewise.
42191
42192 * include/grub/video.h (grub_video_blit_format): Removed
42193 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42194 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42195 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42196 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42197 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
42198
42199 * video/video.c (grub_video_get_blit_format): Updated to use new
42200 blit formats. Added handling for 16 bit color modes.
42201
42202 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
42203 fillers.
42204 (common_blitter): Updated to use new blitters.
42205
42206 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42207 Removed.
42208 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42209 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42210 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42211 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42212 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42213 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42214 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42215 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42216 (grub_video_i386_vbeblit_index_index): Likewise.
42217 (grub_video_i386_vbeblit_replace_directN): Added.
42218 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42219 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42220 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42221 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42222 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42223 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42224 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42225 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42226 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42227 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42228 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42229 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42230 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42231
42232 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42233 (grub_video_i386_vbefill_R8G8B8): Likewise.
42234 (grub_video_i386_vbefill_index): Likewise.
42235 (grub_video_i386_vbefill_direct32): Added.
42236 (grub_video_i386_vbefill_direct24): Likewise.
42237 (grub_video_i386_vbefill_direct16): Likewise.
42238 (grub_video_i386_vbefill_direct8): Likewise.
42239
42240 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42241 types.
42242
42243 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42244 types.
42245
42246 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42247 blitter types.
42248
42249 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42250 types.
42251
42252 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42253
42254 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42255 RAID level 1.
42256
42257 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42258
42259 * fs/iso9660.c (grub_iso9660_date): New structure.
42260 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42261 (grub_iso9660_uuid): New function.
42262
42263 2008-09-05 Bean <bean123ch@gmail.com>
42264
42265 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42266
42267 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42268 insensitive bit for names in Win32 and Win32 & DOS namespace.
42269
42270 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42271
42272 * include/grub/types.h (LONG_MAX): Likewise.
42273
42274 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42275
42276 * util/getroot.c: Include <config.h>.
42277 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42278 add support for /dev/md/N devices and handle LVM double dash escaping.
42279
42280 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42281
42282 * config.guess: Update to latest version from config git.
42283 * config.sub: Likewise.
42284
42285 2008-09-03 Robert Millan <rmh@aybabtu.com>
42286
42287 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42288 `disk->total_sectors'.
42289
42290 2008-09-01 Colin D Bennett <colin@gibibit.com>
42291
42292 * include/grub/normal.h: Fixed incorrect comment for
42293 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42294
42295 2008-09-01 Colin D Bennett <colin@gibibit.com>
42296
42297 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42298 values with defines.
42299
42300 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42301 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42302 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42303 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42304 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42305 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42306 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42307 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42308 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42309 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42310 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42311 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42312 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42313 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42314 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42315 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42316 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42317 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42318 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42319
42320 2008-08-31 Robert Millan <rmh@aybabtu.com>
42321
42322 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42323 declaration.
42324 (grub_multiboot): Fix a few warnings.
42325
42326 2008-08-31 Robert Millan <rmh@aybabtu.com>
42327
42328 * loader/i386/pc/multiboot.c: Update comment not to say that
42329 boot_device support is unimplemented.
42330
42331 2008-08-31 Robert Millan <rmh@aybabtu.com>
42332
42333 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42334 or memory map support are unimplemented.
42335
42336 2008-08-31 Colin D Bennett <colin@gibibit.com>
42337
42338 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42339
42340 2008-08-31 Colin D Bennett <colin@gibibit.com>
42341
42342 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42343 total video memory in 'vbeinfo' output; show color format details for
42344 each video mode.
42345
42346 2008-08-30 Pavel Roskin <proski@gnu.org>
42347
42348 * util/genmoddep.c: Remove for real this time.
42349 * DISTLIST: Remove util/genmoddep.c.
42350
42351 2008-08-30 Robert Millan <rmh@aybabtu.com>
42352
42353 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42354 as required by Multiboot spec (it was already 4-byte aligned, but
42355 only by chance).
42356
42357 2008-08-29 Pavel Roskin <proski@gnu.org>
42358
42359 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42360 * kern/powerpc/ieee1275/startup.S: ... this.
42361 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42362 * DISTLIST: Likewise.
42363
42364 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42365 grub/cpu/kernel.h. Add start label for consistency with other
42366 platforms. Add grub_prefix immediately after start. Add jump
42367 to the code after grub_prefix.
42368 * include/grub/powerpc/kernel.h: Provide valid values for
42369 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42370
42371 2008-08-29 Bean <bean123ch@gmail.com>
42372
42373 * configure.ac: Change host_os to cygwin for mingw.
42374 (asprintf): New check for function.
42375
42376 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42377 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42378
42379 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
42380 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
42381 sync, sleep and grub_util_get_disk_size for mingw.
42382
42383 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42384 to get size in mingw.
42385 (open_device): Use flag O_BINARY if it's defined.
42386 (find_root_device): Add dummy code for mingw.
42387
42388 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42389 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42390 (get_scsi_disk_name): Return 0 for mingw.
42391
42392 * util/hostfs.c: #include <grub/util/misc.h>.
42393 (grub_hostfs_open): Use "rb" flag to open file, use
42394 grub_util_get_disk_size to get disk size for mingw.
42395
42396 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42397 (asprintf): New function if HAVE_ASPRINTF is not set.
42398 (sync): New function for mingw.
42399 (sleep): Likewise.
42400 (grub_util_get_disk_size): Likewise.
42401
42402 2008-08-28 Pavel Roskin <proski@gnu.org>
42403
42404 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42405 kern/time.c.
42406
42407 2008-08-28 Robert Millan <rmh@aybabtu.com>
42408
42409 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42410
42411 2008-08-28 Robert Millan <rmh@aybabtu.com>
42412
42413 Change find_grub_drive() syntax so it doesn't prevent it from
42414 detecting NULL names as errors.
42415
42416 * util/biosdisk.c (find_grub_drive): Move free slot search code
42417 from here ...
42418 (find_free_slot): ... to here.
42419 (read_device_map): Use find_free_slot() to search for free slots.
42420
42421 2008-08-27 Marco Gerards <marco@gnu.org>
42422
42423 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42424 (scsi_mod_SOURCES): New variable.
42425 (scsi_mod_CFLAGS): Likewise
42426 (scsi_mod_LDFLAGS): Likewise.
42427
42428 * disk/scsi.c: New file.
42429
42430 * include/grub/scsi.h: Likewise.
42431
42432 * include/grub/scsicmd.h: Likewise.
42433
42434 * disk/ata.c: Include <grub/scsi.h>.
42435 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42436 instead.
42437 (grub_ata_iterate): Skip ATAPI devices.
42438 (grub_ata_open): Only handle ATAPI devices.
42439 (struct grub_atapi_read): Removed.
42440 (grub_atapi_readsector): Likewise.
42441 (grub_ata_read): No longer handle ATAPI devices.
42442 (grub_ata_write): Likewise.
42443 (grub_atapi_iterate): New function.
42444 (grub_atapi_read): Likewise.
42445 (grub_atapi_write): Likewise.
42446 (grub_atapi_open): Likewise.
42447 (grub_atapi_close): Likewise.
42448 (grub_atapi_dev): New variable.
42449 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42450 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42451
42452 * include/grub/disk.h (enum grub_disk_dev_id): Add
42453 `GRUB_DISK_DEVICE_SCSI_ID'.
42454
42455 2008-08-26 Robert Millan <rmh@aybabtu.com>
42456
42457 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42458 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42459 descriptive.
42460
42461 2008-08-23 Bean <bean123ch@gmail.com>
42462
42463 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42464 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42465 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42466 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42467 dm_nv.mod.
42468 (raid5rec_mod_SOURCES): New macro.
42469 (raid5rec_mod_CFLAGS): Likewise.
42470 (raid5rec_mod_LDFLAGS): Likewise.
42471 (raid6rec_mod_SOURCES): Likewise.
42472 (raid6rec_mod_CFLAGS): Likewise.
42473 (raid6rec_mod_LDFLAGS): Likewise.
42474 (mdraid_mod_SOURCES): Likewise.
42475 (mdraid_mod_CFLAGS): Likewise.
42476 (mdraid_mod_LDFLAGS): Likewise.
42477 (dm_nv_mod_SOURCES): Likewise.
42478 (dm_nv_mod_CFLAGS): Likewise.
42479 (dm_nv_mod_LDFLAGS): Likewise.
42480
42481 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42482 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42483 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42484
42485 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42486 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42487
42488 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42489
42490 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42491
42492 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42493
42494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42495
42496 * disk/raid5_recover.c: New file.
42497
42498 * disk/raid6_recover.c: Likewise.
42499
42500 * disk/mdraid_linux.c: Likewise.
42501
42502 * disk/dmraid_nvidia.c: Likewise.
42503
42504 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42505 ULONG_MAX.
42506
42507 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42508 calculate the size of raid device.
42509 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42510 different layout of raid5.
42511 (grub_raid_scan_device): Remove code specific to mdraid.
42512 (grub_raid_list): New variable.
42513 (free_array): New function.
42514 (grub_raid_register): Likewise.
42515 (grub_raid_unregister): Likewise.
42516 (grub_raid_rescan): Likewise.
42517 (GRUB_MOD_INIT): Don't iterate device here.
42518 (GRUB_MOD_FINI): Use free_array to release resource.
42519
42520 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42521 (grub_raid5_recover_func_t): New function variable type.
42522 (grub_raid6_recover_func_t): Likewise.
42523 (grub_raid5_recover_func): New variable.
42524 (grub_raid6_recover_func): Likewise.
42525 (grub_raid_register): New function.
42526 (grub_raid_unregister): Likewise.
42527 (grub_raid_rescan): Likewise.
42528 (grub_raid_block_xor): Likewise.
42529
42530 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42531 (CMD_CRC): New macro.
42532 (part): Removed.
42533 (read_file): Handle device as well as file.
42534 (cmd_crc): New function.
42535 (fstest): Handle multiple disks.
42536 (options): Remove part, raw and long, add root and diskcount.
42537 (usage): Add crc, remove -p, -r, -l, add -r and -c.
42538 (main): Find the first non option entry and ignore subsequent options,
42539 add handling for the new options, support multiple disks.
42540
42541 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42542
42543 2008-08-23 Bean <bean123ch@gmail.com>
42544
42545 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42546
42547 * genfslist.sh: Ignore kernel.mod.
42548
42549 * genpartmaplist.sh: Likewise.
42550
42551 2008-08-23 Robert Millan <rmh@aybabtu.com>
42552
42553 * util/getroot.c (find_root_device): Skip anything that starts with
42554 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42555
42556 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
42557
42558 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42559 * util/grub.d/00_header.in: Allow the administrator to change default
42560 gfxmode via ${GRUB_GFXMODE}.
42561
42562 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
42563
42564 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42565
42566 2008-08-21 Robert Millan <rmh@aybabtu.com>
42567
42568 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42569 loader.
42570 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42571 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42572
42573 2008-08-20 Carles Pina i Estany <carles@pina.cat>
42574
42575 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42576 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42577
42578 2008-08-19 Robert Millan <rmh@aybabtu.com>
42579
42580 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42581 (struct grub_virtual_screen): Remove `cursor_color'.
42582 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42583 initialization.
42584 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42585
42586 2008-08-18 Robert Millan <rmh@aybabtu.com>
42587
42588 Unify (identical) linux_normal.c files.
42589 * loader/i386/efi/linux_normal.c: Move from here ...
42590 * loader/linux_normal.c: ... to here. Update all users.
42591 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42592 * loader/i386/ieee1275/linux_normal.c: Likewise.
42593
42594 2008-08-18 Robert Millan <rmh@aybabtu.com>
42595
42596 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42597 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42598 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42599 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42600 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42601 New macros.
42602 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42603 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42604 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42605 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42606 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42607 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42608 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42609 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42610 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42611 portably using grub_getxy().
42612 Replace `-EFI' with `-bzImage' in boot message.
42613
42614 2008-08-17 Robert Millan <rmh@aybabtu.com>
42615
42616 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42617
42618 2008-08-17 Robert Millan <rmh@aybabtu.com>
42619
42620 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42621
42622 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42623 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42624 (grub_machine_mmap_iterate): New function declaration.
42625 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42626 structure.
42627 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42628 macros.
42629
42630 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42631 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42632 Move e820 parsing from here ...
42633 * kern/i386/pc/mmap.c: New file.
42634 (grub_machine_mmap_iterate): ... to here.
42635
42636 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42637 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42638 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42639 (grub_available_iterate): Redeclare to return `void', and redeclare
42640 its hook to use grub_uint64_t as addr and size parameters, and rename
42641 to ...
42642 (grub_machine_mmap_iterate): ... this. Update all users.
42643
42644 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42645 to make it more readable. Rename to ...
42646 (grub_machine_mmap_iterate): ... this.
42647
42648 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42649 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42650 (grub_multiboot): Allocate an extra region after the payload, and fill
42651 it with a Multiboot memory map. Adjust a.out loader to calculate size
42652 with the extra space.
42653 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42654 with the extra space.
42655
42656 2008-08-17 Carles Pina i Estany <carles@pina.cat>
42657
42658 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
42659
42660 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
42661
42662 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42663 mdate-sh to the list `find' searches for.
42664 * DISTLIST: Regenerated.
42665
42666 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
42667
42668 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42669 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
42670 genmoddep.awk, gensymlist.sh.in.
42671 (DISTDIRS): Add bus, docs, hook, lib.
42672 * DISTLIST: Regenerated.
42673 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
42674
42675 2008-08-16 Robert Millan <rmh@aybabtu.com>
42676
42677 * disk/raid.c (grub_raid_init): Handle/report errors set by
42678 grub_device_iterate().
42679 * disk/lvm.c (grub_lvm_init): Likewise.
42680
42681 2008-08-15 Bean <bean123ch@gmail.com>
42682
42683 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42684 and datehook.mod.
42685 (datetime_mod_SOURCES): New macro.
42686 (datetime_mod_CFLAGS): Likewise.
42687 (datetime_mod_LDFLAGS): Likewise.
42688 (date_mod_SOURCES): Likewise.
42689 (date_mod_CFLAGS): Likewise.
42690 (date_mod_LDFLAGS): Likewise.
42691 (datehook_mod_SOURCES): Likewise.
42692 (datehook_mod_CFLAGS): Likewise.
42693 (datehook_mod_LDFLAGS): Likewise.
42694
42695 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42696 and datehook.mod.
42697 (datetime_mod_SOURCES): New macro.
42698 (datetime_mod_CFLAGS): Likewise.
42699 (datetime_mod_LDFLAGS): Likewise.
42700 (date_mod_SOURCES): Likewise.
42701 (date_mod_CFLAGS): Likewise.
42702 (date_mod_LDFLAGS): Likewise.
42703 (datehook_mod_SOURCES): Likewise.
42704 (datehook_mod_CFLAGS): Likewise.
42705 (datehook_mod_LDFLAGS): Likewise.
42706
42707 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42708 and datehook.mod.
42709 (datetime_mod_SOURCES): New macro.
42710 (datetime_mod_CFLAGS): Likewise.
42711 (datetime_mod_LDFLAGS): Likewise.
42712 (date_mod_SOURCES): Likewise.
42713 (date_mod_CFLAGS): Likewise.
42714 (date_mod_LDFLAGS): Likewise.
42715 (datehook_mod_SOURCES): Likewise.
42716 (datehook_mod_CFLAGS): Likewise.
42717 (datehook_mod_LDFLAGS): Likewise.
42718
42719 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42720 and datehook.mod.
42721 (datetime_mod_SOURCES): New macro.
42722 (datetime_mod_CFLAGS): Likewise.
42723 (datetime_mod_LDFLAGS): Likewise.
42724 (date_mod_SOURCES): Likewise.
42725 (date_mod_CFLAGS): Likewise.
42726 (date_mod_LDFLAGS): Likewise.
42727 (datehook_mod_SOURCES): Likewise.
42728 (datehook_mod_CFLAGS): Likewise.
42729 (datehook_mod_LDFLAGS): Likewise.
42730
42731 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42732 and datehook.mod.
42733 (datetime_mod_SOURCES): New macro.
42734 (datetime_mod_CFLAGS): Likewise.
42735 (datetime_mod_LDFLAGS): Likewise.
42736 (date_mod_SOURCES): Likewise.
42737 (date_mod_CFLAGS): Likewise.
42738 (date_mod_LDFLAGS): Likewise.
42739 (datehook_mod_SOURCES): Likewise.
42740 (datehook_mod_CFLAGS): Likewise.
42741 (datehook_mod_LDFLAGS): Likewise.
42742
42743 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42744
42745 * commands/date.c: New file.
42746
42747 * hook/datehook.c: Likewise.
42748
42749 * include/grub/lib/datetime.h: Likewise.
42750
42751 * include/grub/i386/cmos.h: Likewise.
42752
42753 * lib/datetime.c: Likewise.
42754
42755 * lib/i386/datetime.c: Likewise.
42756
42757 * lib/efi/datetime.c: Likewise.
42758
42759 2008-08-14 Robert Millan <rmh@aybabtu.com>
42760
42761 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42762 (grub_mkelfimage_SOURCES): New variable.
42763 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42764
42765 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42766 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42767 * conf/powerpc-ieee1275.rmk: Likewise.
42768 * conf/i386-ieee1275.rmk: Likewise.
42769
42770 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42771 * kern/i386/coreboot/init.c: Likewise.
42772
42773 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42774 with `<grub/cpu/kernel.h>'.
42775 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42776 to ...
42777 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42778 * kern/i386/coreboot/startup.S: Likewise.
42779
42780 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42781 (GRUB_MOD_GAP): Remove.
42782 * include/grub/powerpc/kernel.h: New file.
42783 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42784 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42785 * include/grub/i386/kernel.h: New file.
42786 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42787 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42788 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42789
42790 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42791 `grub-mkelfimage'.
42792 Use --directory when invoking grub_mkimage.
42793
42794 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42795 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42796 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42797 and GRUB_KERNEL_CPU_PREFIX.
42798
42799 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
42800
42801 * include/grub/err.h (grub_err_printf): New function prototype.
42802 * util/misc.c (grub_err_printf): New function.
42803 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42804 grub_printf.
42805 * kern/err.c (grub_print_error): Use grub_err_printf.
42806
42807 2008-08-13 Robert Millan <rmh@aybabtu.com>
42808
42809 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42810
42811 2008-08-13 Robert Millan <rmh@aybabtu.com>
42812
42813 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42814 boot entry.
42815
42816 2008-08-12 Robert Millan <rmh@aybabtu.com>
42817
42818 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42819 of the relocation code from here ...
42820 (grub_multiboot): ... to here.
42821 (forward_relocator, backward_relocator): Move from here ...
42822 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42823 (grub_multiboot_backward_relocator): ... to here.
42824 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42825 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42826 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42827 (grub_multiboot_forward_relocator_end)
42828 (grub_multiboot_backward_relocator)
42829 (grub_multiboot_backward_relocator_end): New variables.
42830
42831 2008-08-12 Bean <bean123ch@gmail.com>
42832
42833 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42834
42835 2008-08-11 Robert Millan <rmh@aybabtu.com>
42836
42837 * kern/i386/linuxbios/startup.S: Move from here ...
42838 * kern/i386/coreboot/startup.S: ... to here.
42839
42840 * kern/i386/linuxbios/init.c: Move from here ...
42841 * kern/i386/coreboot/init.c: ... to here.
42842
42843 * kern/i386/linuxbios/table.c: Move from here ...
42844 * kern/i386/coreboot/mmap.c: ... to here.
42845
42846 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42847
42848 2008-08-11 Robert Millan <rmh@aybabtu.com>
42849
42850 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42851 errors. Leave it to the upper layer to handle them.
42852
42853 2008-08-09 Christian Franke <franke@computer.org>
42854
42855 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42856 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42857 Install `grub.d/10_windows' only on Cygwin.
42858 * configure.ac: Add subst of `target_os'.
42859 Check `target_os' also before setting TARGET_OBJ2ELF.
42860 Add `--enable-grub-pe2elf'.
42861
42862 2008-08-08 Robert Millan <rmh@aybabtu.com>
42863
42864 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42865 (grub_last_time): Change type to grub_uint64_t.
42866 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42867 (grub_disk_close): Likewise.
42868
42869 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42870 (run_menu): Migrate code from to using grub_get_time_ms().
42871
42872 * util/misc.c (grub_get_time_ms): New function.
42873
42874 2008-08-08 Marco Gerards <marco@gnu.org>
42875
42876 * disk/ata.c (grub_ata_regget): Change return type to
42877 `grub_uint8_t'.
42878 (grub_ata_regget2): Likewise.
42879 (grub_ata_wait_status): New function.
42880 (grub_ata_wait_busy): Removed function, updated all users to use
42881 `grub_ata_wait_status'.
42882 (grub_ata_wait_drq): Likewise.
42883 (grub_ata_cmd): New function.
42884 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42885 error handling.
42886 (grub_ata_pio_write): Add error handling.
42887 (grub_atapi_identify): Likewise.
42888 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42889 handling.
42890 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42891 handling. Actually use the detected registers. Reorder the
42892 detection logic such that it is easier to read.
42893 (grub_ata_pciinit): Do not assign the same ID to each controller.
42894 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42895 handling.
42896 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42897
42898 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42899
42900 2008-08-08 Marco Gerards <marco@gnu.org>
42901
42902 * NEWS: Update.
42903
42904 2008-08-07 Bean <bean123ch@gmail.com>
42905
42906 * include/grub/x86_64/pci.h: New file.
42907
42908 2008-08-07 Christian Franke <franke@computer.org>
42909
42910 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42911 (TIMER2_GATE): Likewise.
42912 (grub_pit_wait): Add enable/disable of the timer2 gate
42913 bit of port 0x61. This fixes a possible infinite loop.
42914
42915 2008-08-07 Bean <bean123ch@gmail.com>
42916
42917 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42918 kern/i386/tsc.c and kern/i386/pit.c.
42919
42920 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42921 x86_64 platform.
42922
42923 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42924 <grub/i386/tsc.h>.
42925
42926 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42927
42928 2008-08-07 Bean <bean123ch@gmail.com>
42929
42930 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42931
42932 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42933
42934 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42935 multiple inclusion. Add #include <grub/types.h>.
42936
42937 2008-08-06 Christian Franke <franke@computer.org>
42938
42939 * conf/common.rmk: Build and install `10_windows'.
42940 * util/grub.d/10_windows.in: New script.
42941
42942 2008-08-06 Pavel Roskin <proski@gnu.org>
42943
42944 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42945
42946 2008-08-06 Robert Millan <rmh@aybabtu.com>
42947
42948 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42949 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42950
42951 2008-08-06 Bean <bean123ch@gmail.com>
42952
42953 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42954 (grub_pxefs_fs_int): Remove dummy definition.
42955 (grub_pxefs_open): Use data->block_size to store the current block
42956 size setting.
42957 (grub_pxefs_read): Use block size stored in data->block_size. As the
42958 value of grub_pxe_blksize can be changed after the file is opened.
42959
42960 2008-08-06 Bean <bean123ch@gmail.com>
42961
42962 * fs/i386/pc/pxe.c (curr_file): new variable.
42963 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42964 require the dummy internal file system anymore.
42965 (grub_pxefs_read): Removed.
42966 (grub_pxefs_close): Likewise.
42967 (grub_pxefs_fs_int): Likewise.
42968 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42969 connection when we switch file.
42970 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42971
42972 2008-08-06 Robert Millan <rmh@aybabtu.com>
42973
42974 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
42975 `halt.mod'.
42976 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
42977 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
42978
42979 * kern/i386/halt.c: New file.
42980 * kern/i386/reboot.c: Likewise.
42981 * include/grub/i386/reboot.h: Likewise.
42982 * include/grub/i386/halt.h: Likewise.
42983
42984 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
42985 Include `<grub/cpu/halt.h>'.
42986 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
42987 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
42988
42989 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
42990 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
42991 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
42992 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
42993 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
42994 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
42995 from here ...
42996 * include/grub/i386/at_keyboard.h: ... to here.
42997
42998 2008-08-05 Robert Millan <rmh@aybabtu.com>
42999
43000 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43001 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43002 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43003 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43004 `kern/generic/millisleep.c'.
43005
43006 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43007 instead of grub_get_rtc().
43008 (grub_tsc_init): Initialize `tsc_boot_time'.
43009
43010 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43011 (grub_machine_init): Use grub_tsc_init() rather than
43012 installing an RTC-based handler via grub_install_get_time_ms().
43013
43014 * kern/i386/pit.c: New file.
43015 * include/grub/i386/pit.h: Likewise.
43016
43017 2008-08-05 Bean <bean123ch@gmail.com>
43018
43019 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43020
43021 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43022 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43023 (pxe_mod_SOURCES): New macro.
43024 (pxe_mod_CFLAGS): Likewise.
43025 (pxe_mod_LDFLAGS): Likewise.
43026 (pxecmd_mod_SOURCES): Likewise.
43027 (pxecmd_mod_CFLAGS): Likewise.
43028 (pxecmd_mod_LDFLAGS): Likewise.
43029
43030 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43031 (grub_pxe_call): Likewise.
43032
43033 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43034
43035 * commands/i386/pc/pxecmd.c: New file.
43036
43037 * fs/i386/pc/pxe.c: Likewise.
43038
43039 * include/grub/i386/pc/pxe.h: Likewise.
43040
43041 2008-08-05 Bean <bean123ch@gmail.com>
43042
43043 * util/console.c (grub_console_cur_color): New variable.
43044 (grub_console_standard_color): Likewise.
43045 (grub_console_normal_color): Likewise.
43046 (grub_console_highlight_color): Likewise.
43047 (color_map): Likewise.
43048 (use_color): Likewise.
43049 (NUM_COLORS): New macro.
43050 (grub_ncurses_setcolorstate): Handle color properly.
43051 (grub_ncurses_setcolor): Don't change color here, just remember the
43052 settings, color will be set in grub_ncurses_setcolorstate.
43053 (grub_ncurses_getcolor): New function.
43054 (grub_ncurses_init): Initialize color pairs.
43055 (grub_ncurses_term): New member grub_ncurses_getcolor.
43056
43057 2008-08-05 Colin D Bennett <colin@gibibit.com>
43058
43059 High resolution timer support. Implemented for x86 CPUs using TSC.
43060 Extracted generic grub_millisleep() so it's linked in only as needed.
43061 This requires a Pentium compatible CPU; if the RDTSC instruction is
43062 not supported, then it falls back on the generic grub_get_time_ms()
43063 implementation that uses the machine's RTC.
43064
43065 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43066 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43067 `kern/generic/millisleep.c'.
43068
43069 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43070 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43071
43072 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43073 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43074
43075 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43076
43077 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43078 `kern/generic/millisleep.c'.
43079
43080 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43081
43082 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43083
43084 * kern/generic/rtc_get_time_ms.c: New file.
43085
43086 * kern/generic/millisleep.c: New file.
43087
43088 * kern/misc.c: Don't include
43089 <kern/time.h> anymore.
43090 (grub_millisleep_generic): Removed.
43091
43092 * commands/sleep.c (grub_interruptible_millisleep): Uses
43093 grub_get_time_ms() instead of grub_get_rtc().
43094
43095 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43096 function.
43097 (grub_cpu_is_cpuid_supported): New inline function.
43098 (grub_cpu_is_tsc_supported): New inline function.
43099 (grub_tsc_init): New function prototype.
43100 (grub_tsc_get_time_ms): New function prototype.
43101
43102 * kern/i386/tsc.c (grub_get_time_ms): New file.
43103
43104 * include/grub/time.h: Include <grub/types.h.
43105 (grub_millisleep_generic): Removed.
43106 (grub_get_time_ms): New prototype.
43107 (grub_install_get_time_ms): New prototype.
43108 (grub_rtc_get_time_ms): New prototype.
43109
43110 * kern/time.c (grub_get_time_ms): New function.
43111 (grub_install_get_time_ms): New function.
43112
43113 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43114 <grub/time.h> anymore.
43115 (grub_millisleep): Removed.
43116 (grub_machine_init): Call grub_tsc_init.
43117
43118 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43119 get_time_ms() implementation.
43120
43121 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43122 (ieee1275_get_time_ms): New function.
43123 (grub_machine_init): Install get_time_ms() implementation.
43124
43125 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43126 (grub_machine_init): Call grub_tsc_init().
43127 (grub_millisleep): Removed.
43128
43129 * kern/ieee1275/init.c (grub_millisleep): Removed.
43130 (grub_machine_init): Install ieee1275_get_time_ms()
43131 implementation.
43132 (ieee1275_get_time_ms): New function.
43133 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43134 real work.
43135
43136 2008-08-05 Marco Gerards <marco@gnu.org>
43137
43138 * disk/ata.c: Include <grub/pci.h>.
43139 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43140 (grub_ata_initialize): Rewritten.
43141 (grub_ata_device_initialize): New function.
43142
43143 2008-08-04 Pavel Roskin <proski@gnu.org>
43144
43145 * kern/main.c: Include grub/mm.h.
43146
43147 2008-08-04 Robert Millan <rmh@aybabtu.com>
43148
43149 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43150 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43151 corruption problem).
43152
43153 2008-08-04 Robert Millan <rmh@aybabtu.com>
43154
43155 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43156 warnings introduced in my last commit.
43157
43158 2008-08-03 Robert Millan <rmh@aybabtu.com>
43159
43160 Make PCI available on all i386 architectures.
43161
43162 * include/grub/i386/pc/pci.h: Move from here ...
43163 * include/grub/i386/pci.h: ... to here.
43164
43165 * include/grub/i386/pc/pci.h: Remove.
43166 * include/grub/i386/efi/pci.h: Remove.
43167 * include/grub/x86_64/efi/pci.h: Remove.
43168
43169 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43170 `<grub/cpu/pci.h>'.
43171
43172 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43173 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43174 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43175
43176 * conf/i386-ieee1275.rmk: Likewise.
43177
43178 2008-08-03 Robert Millan <rmh@aybabtu.com>
43179
43180 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43181 (grub_console_setcursor): Make it possible to set cursor off.
43182
43183 2008-08-03 Robert Millan <rmh@aybabtu.com>
43184
43185 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43186 of modules instead of assuming which platform provides what.
43187 * util/update-grub.in: Likewise.
43188
43189 2008-08-03 Robert Millan <rmh@aybabtu.com>
43190
43191 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43192 instead of `grub_install_dos_part' to determine whether a drive needs
43193 to be prepended to prefix (`grub_install_dos_part' is not reliable,
43194 because it can be overridden when loading GRUB via Multiboot).
43195
43196 2008-08-02 Robert Millan <rmh@aybabtu.com>
43197
43198 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43199
43200 2008-08-02 Robert Millan <rmh@aybabtu.com>
43201
43202 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43203 of informational grub_dprintf() calls.
43204
43205 2008-08-02 Robert Millan <rmh@aybabtu.com>
43206
43207 * disk/memdisk.c (memdisk_size): Don't initialize.
43208 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43209
43210 * include/grub/i386/pc/kernel.h
43211 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43212 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43213 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43214 (grub_arch_memdisk_size): Remove.
43215
43216 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43217 field (was only used to transfer a constant). Add `type' field to
43218 support multiple module types.
43219 (grub_module_iterate): New function.
43220
43221 * kern/device.c (grub_device_open): Do not hide error messages
43222 when grub_disk_open() fails. Use grub_print_error() instead.
43223
43224 * kern/i386/pc/init.c (grub_arch_modules_addr)
43225 (grub_arch_memdisk_size): Remove functions.
43226 (grub_arch_modules_addr): Return the module address in high memory
43227 (now that it isn't copied anymore).
43228
43229 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43230 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43231 decompression routine (grub_total_module_size already includes that
43232 now). Don't copy modules back to low memory.
43233
43234 * kern/main.c: Include `<grub/mm.h>'.
43235 (grub_load_modules): Split out (and use) ...
43236 (grub_module_iterate): ... this function, which iterates through
43237 module objects and runs a hook.
43238 Comment out grub_mm_init_region() call, as it would cause non-ELF
43239 modules to be overwritten.
43240
43241 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43242 the memdisk image in its own region, make it part of the module list.
43243 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43244 (main): Parse --memdisk|-m option, and pass user-provided path as
43245 parameter to generate_image().
43246 (add_segments): Pass `memdisk_path' down to load_modules().
43247 (load_modules): Embed memdisk image in module section when requested.
43248 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43249 `header.type' instead of `header.offset'.
43250
43251 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43252 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43253 (memdisk_mod_LDFLAGS): New variables.
43254 * conf/i386-coreboot.rmk: Likewise.
43255 * conf/i386-ieee1275.rmk: Likewise.
43256
43257 2008-08-02 Robert Millan <rmh@aybabtu.com>
43258
43259 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43260 (backward_relocator): New variables. Used to allocate and relocate
43261 the payload, respectively.
43262 (grub_multiboot_load_elf32): Load into heap instead of requested
43263 address, install the appropriate relocator code in each bound of
43264 the payload, and set the entry point such that
43265 grub_multiboot_real_boot() will jump to one of them.
43266
43267 * kern/i386/loader.S (grub_multiboot_payload_size)
43268 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43269 (grub_multiboot_payload_entry_offset): New variables.
43270 (grub_multiboot_real_boot): Set cpu context to what the relocator
43271 expects, and jump to the relocator instead of the payload.
43272
43273 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43274 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43275 (grub_multiboot_payload_entry_offset): Export.
43276
43277 2008-08-01 Bean <bean123ch@gmail.com>
43278
43279 * normal/menu_entry.c (editor_getline): Don't return the original
43280 string as result, as it will be released by lexer once it has done
43281 using it.
43282
43283 2008-08-01 Robert Millan <rmh@aybabtu.com>
43284
43285 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43286 within menuentries, not before them.
43287 util/grub.d/10_hurd.in: Likewise.
43288
43289 2008-08-01 Bean <bean123ch@gmail.com>
43290
43291 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43292 (bufio_mod_SOURCES): New macro.
43293 (bufio_mod_CFLAGS): Likewise.
43294 (bufio_mod_LDFLAGS): Likewise.
43295
43296 * include/grub/bufio.h: New file.
43297
43298 * io/bufio.c: Likewise.
43299
43300 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43301 (grub_video_reader_png): Use grub_buffile_open to open file.
43302
43303 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43304 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43305
43306 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43307 (grub_video_reader_tga): Use grub_buffile_open to open file.
43308
43309 * font/manager.c: Include <grub/bufio.h>.
43310 (add_font): Use grub_buffile_open to open file.
43311
43312 2008-07-31 Robert Millan <rmh@aybabtu.com>
43313
43314 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43315 ELF segments, use a macro for arbitrarily accessing any of them instead
43316 of preparing a pointer that allows access to one at a time.
43317 (grub_multiboot_load_elf64): Likewise.
43318
43319 2008-07-31 Bean <bean123ch@gmail.com>
43320
43321 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43322 GRUB_KERNEL_MACHINE_DATA_END.
43323
43324 2008-07-30 Robert Millan <rmh@aybabtu.com>
43325
43326 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43327 Increase from 0x50 to 0x60.
43328 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43329 use UUIDs to identify the root drive for them. If that's not
43330 possible, abort.
43331 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43332 check, for cross-disk installs.
43333
43334 2008-07-30 Robert Millan <rmh@aybabtu.com>
43335
43336 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43337 is non-empty, use it to set the `prefix' environment variable instead
43338 of the usual approach.
43339 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43340 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43341 environment variable instead of dummy make_install_device().
43342
43343 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43344 (start): Insert a data section, with `grub_prefix' variable.
43345 * kern/i386/linuxbios/startup.S: Likewise.
43346
43347 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43348 New variable reference.
43349 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43350 New macro. Defines offset of `grub_prefix' within startup.S (relative
43351 to `start').
43352 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43353 section within startup.S (relative to `start').
43354 * include/grub/i386/coreboot/kernel.h: Likewise.
43355
43356 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43357 Overwrite grub_prefix with its contents, at the beginning of the
43358 first segment.
43359 (main): Understand -p|--prefix.
43360
43361 2008-07-30 Robert Millan <rmh@aybabtu.com>
43362
43363 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43364
43365 2008-07-30 Robert Millan <rmh@aybabtu.com>
43366
43367 * term/i386/pc/vga_text.c (grub_console_cls): Use
43368 grub_console_gotoxy() to go back to beginning of the screen.
43369 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43370
43371 2008-07-29 Christian Franke <franke@computer.org>
43372
43373 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43374 Add conversion of emulated mount points on Cygwin.
43375
43376 2008-07-29 Christian Franke <franke@computer.org>
43377
43378 * util/update-grub.in: Add a check for admin
43379 group on Cygwin.
43380 Remove old `grub.cfg.new' before creation.
43381 Add `-f' to `mv' to handle the different filesystem
43382 semantics of Windows.
43383
43384 2008-07-29 Bean <bean123ch@gmail.com>
43385
43386 * normal/main.c (get_line): Fix buffer overflow bug.
43387
43388 2008-07-28 Robert Millan <rmh@aybabtu.com>
43389
43390 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43391 (struct grub_apple_header): New struct. Describes the layout of
43392 the partmap header.
43393 (apple_partition_map_iterate): Check the header magic as well as the
43394 partition magic (which was already being checked).
43395
43396 2008-07-28 Pavel Roskin <proski@gnu.org>
43397
43398 * genmk.rb: Add a warning to the beginning of the output that
43399 it's a generated file and should not be edited.
43400
43401 2008-07-28 Robert Millan <rmh@aybabtu.com>
43402
43403 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43404 with the same number are found, just use issue a warning with
43405 grub_dprintf(), as this error has been reported to be non-fatal.
43406
43407 2008-07-27 Robert Millan <rmh@aybabtu.com>
43408
43409 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43410 information.
43411
43412 2008-07-27 Bean <bean123ch@gmail.com>
43413
43414 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43415 (grub_fat_find_dir): Ignore case when comparing filename.
43416
43417 2008-07-27 Bean <bean123ch@gmail.com>
43418
43419 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43420 smallino, as it's more descriptive, and i8count can be confused with
43421 the other field count.
43422 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43423 inode type.
43424
43425 2008-07-27 Bean <bean123ch@gmail.com>
43426
43427 * commands/crc.c: New file.
43428
43429 * lib/crc.c: Likewise.
43430
43431 * include/grub/lib/crc.h: Likewise.
43432
43433 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43434
43435 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43436 (hexdump): Move this function to ...
43437
43438 * lib/hexdump.c: ... here.
43439
43440 * include/grub/hexdump.h: Renamed to ...
43441
43442 * include/grub/lib/hexdump.h: ... this.
43443
43444 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43445
43446 * util/grub-editenv.c: Likewise.
43447
43448 * include/envblk.h: Renamed to ...
43449
43450 * include/lib/envblk.h: ... this.
43451
43452 * util/envblk.c: Renamed to ...
43453
43454 * lib/envblk.c: ... this.
43455
43456 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43457 lib/hexdump.c.
43458 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43459 (pkglib_MODULES): Add crc.mod.
43460 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43461 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43462 (crc_mod_SOURCES): New macro.
43463 (crc_mod_CFLAGS): Likewise.
43464 (crc_mod_LDFLAGS): Likewise.
43465
43466 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43467
43468 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43469
43470 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43471
43472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43473
43474 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43475
43476 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
43477
43478 * commands/help.c: Include <grub/term.h>.
43479 (TERM_WIDTH): Removed. Updated all users.
43480
43481 2008-07-27 Pavel Roskin <proski@gnu.org>
43482
43483 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43484 spurious warnings about a comment within a comment.
43485
43486 2008-07-25 Robert Millan <rmh@aybabtu.com>
43487
43488 * util/getroot.c (find_root_device): Skip devices that match
43489 /dev/dm-[0-9]. This lets the real device be found for any type of
43490 abstraction (LVM, EVMS, RAID..).
43491 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43492 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43493 device is found first, find_root_device() will now skip it.
43494
43495 2008-07-24 Pavel Roskin <proski@gnu.org>
43496
43497 * include/grub/types.h: Use __builtin_bswap32() and
43498 __builtin_bswap64() with gcc 4.3 and newer.
43499
43500 2008-07-24 Christian Franke <franke@computer.org>
43501
43502 * util/i386/pc/grub-install.in: If `--debug' is specified,
43503 pass `--verbose' to grub-setup.
43504 Abort script if make_system_path_relative_to_its_root() fails.
43505
43506 2008-07-24 Bean <bean123ch@gmail.com>
43507
43508 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43509 variable `target_platform' should be `platform'.
43510
43511 2008-07-24 Bean <bean123ch@gmail.com>
43512
43513 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
43514 (grub_png_init_fixed_block): New function.
43515 (grub_png_decode_image_data): Handle fixed huffman code compression.
43516
43517 2008-07-24 Bean <bean123ch@gmail.com>
43518
43519 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43520 (grub_pe2elf_SOURCES): New macro.
43521 (CLEANFILES): Add grub-pe2elf.
43522
43523 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43524 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43525 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43526 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43527 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43528 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43529 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43530 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43531 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43532 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43533 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43534 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43535 (GRUB_PE32_DT_FUNCTION): Likewise.
43536 (GRUB_PE32_REL_I386_DIR32): Likewise.
43537 (GRUB_PE32_REL_I386_REL32): Likewise.
43538 (grub_pe32_symbol): New structure.
43539 (grub_pe32_reloc): Likewise.
43540
43541 * util/grub-pe2elf.c: New file.
43542
43543 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43544 start symbol in non pc platform.
43545
43546 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43547
43548 The following patches are from Christian Franke.
43549
43550 * include/grub/dl.h: Remove .previous, gas supports this only
43551 for ELF format.
43552
43553 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43554 Remove .type, gas supports this only for ELF format.
43555
43556 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43557 nullbytes in symbol table. This fixes an infinite loop if table is
43558 zero filled.
43559
43560 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43561 TARGET_IMG_LDFLAGS and EXEEXT.
43562
43563 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43564 TARGET_IMG_LDFLAGS_AC.
43565 (grub_CHECK_STACK_ARG_PROBE): New function.
43566
43567 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43568
43569 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43570
43571 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43572 to set TARGET_IMG_LD* accordingly.
43573 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43574 Add call to grub_CHECK_STACK_ARG_PROBE.
43575 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43576
43577 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43578
43579 * genmk.rb: Add EXEEXT to CLEANFILES.
43580
43581 2008-07-23 Robert Millan <rmh@aybabtu.com>
43582
43583 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43584 define the codes for arrows and lines used for the menu).
43585 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43586 as well.
43587
43588 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43589 fonts, because the latter are too slow.
43590
43591 2008-07-21 Bean <bean123ch@gmail.com>
43592
43593 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43594 a20. Run keyboard test last, as it will cause macbook to halt.
43595
43596 2008-07-18 Pavel Roskin <proski@gnu.org>
43597
43598 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43599 load foreign architecture modules correctly anyway. Keep
43600 support for loading host architecture modules, whether we
43601 compile them or not.
43602
43603 2008-07-17 Pavel Roskin <proski@gnu.org>
43604
43605 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43606 change target_cpu. The compiler default can mismatch target_cpu
43607 in any case.
43608
43609 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43610 * kern/efi/efi.c: Likewise.
43611
43612 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43613 target compiler is functional.
43614 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43615 are set up.
43616
43617 * configure.ac: Default to efi platform for x86_64-apple. Allow
43618 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43619 adjustments from the rest, only do them if target is not
43620 explicitly given. Merge other adjustments with the final sanity
43621 check. Remove an extraneous check for supported CPU. Be
43622 specific which CPU and which platform is not supported.
43623
43624 * configure.ac: Default to pc platform for x86_64.
43625
43626 2008-07-17 Robert Millan <rmh@aybabtu.com>
43627
43628 Partial LinuxBIOS -> Coreboot rename.
43629
43630 * conf/i386-linuxbios.rmk: Renamed to ...
43631 * conf/i386-coreboot.rmk: ... this.
43632 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43633 * configure.ac: Accept "coreboot" as input platform (but maintain
43634 compatibility with "linuxbios").
43635 * include/grub/i386/linuxbios: Renamed to ...
43636 * include/grub/i386/coreboot: ... this.
43637
43638 2008-07-17 Bean <bean123ch@gmail.com>
43639
43640 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
43641 (appleldr_mod_SOURCE): New variable.
43642 (appleldr_mod_CFLAGS): Likewise.
43643 (appleldr_mod_LDFLAGS): Likewise.
43644 (pci_mod_SOURCES): Likewise.
43645 (pci_mod_CFLAGS): Likewise.
43646 (pci_mod_LDFLAGS): Likewise.
43647 (lspci_mod_SOURCES): Likewise.
43648 (lspci_mod_CFLAGS): Likewise.
43649 (lspci_mod_LDFLAGS): Likewise.
43650
43651 * conf/x86_64-efi.rmk: New file.
43652
43653 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43654 macro.
43655 (grub_efidisk_write): Likewise.
43656
43657 * include/efi/api.h (efi_call_0): New macro.
43658 (efi_call_1): Likewise.
43659 (efi_call_2): Likewise.
43660 (efi_call_3): Likewise.
43661 (efi_call_4): Likewise.
43662 (efi_call_5): Likewise.
43663 (efi_call_6): Likewise.
43664
43665 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43666 grub_rescue_cmd_chainloader.
43667
43668 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43669 (grub_pe32_optional_header): Change some fields based on i386 or
43670 x86_64 platform.
43671 (GRUB_PE32_PE32_MAGIC): Likewise.
43672
43673 * include/grub/efi/uga_draw.h: New file.
43674
43675 * include/grub/elf.h (STN_ABS): New constant.
43676 (R_X86_64_NONE): Relocation constant for x86_64.
43677 (R_X86_64_64): Likewise.
43678 (R_X86_64_PC32): Likewise.
43679 (R_X86_64_GOT32): Likewise.
43680 (R_X86_64_PLT32): Likewise.
43681 (R_X86_64_COPY): Likewise.
43682 (R_X86_64_GLOB_DAT): Likewise.
43683 (R_X86_64_JUMP_SLOT): Likewise.
43684 (R_X86_64_RELATIVE): Likewise.
43685 (R_X86_64_GOTPCREL): Likewise.
43686 (R_X86_64_32): Likewise.
43687 (R_X86_64_32S): Likewise.
43688 (R_X86_64_16): Likewise.
43689 (R_X86_64_PC16): Likewise.
43690 (R_X86_64_8): Likewise.
43691 (R_X86_64_PC8): Likewise.
43692
43693 * include/grub/i386/efi/pci.h: New file.
43694
43695 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43696 Change it value based on platform.
43697 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43698 (GRUB_E820_RAM): Likewise.
43699 (GRUB_E820_RESERVED): Likewise.
43700 (GRUB_E820_ACPI): Likewise.
43701 (GRUB_E820_NVS): Likewise.
43702 (GRUB_E820_EXEC_CODE): Likewise.
43703 (GRUB_E820_MAX_ENTRY): Likewise.
43704 (grub_e820_mmap): New structure.
43705 (linux_kernel_header): Change the efi field according to different
43706 kernel version, also field from linux_kernel_header.
43707
43708 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43709
43710 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43711 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43712 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43713 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43714 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43715 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43716 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43717 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43718 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43719 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43720
43721 * include/grub/x86_64/efi/kernel.h: New file.
43722
43723 * include/grub/x86_64/efi/loader.h: Likewise.
43724
43725 * include/grub/x86_64/efi/machine.h: Likewise.
43726
43727 * include/grub/x86_64/efi/pci.h: Likewise.
43728
43729 * include/grub/x86_64/efi/time.h: Likewise.
43730
43731 * include/grub/x86_64/linux.h: Likewise.
43732
43733 * include/grub/x86_64/setjmp.h: Likewise.
43734
43735 * include/grub/x86_64/time.h: Likewise.
43736
43737 * include/grub/x86_64/types.h: Likewise.
43738
43739 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43740 GRUB_TARGET_SIZEOF_VOID_P.
43741
43742 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43743 (grub_efi_locate_handle): Likewise.
43744 (grub_efi_open_protocol): Likewise.
43745 (grub_efi_set_text_mode): Likewise.
43746 (grub_efi_stall): Likewise.
43747 (grub_exit): Likewise.
43748 (grub_reboot): Likewise.
43749 (grub_halt): Likewise.
43750 (grub_efi_exit_boot_services): Likewise.
43751 (grub_get_rtc): Likewise.
43752
43753 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43754 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43755 (grub_efi_allocate_pages): Wrap efi calls.
43756 (grub_efi_free_pages): Wrap efi calls.
43757 (grub_efi_get_memory_map): Wrap efi calls.
43758
43759 * kern/x86_64/dl.c: New file.
43760
43761 * kern/x86_64/efi/callwrap.S: Likewise.
43762
43763 * kern/x86_64/efi/startup.S: Likewise.
43764
43765 * loader/efi/appleloader.c: Likewise.
43766
43767 * loader/efi/chainloader.c (cmdline): New variable.
43768 (grub_chainloader_unload): Wrap efi calls.
43769 (grub_chainloader_boot): Likewise.
43770 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43771 command line.
43772
43773 * loader/efi/chainloader_normal.c (chainloader_command):
43774 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43775 command line.
43776
43777 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43778 method.
43779 (grub_e820_add_region): New function.
43780 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43781 booting.
43782 (grub_find_video_card): New function.
43783 (grub_linux_setup_video): New function.
43784 (grub_rescue_cmd_linux): Probe for video information.
43785
43786 * normal/x86_64/setjmp.S: New file.
43787
43788 * term/efi/console.c (map_char): New function.
43789 (grub_console_putchar): Map unicode char.
43790 (grub_console_checkkey): Wrap efi calls.
43791 (grub_console_getkey): Likewise.
43792 (grub_console_getwh): Likewise.
43793 (grub_console_gotoxy): Likewise.
43794 (grub_console_cls): Likewise.
43795 (grub_console_setcolorstate): Likewise.
43796 (grub_console_setcursor): Likewise.
43797
43798 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43799
43800 2008-07-16 Pavel Roskin <proski@gnu.org>
43801
43802 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43803 format strings.
43804
43805 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43806 pointer, not an integer. This fixes a warning and prevents
43807 precision loss on 64-bit systems.
43808 (relocate_addresses): Remove unneeded cast.
43809
43810 2008-07-15 Pavel Roskin <proski@gnu.org>
43811
43812 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43813
43814 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43815
43816 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43817 Fix comparison between signed and unsigned.
43818
43819 * include/grub/i386/ieee1275/console.h: Declare
43820 grub_console_init() and grub_console_fini().
43821
43822 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43823 It's empty and unused.
43824
43825 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43826 beginning to avoid warnings with some compilers.
43827
43828 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43829 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43830
43831 2008-07-14 Pavel Roskin <proski@gnu.org>
43832
43833 * kern/env.c (grub_register_variable_hook): Don't copy empty
43834 string, it leaks memory. Pass "" to grub_env_set(), it should
43835 handle constant strings.
43836
43837 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43838 * commands/cmp.c (grub_cmd_cmp): Likewise.
43839 * kern/dl.c (grub_dl_flush_cache): Likewise.
43840 (grub_dl_load_core): Likewise.
43841 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43842 (grub_elf64_load_phdrs): Likewise.
43843
43844 2008-07-13 Pavel Roskin <proski@gnu.org>
43845
43846 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43847 between signed and unsigned.
43848 (LzmaEnc_Finish): Fix warning about an unused parameter.
43849
43850 2008-07-13 Bean <bean123ch@gmail.com>
43851
43852 * Makefile.in (enable_lzo): New rule.
43853
43854 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43855
43856 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43857
43858 * boot/i386/pc/lnxboot.S: #include <config.h>.
43859
43860 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
43861 its value according to the compression algorithm used, lzo or lzma.
43862
43863 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43864 compression algorithm according to configure macro.
43865
43866 * kern/i386/pc/startup.S (codestart): Likewise.
43867
43868 * kern/i386/pc/lzma_decode.S: New file.
43869
43870 * include/grub/lib/LzFind.h: Likewise.
43871
43872 * include/grub/lib/LzHash.h: Likewise.
43873
43874 * include/grub/lib/LzmaDec.h: Likewise.
43875
43876 * include/grub/lib/LzmaEnc.h: Likewise.
43877
43878 * include/grub/lib/LzmaTypes.h: Likewise.
43879
43880 * lib/LzFind.c: Likewise.
43881
43882 * lib/LzmaDec.c: Likewise.
43883
43884 * lib/LzmaEnc.c: Likewise.
43885
43886 2008-07-13 Bean <bean123ch@gmail.com>
43887
43888 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43889 (grub_ext4_extent_header): New structure.
43890 (grub_ext4_extent): Likewise.
43891 (grub_ext4_extent_idx): Likewise.
43892 (grub_ext4_find_leaf): New function.
43893 (grub_ext2_read_block): Handle extents.
43894
43895 2008-07-12 Robert Millan <rmh@aybabtu.com>
43896
43897 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43898
43899 2008-07-11 Robert Millan <rmh@aybabtu.com>
43900
43901 * util/grub.d/40_custom.in: New file. Example on how to add custom
43902 entries to /etc/grub.d.
43903 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43904 40_custom (implicitly, by merging all the grub.d rules).
43905
43906 2008-07-11 Pavel Roskin <proski@gnu.org>
43907
43908 * commands/read.c (grub_getline): Fix invalid memory access.
43909 Don't add newline to the variable value.
43910
43911 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43912 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43913 (serial_hw_get_port): Check validity of the port number.
43914 (grub_cmd_serial): Check return value of serial_hw_get_port().
43915
43916 2008-07-07 Pavel Roskin <proski@gnu.org>
43917
43918 * boot/i386/pc/diskboot.S (notification_string): Replace
43919 "Loading kernel" with just "loading". This is shorter, less
43920 confusing and saves a few bytes for possible future changes.
43921
43922 2008-07-05 Pavel Roskin <proski@gnu.org>
43923
43924 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43925 size for ATAPI devices, they are undefined. Output sector
43926 number in decimal form.
43927
43928 * disk/ata.c: Use named constants for status bits.
43929
43930 2008-07-04 Pavel Roskin <proski@gnu.org>
43931
43932 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43933 grub_addr_t before casting it to the void pointer to fix a
43934 warning. Non-addressable regions are discarded earlier.
43935 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43936 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43937 (check_signature): Don't shadow table_header.
43938 (grub_linuxbios_table_iterate): Cast numeric constants to
43939 grub_linuxbios_table_header_t.
43940 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43941 grub_stop().
43942
43943 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43944 prevent warnings.
43945
43946 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43947 pointer, which can cause warnings. Support 64-bit addresses.
43948
43949 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43950 of sizeof(long). This fixes PowerPC image generation on x86_64.
43951
43952 2008-07-04 Robert Millan <rmh@aybabtu.com>
43953
43954 This fixes a performance issue when pc & gpt partmap iterators
43955 didn't abort iteration even after our hook found what it was
43956 looking for (often causing expensive probes of non-existent drives).
43957
43958 Some callers relied on previous buggy behaviour, since they would
43959 raise an error when their own hooks caused early abortion of its
43960 iteration.
43961
43962 * kern/device.c (grub_device_open): Improve error message.
43963 * disk/lvm.c (grub_lvm_open): Likewise.
43964 * disk/raid.c (grub_raid_open): Likewise.
43965
43966 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43967 when hook requests it, independently of grub_errno.
43968 (pc_partition_map_probe): Do not fail when find_func() caused
43969 early abortion of pc_partition_map_iterate().
43970
43971 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43972 when hook requests it, independently of grub_errno.
43973 (gpt_partition_map_probe): Do not fail when find_func() caused
43974 early abortion of gpt_partition_map_iterate().
43975
43976 * kern/partition.c (grub_partition_iterate): Abort parent iteration
43977 when hook requests it, independently of grub_errno. Do not fail when
43978 part_map_iterate_hook() caused early abortion of p->iterate().
43979
43980 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
43981 when grub_partition_iterate() returned with non-zero.
43982
43983 2008-07-03 Pavel Roskin <proski@gnu.org>
43984
43985 * disk/ata.c (grub_ata_pio_write): Check status before writing,
43986 like we do in grub_ata_pio_read().
43987 (grub_ata_readwrite): Always write individual sectors. Fix the
43988 sector count for the remainder.
43989 (grub_ata_write): Enable writing to ATA devices. Correctly
43990 report error for ATAPI devices.
43991
43992 2008-07-02 Pavel Roskin <proski@gnu.org>
43993
43994 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
43995 warning.
43996
43997 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
43998 for every read sector, we already increment it for the whole
43999 batch. This fixes reading more than 256 sectors at once.
44000
44001 * util/grub-editenv.c (cmd_info): Cast argument to long
44002 explicitly. ptrdiff_t reduces to int on i386.
44003
44004 * util/grub-editenv.c (main): Be specific which parameter is
44005 missing.
44006
44007 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44008 (memdisk): Make memdisk_orig_addr a pointer.
44009
44010 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44011 for file offsets, use grub_off_t instead. Fix printf format
44012 warnings.
44013
44014 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44015 there. Real unexpected warnings should not drown in the noise
44016 about known problems.
44017
44018 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44019 grub_disk_addr_t for memory addresses.
44020
44021 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44022 explicitly to fix a warning.
44023
44024 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44025
44026 * Makefile.in (MODULE_LDFLAGS): New variable.
44027 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44028 the linker accepts --build-id=none.
44029 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44030 MODULE_LDFLAGS.
44031 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44032
44033 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44034 those in Linux XFS code. Provide a way to access 64-bit parent
44035 inode.
44036 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44037 the end of struct grub_xfs_dir_header.
44038
44039 2008-07-02 Bean <bean123ch@gmail.com>
44040
44041 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44042 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44043 and GRUB_IEEE1275_FLAG_NO_ANSI.
44044
44045 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44046 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44047 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44048
44049 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44050 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44051
44052 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44053 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44054
44055 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44056 esc sequence on non ANSI terminal.
44057 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44058
44059 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44060 beginning of file.
44061
44062 2008-07-02 Bean <bean123ch@gmail.com>
44063
44064 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44065 (grub_editenv_SOURCES): New variable.
44066 (pkglib_MODULES): Add loadenv.mod.
44067 (loadenv_mod_SOURCES): New variable.
44068 (loadenv_mod_CFLAGS): Likewise.
44069 (loadenv_mod_LDFLAGS): Likewise.
44070
44071 * include/grub/envblk.h: New file.
44072
44073 * util/envblk.c: New file.
44074
44075 * util/grub-editenv.c: New file.
44076
44077 * commands/loadenv.c: New file.
44078
44079 2008-07-01 Pavel Roskin <proski@gnu.org>
44080
44081 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44082 not unsigned char. This fixes warnings and is consistent with
44083 other tags.
44084
44085 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44086
44087 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44088
44089 * term/tparm.c (analyze): Always set *popcount.
44090
44091 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44092 cast to fix a warning.
44093
44094 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44095 cast to suppress a warning.
44096
44097 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44098 grub_fshelp_read_file() expects.
44099
44100 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44101 write uuid as a 32-bit value in CPU byte order, so declare and
44102 use it as such.
44103
44104 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44105 long if the format specifier expects it.
44106 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44107 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44108 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44109 long to fix a warning.
44110 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44111 grub_dprintf() arguments to fix warnings.
44112
44113 2008-06-30 Pavel Roskin <proski@gnu.org>
44114
44115 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44116 install_bsd_part immediately before core.img is embedded or
44117 modified on disk. This fixes core.img verification if core.img
44118 cannot be embedded.
44119
44120 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44121 core_path to calculate the blocklist.
44122 Patch from Javier Martín <lordhabbit@gmail.com>
44123
44124 2008-06-29 Robert Millan <rmh@aybabtu.com>
44125
44126 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44127 block to disk block.
44128 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44129 Patch from Niels Böhm <bitbucket@arcor.de>
44130
44131 2008-06-29 Robert Millan <rmh@aybabtu.com>
44132
44133 * util/update-grub_lib.in (font_path): Search for fonts in
44134 /boot/grub first, which is more likely to be readable (we aren't
44135 deciding where fonts live, just looking for them).
44136
44137 2008-06-26 Pavel Roskin <proski@gnu.org>
44138
44139 * util/biosdisk.c (read_device_map): Don't leave dead map
44140 entries for devices failing stat() check.
44141
44142 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44143 core_path_dev for the core.img path on the target device.
44144
44145 2008-06-26 Robert Millan <rmh@aybabtu.com>
44146
44147 * disk/fs_uuid.c: New file.
44148 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44149 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44150 (fs_uuid_mod_LDFLAGS): New variables.
44151 * include/grub/disk.h (grub_disk_dev_id): Add
44152 `GRUB_DISK_DEVICE_UUID_ID'.
44153 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44154 implement iterate().
44155
44156 2008-06-26 Robert Millan <rmh@aybabtu.com>
44157
44158 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44159 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44160 Linux image includes no initrd.
44161
44162 2008-06-21 Javier Martín <lordhabbit@gmail.com>
44163
44164 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44165 call to resolve the core image location that effectively appended the
44166 name twice.
44167
44168 2008-06-21 Robert Millan <rmh@aybabtu.com>
44169
44170 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44171 call from here ...
44172
44173 * util/grub.d/10_hurd.in: ... to here ...
44174 * util/grub.d/10_linux.in: ... and here.
44175
44176 2008-06-19 Robert Millan <rmh@aybabtu.com>
44177
44178 * kern/main.c (grub_main): Export `prefix' variable immediately
44179 after it has been set by grub_machine_set_prefix().
44180
44181 2008-06-19 Robert Millan <rmh@aybabtu.com>
44182
44183 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44184 search result when not saving to variable, not the other way around.
44185 When saving to variable, abort iteration as soon as a match is found.
44186
44187 2008-06-19 Robert Millan <rmh@aybabtu.com>
44188
44189 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44190 check for partition that provides /boot/grub. Its logic is flawed,
44191 as it prevents prepare_grub_to_access_device() from being called
44192 multiple times.
44193
44194 2008-06-19 Robert Millan <rmh@aybabtu.com>
44195
44196 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44197 "insmod" command directly when abstraction modules are needed,
44198 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
44199 since it had already been processed).
44200
44201 2008-06-19 Pavel Roskin <proski@gnu.org>
44202
44203 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44204 changed. This is needed in case GRUB_LIBDIR changes.
44205 * conf/i386-ieee1275.rmk: Likewise.
44206 * conf/i386-linuxbios.rmk: Likewise.
44207 * conf/i386-pc.rmk: Likewise.
44208 * conf/powerpc-ieee1275.rmk: Likewise.
44209
44210 2008-06-18 Pavel Roskin <proski@gnu.org>
44211
44212 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44213 kernel_elf_symlist.c to symlist.c for consistency with other
44214 architectures. Update all users.
44215 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44216
44217 2008-06-18 Robert Millan <rmh@aybabtu.com>
44218
44219 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44220 it in prefix.
44221
44222 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44223 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44224 a RAID device, run setup() for all members independently on whether
44225 LVM abstraction is being used.
44226 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44227 If grub-mkimage has set `*install_dos_part == -2', don't override this
44228 value.
44229 Perform *install_dos_part adjustments independently on whether
44230 we're embedding or not.
44231 Clarify error message when image is too big for embedding.
44232 Remove duplicate *install_dos_part stanza.
44233
44234 2008-06-17 Robert Millan <rmh@aybabtu.com>
44235
44236 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44237 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44238 variables.
44239 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44240 values in grub_ofconsole_normal_color and
44241 grub_ofconsole_highlight_color (they're not directly related to
44242 background and foreground).
44243 (grub_ofconsole_setcolorstate): Extract background and foreground
44244 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44245
44246 2008-06-17 Robert Millan <rmh@aybabtu.com>
44247
44248 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44249 /boot/grub for the check in last commit, not /boot (they could be
44250 different partitions).
44251
44252 2008-06-16 Robert Millan <rmh@aybabtu.com>
44253
44254 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44255 asked to setup access for the same partition that provides /boot,
44256 don't bother using UUIDs since our root already has the value we
44257 want.
44258
44259 2008-06-16 Robert Millan <rmh@aybabtu.com>
44260
44261 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44262 I2O devices.
44263 Patch from Sven Mueller <sven@debian.org>.
44264
44265 2008-06-16 Robert Millan <rmh@aybabtu.com>
44266
44267 * util/update-grub.in: Check for $EUID instead of $UID.
44268 Reported by Vincent Zweije.
44269
44270 2008-06-16 Bean <bean123ch@gmail.com>
44271
44272 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
44273 (grub_ext2_read_block): Likewise.
44274 (grub_ext2_read_inode): Likewise.
44275 (grub_ext2_mount): Likewise.
44276 (grub_ext2_close): Likewise.
44277 (grub_ext3_get_journal): Removed.
44278
44279 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
44280 (grub_reiserfs_read_symlink): Likewise.
44281 (grub_reiserfs_mount): Likewise.
44282 (grub_reiserfs_open): Likewise.
44283 (grub_reiserfs_read): Likewise.
44284 (grub_reiserfs_close): Likewise.
44285 (grub_reiserfs_get_journal): Removed.
44286
44287 * fs/fshelp.c (grub_fshelp_read): Removed.
44288 (grub_fshelp_map_block): Likewise.
44289
44290 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44291 (grub_fshelp_journal): Likewise.
44292 (grub_fshelp_read): Likewise.
44293 (grub_fshelp_map_block): Likewise.
44294
44295 2008-06-16 Pavel Roskin <proski@gnu.org>
44296
44297 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44298 floating point anymore.
44299 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44300
44301 2008-06-15 Pavel Roskin <proski@gnu.org>
44302
44303 * commands/ls.c (grub_ls_list_files): Use integer calculations
44304 for human readable format, avoid floating point use.
44305 * kern/misc.c (grub_ftoa): Remove.
44306 (grub_vsprintf): Remove floating point support.
44307
44308 2008-06-15 Robert Millan <rmh@aybabtu.com>
44309
44310 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
44311 devices.
44312 Reported by Max Vozeler.
44313
44314 2008-06-15 Robert Millan <rmh@aybabtu.com>
44315
44316 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44317 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44318 skipped later.
44319 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44320 the beginning of the prefix.
44321
44322 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44323 It is assumed that if we have a memdisk, grub-mkimage has set
44324 grub_prefix to include the "(memdisk)" drive in it.
44325
44326 2008-06-15 Robert Millan <rmh@aybabtu.com>
44327
44328 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44329 Initialize keyboard controller after registering the terminal, so that
44330 grub_printf() can be called from grub_keyboard_controller_init().
44331
44332 2008-06-15 Robert Millan <rmh@aybabtu.com>
44333
44334 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44335 extent-btree which is written as big endian on disk.
44336 Reported by Alain Greppin <al@chilibi.org>.
44337
44338 2008-06-14 Robert Millan <rmh@aybabtu.com>
44339
44340 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44341 * util/i386/pc/grub-install.in (modules): Likewise.
44342
44343 2008-06-13 Pavel Roskin <proski@gnu.org>
44344
44345 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44346
44347 2008-06-13 Bean <bean123ch@gmail.com>
44348
44349 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44350
44351 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44352
44353 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44354 to indicate sparse block.
44355
44356 2008-06-12 Pavel Roskin <proski@gnu.org>
44357
44358 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44359 number, grub_fshelp_read() does it for us.
44360
44361 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44362 linear disk read with journal translation.
44363 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44364 * include/grub/fshelp.h: Declare grub_fshelp_read().
44365
44366 2008-06-09 Pavel Roskin <proski@gnu.org>
44367
44368 * fs/minix.c (grub_minix_mount): Handle error reading
44369 superblock.
44370
44371 2008-06-08 Robert Millan <rmh@aybabtu.com>
44372
44373 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44374 don't append the RAID prefix afterwards.
44375 Reported by Clint Adams.
44376
44377 2008-06-08 Robert Millan <rmh@aybabtu.com>
44378
44379 Based on description from Pavel:
44380 * kern/disk.c (grub_disk_check_range): Rename to ...
44381 (grub_disk_adjust_range): ... this. Add a comment explaining the
44382 tasks performed by this function.
44383
44384 2008-06-08 Robert Millan <rmh@aybabtu.com>
44385
44386 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44387 `num_serial' (for consistency with other variables).
44388 (struct grub_ntfs_data): Add `uuid' member.
44389 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44390 (grub_ntfs_uuid): New function.
44391 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44392
44393 2008-06-07 Pavel Roskin <proski@gnu.org>
44394
44395 * util/biosdisk.c (open_device): Revert last change to the
44396 function, it broke installation. The sector needs to be
44397 different dependent on which device is opened.
44398
44399 2008-06-06 Robert Millan <rmh@aybabtu.com>
44400
44401 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44402 rest of GRUB, and breakage doesn't happen if its value were modified.
44403
44404 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44405 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44406 a constant (same value).
44407 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44408 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44409
44410 2008-06-06 Robert Millan <rmh@aybabtu.com>
44411
44412 * util/biosdisk.c (open_device): Do not modify sector offset when
44413 accessing a partition. kern/disk.c already handles this for us.
44414
44415 2008-06-06 Robert Millan <rmh@aybabtu.com>
44416
44417 * util/grub-emu.c (grub_machine_init): Move code in this function from
44418 here ...
44419 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44420 segfault in case grub_printf() is called).
44421
44422 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44423 grub_probe. Update all users not to explicitly add it again.
44424 (grub_device): New variable; contains corresponding device for grubdir.
44425 (fs_module, partmap_module, devabstraction_module): Pass
44426 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44427 every time.
44428
44429 2008-06-05 Robert Millan <rmh@aybabtu.com>
44430
44431 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44432 is found, print it (same layout as with labels).
44433
44434 2008-06-04 Robert Millan <rmh@aybabtu.com>
44435
44436 * util/biosdisk.c (get_drive): Rename to ...
44437 (find_grub_drive): ... this. Update all users.
44438
44439 (get_os_disk): Rename to ...
44440 (convert_system_partition_to_system_disk): ... this. Update all users.
44441
44442 (find_drive): Rename to ...
44443 (find_system_device): ... this. Update all users.
44444
44445 2008-06-04 Robert Millan <rmh@aybabtu.com>
44446
44447 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44448 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44449 (make_device_map): Likewise.
44450
44451 2008-06-01 Robert Millan <rmh@aybabtu.com>
44452
44453 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44454 before dereferencing it.
44455
44456 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44457 union with fat12/fat16-specific ones. Add some new fields, including
44458 `num_serial' for both versions.
44459 (struct grub_fat_data): Add `uuid' member.
44460 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44461 names. Initialize `data->uuid' using `num_serial'.
44462 (grub_fat_uuid): New function.
44463 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44464
44465 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44466 (grub_reiserfs_uuid): New function.
44467 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44468 member.
44469
44470 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44471 (grub_xfs_uuid): New function.
44472 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44473
44474 2008-06-01 Robert Millan <rmh@aybabtu.com>
44475
44476 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44477 code that is backward compatible with pre-uuid search command.
44478
44479 2008-05-31 Robert Millan <rmh@aybabtu.com>
44480
44481 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44482 floppies after everything else, to ensure floppy drive isn't accessed
44483 unnecessarily (patch from Bean).
44484
44485 2008-05-31 Robert Millan <rmh@aybabtu.com>
44486
44487 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44488 not print device names when we were asked to set a variable.
44489
44490 2008-05-31 Robert Millan <rmh@aybabtu.com>
44491
44492 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44493 using "cursor-on" and "cursor-off" commands (understood at least by
44494 the Open Firmware flavour on OLPC).
44495
44496 2008-05-31 Michael Gorven <michael@gorven.za.net>
44497
44498 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44499 on and off sequences.
44500
44501 2008-05-31 Robert Millan <rmh@aybabtu.com>
44502
44503 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44504 * util/update-grub.in: Likewise.
44505
44506 2008-05-30 Pavel Roskin <proski@gnu.org>
44507
44508 * util/biosdisk.c (linux_find_partition): Simplify logic and
44509 make the code more universal. Keep special processing for
44510 devfs, but use a simple rule for all other devices. If the
44511 device ends with a number, append 'p' and the partition number.
44512 Otherwise, append only the partition number.
44513
44514 2008-05-30 Robert Millan <rmh@aybabtu.com>
44515
44516 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44517 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44518 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44519 the `root' parameter to Linux.
44520
44521 2008-05-30 Robert Millan <rmh@aybabtu.com>
44522
44523 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44524 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44525 --fs_uuid with --fs-uuid.
44526 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44527 all filesystems support them).
44528
44529 2008-05-30 Robert Millan <rmh@aybabtu.com>
44530
44531 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
44532 grub_printf() flags, since we're printing in units of 2 bytes.
44533
44534 2008-05-30 Robert Millan <rmh@aybabtu.com>
44535
44536 * util/grub.d/00_header.in: Remove obsolete comment referencing
44537 convert_system_path_to_grub_path().
44538 * util/update-grub.in: Likewise.
44539 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44540 (convert_system_path_to_grub_path): Add a warning message explaining
44541 that this function is deprecated. Rely on is_path_readable_by_grub()
44542 for the readability checks.
44543 (font_path): Use is_path_readable_by_grub() for the readability
44544 check rather than convert_system_path_to_grub_path().
44545
44546 2008-05-30 Robert Millan <rmh@aybabtu.com>
44547
44548 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44549 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44550 converting it first.
44551 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44552 grub.cfg for access to font file, and afterwards call it again to set
44553 the root device.
44554
44555 2008-05-30 Robert Millan <rmh@aybabtu.com>
44556
44557 * commands/search.c (options): Add --fs_uuid option.
44558 (search_fs_uuid): New function.
44559 (grub_cmd_search): Fix --set argument passing.
44560 Use search_fs_uuid() when requested via --fs_uuid.
44561 (grub_search_init): Update help message.
44562 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44563 and redeclare it as an array of 16-bit words.
44564 (grub_ext2_uuid): New function.
44565 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44566 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44567 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44568 (GRUB_DEVICE_BOOT_UUID): New variables.
44569 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44570 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44571 whenever possible.
44572 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44573 just assume `root' variable has the right value.
44574 * util/grub.d/10_linux.in: Likewise.
44575 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44576 via PRINT_FS_UUID.
44577 (main): Recognise `-t fs_uuid' argument.
44578
44579 2008-05-30 Robert Millan <rmh@aybabtu.com>
44580
44581 * util/biosdisk.c (map): Redefine structure to hold information
44582 about GRUB drive name.
44583 (get_drive): Reimplement without assuming (and verifying) BIOS-like
44584 drive names.
44585 (call_hook): Remove.
44586 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44587 member. Assume drive has partitions.
44588 (grub_util_biosdisk_open): Access device names via `.device' struct
44589 member.
44590 (open_device): Likewise.
44591 (find_drive): Likewise.
44592 (read_device_map): Adjust map[] usage to match the new struct
44593 definition. Don't check for duplicates (still possible, but not cheap
44594 anymore).
44595 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44596 (make_device_name): Remove assumption of BIOS-like drive names.
44597
44598 2008-05-30 Pavel Roskin <proski@gnu.org>
44599
44600 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44601 compiling execute.c doesn't need grub_script.tab.h anymore.
44602 (normal/command.c_DEPENDENCIES): Likewise.
44603 (normal/function.c_DEPENDENCIES): Likewise.
44604 * conf/i386-ieee1275.rmk: Likewise.
44605 * conf/i386-linuxbios.rmk: Likewise.
44606 * conf/i386-pc.rmk: Likewise.
44607 * conf/powerpc-ieee1275.rmk: Likewise.
44608 * conf/sparc64-ieee1275.rmk: Likewise.
44609
44610 2008-05-29 Pavel Roskin <proski@gnu.org>
44611
44612 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44613 when scanning metadata for volume group name.
44614
44615 * include/grub/script.h: Don't include grub_script.tab.h. It's
44616 a generated file, which may only be included from the files with
44617 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44618 use union YYSTYPE, as the later allows forward declaration.
44619 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44620
44621 2008-05-29 Robert Millan <rmh@aybabtu.com>
44622
44623 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44624 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44625 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44626 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44627 scan codes.
44628
44629 2008-05-29 Robert Millan <rmh@aybabtu.com>
44630
44631 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44632 control key combinations.
44633
44634 2008-05-29 Robert Millan <rmh@aybabtu.com>
44635
44636 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44637 * util/ieee1275/grub-install.in: ... to here.
44638 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44639 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44640 (grub_install_SOURCES): Likewise.
44641
44642 2008-05-29 Robert Millan <rmh@aybabtu.com>
44643
44644 * fs/affs.c: Update copyright year.
44645 * fs/ext2.c: Likewise.
44646 * fs/fshelp.c: Likewise.
44647 * fs/hfsplus.c: Likewise.
44648 * fs/ntfs.c: Likewise.
44649 * fs/xfs.c: Likewise.
44650 * include/grub/fshelp.h: Likewise.
44651 * util/grub-mkdevicemap.c: Likewise.
44652
44653 2008-05-28 Robert Millan <rmh@aybabtu.com>
44654
44655 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44656 might need to be fatfs to support some firmware implementations
44657 (e.g. OFW or EFI).
44658
44659 2008-05-28 Robert Millan <rmh@aybabtu.com>
44660
44661 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44662 devices.
44663 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44664 (make_device_map): Likewise.
44665
44666 2008-05-20 Bean <bean123ch@gmail.com>
44667
44668 * fs/fshelp.c (grub_fshelp_map_block): New function.
44669 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44670 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44671
44672 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44673 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44674 (grub_fshelp_journal): New structure.
44675 (grub_fshelp_map_block): New function prototype.
44676 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44677 (grub_fshelp_map_block): Likewise.
44678
44679 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44680 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44681 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44682 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44683 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44684 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44685 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44686 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44687 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44688 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44689 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44690 (grub_ext2_sblock): New members for journal support.
44691 (grub_ext3_journal_header): New structure.
44692 (grub_ext3_journal_revoke_header): Likewise.
44693 (grub_ext3_journal_block_tag): Likewise.
44694 (grub_ext3_journal_sblock): Likewise.
44695 (grub_fshelp_node): New members logfile and journal.
44696 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44697 grub_fshelp_map_block to get real block number.
44698 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44699 number.
44700 (grub_ext2_read_inode): Likewise.
44701 (grub_ext3_get_journal): New function.
44702 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44703 (grub_ext2_close): Release memory used by journal.
44704
44705 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44706 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44707 (grub_reiserfs_transaction_header): Renamed to
44708 grub_reiserfs_description_block, replace field data with real_blocks.
44709 (grub_reiserfs_commit_block): New structure.
44710 (grub_reiserfs_data): New member journal.
44711 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44712 number.
44713 (grub_reiserfs_read_symlink): Likewise.
44714 (grub_reiserfs_iterate_dir): Likewise.
44715 (grub_reiserfs_open): Likewise.
44716 (grub_reiserfs_read): Likewise.
44717 (grub_reiserfs_get_journal): New function.
44718 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44719 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44720 using grub_reiserfs_get_journal.
44721 (grub_reiserfs_close): Release memory used by journal.
44722
44723 * fs/affs.c (grub_affs_read_block): Change block type to
44724 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44725
44726 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44727
44728 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44729
44730 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44731
44732 * fs/udf.c (grub_udf_read_block): Change block type to
44733 grub_disk_addr_t. Use type cast to avoid warning.
44734
44735 * fs/xfs.c (grub_xfs_read_block): Likewise.
44736
44737 2008-05-16 Christian Franke <franke@computer.org>
44738
44739 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44740 to ensure that break with ESC will always work.
44741 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44742 Remove ESC from keyboard queue.
44743
44744 2008-05-16 Christian Franke <franke@computer.org>
44745
44746 * util/biosdisk.c: [__CYGWIN__] Add includes.
44747 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44748 (get_os_disk): Move variable declarations to OS specific
44749 parts to avoid warning.
44750 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44751 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44752 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44753 Cygwin.
44754 * util/getroot.c: [__CYGWIN__] Add includes.
44755 (strip_extra_slashes): Fix "/" case.
44756 [__CYGWIN__] (get_win32_path): New function.
44757 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44758 [__CYGWIN__] (find_root_device): Disable.
44759 [__CYGWIN__] (get_bootsec_serial): New function.
44760 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44761 [__linux__] (grub_guess_root_device): Add early returns to simplify
44762 structure.
44763 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44764 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44765 check for Linux only.
44766
44767 2008-05-15 Bean <bean123ch@gmail.com>
44768
44769 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44770 keyboard hang problem in apple's intel mac.
44771
44772 2008-05-09 Robert Millan <rmh@aybabtu.com>
44773
44774 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44775 devices.
44776 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44777 (make_device_map): Likewise.
44778 Reported by Aurelien Jarno <aurel32@debian.org>
44779
44780 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
44781
44782 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44783 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44784 (make_device_map): Output entries for xvd type disks.
44785
44786 2008-05-07 Robert Millan <rmh@aybabtu.com>
44787
44788 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44789 devices.
44790 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44791 (make_device_map): Likewise.
44792 Reported by Roland Dreier <rdreier@cisco.com>
44793
44794 2008-05-07 Robert Millan <rmh@aybabtu.com>
44795
44796 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44797 grub_strstr() call. Correct a few mistakes in failure path handling.
44798
44799 2008-05-06 Robert Millan <rmh@aybabtu.com>
44800
44801 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44802 Do not print a trailing slash (therefore, the root directory is an
44803 empty string).
44804 (convert_system_path_to_grub_path): Do not remove trailing slash
44805 from make_system_path_relative_to_its_root() output.
44806
44807 * util/i386/pc/grub-install.in: Add trailing slash to output from
44808 make_system_path_relative_to_its_root().
44809
44810 2008-05-06 Robert Millan <rmh@aybabtu.com>
44811
44812 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44813 ensures that output lines aren't intermangled with those sent to
44814 stderr (via grub_util_info()).
44815 * util/grub-probe.c (grub_refresh): Likewise.
44816 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44817
44818 2008-05-05 Christian Franke <franke@computer.org>
44819
44820 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44821 Add Cygwin device names.
44822 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44823 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44824 (check_device): Return error instead of success on empty name.
44825 (make_device_map): Move label inside linux specific code to
44826 prevent compiler warning.
44827
44828 2008-04-30 Robert Millan <rmh@aybabtu.com>
44829
44830 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44831 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44832 first boot option.
44833 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44834
44835 2008-04-29 Robert Millan <rmh@aybabtu.com>
44836
44837 * docs/grub.cfg: New file (example GRUB configuration).
44838
44839 2008-04-26 Robert Millan <rmh@aybabtu.com>
44840
44841 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44842 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44843 and `disk/ieee1275/nand.c'.
44844
44845 2008-04-25 Bean <bean123ch@gmail.com>
44846
44847 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44848 i386-linuxbios.
44849
44850 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44851 change the buffer size to 4096 for cdrom device.
44852
44853 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44854 and nand.mod.
44855 (_linux_mod_SOURCES): New variable.
44856 (_linux_mod_CFLAGS): Likewise.
44857 (_linux_mod_LDFLAGS): Likewise.
44858 (linux_mod_SOURCES): Likewise.
44859 (linux_mod_CFLAGS): Likewise.
44860 (linux_mod_LDFLAGS): Likewise.
44861 (nand_mod_SOURCES): Likewise.
44862 (nand_mod_CFLAGS): Likewise.
44863 (nand_mod_LDFLAGS): Likewise.
44864
44865 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44866 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44867 type property. (nand device in olpc don't have this property)
44868
44869 * include/grub/disk.h (grub_disk_dev_id): New macro
44870 GRUB_DISK_DEVICE_NAND_ID.
44871
44872 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44873 function prototype.
44874 (grub_rescue_cmd_initrd): Likewise.
44875
44876 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44877 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44878 ofw_cif_handler and ofw_idt, adjust padding number.
44879
44880 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44881 GRUB_MACHINE_IEEE1275 is defined.
44882
44883 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44884 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44885
44886 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44887 on nested function heap_init.
44888 (grub_upper_mem): New variable for i386-ieee1275.
44889 (grub_get_extended_memory): New function for i386-ieee1275.
44890 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44891
44892 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44893 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44894 property.
44895
44896 * loader/i386/ieee1275/linux.c: New file.
44897
44898 * loader/i386/ieee1275/linux_normal.c: New file.
44899
44900 * disk/ieee1275/nand.c: New file.
44901
44902 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44903
44904 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44905 value.
44906 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44907
44908 2008-04-18 Robert Millan <rmh@aybabtu.com>
44909
44910 Restructures early code path on ieee1275 to unify grub_main() as
44911 the first C function that is executed in every platform.
44912
44913 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44914 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44915 cmain().
44916 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44917 * kern/ieee1275/cmain.c (cmain): Rename to ...
44918 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44919 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44920 at the beginning.
44921
44922 2008-04-18 Robert Millan <rmh@aybabtu.com>
44923
44924 * util/update-grub.in: Fix syntax error when setting
44925 `GRUB_PRELOAD_MODULES'.
44926 Reported by Stephane Chazelas <stephane@artesyncp.com>
44927
44928 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44929
44930 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44931 section into account, newer toolchains generate unique build ids
44932 * configure.ac: remove the test for --build-id=none acceptance,
44933 we want build ids to be preserved
44934 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44935 far from other sections don't cause the raw binary images grow
44936 size
44937
44938 2008-04-15 Robert Millan <rmh@aybabtu.com>
44939
44940 * disk/lvm.c: Update copyright year.
44941 * kern/misc.c: Likewise.
44942
44943 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44944
44945 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
44946 there is no memory left for physical volume name.
44947
44948 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44949
44950 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44951 volume name mapping to support bigger than 9 character names properly.
44952
44953 2008-04-13 Robert Millan <rmh@aybabtu.com>
44954
44955 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44956 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44957
44958 2008-04-13 Christian Franke <franke@computer.org>
44959
44960 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44961 to create a floppy emulation boot CD when non emulation mode
44962 does not work.
44963 Enable Joliet CD filesystem extension.
44964
44965 2008-04-13 Robert Millan <rmh@aybabtu.com>
44966
44967 * kern/misc.c (grub_strncat): Fix off-by-one error.
44968 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44969
44970 * kern/env.c (grub_env_context_close): Clear current context, not
44971 previous one.
44972 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
44973
44974 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
44975
44976 2008-04-13 Robert Millan <rmh@aybabtu.com>
44977
44978 Improve robustness when handling LVM.
44979
44980 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
44981 (and leave `*p' unmodified).
44982 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
44983 through it.
44984 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
44985 iterating through it.
44986 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
44987 through it.
44988 (grub_lvm_scan_device): Check the return value (and fail gracefully
44989 when due) on each grub_lvm_getvalue() or grub_strstr() call.
44990 Don't assume `vg->pvs != NULL' when iterating through it.
44991
44992 2008-04-13 Robert Millan <rmh@aybabtu.com>
44993
44994 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
44995 * genmk.rb (partmap): New variable.
44996 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
44997 (#{partmap}): New target rule.
44998 * genpartmaplist.sh: New file.
44999 * Makefile.in (pkglib_DATA): Add partmap.lst.
45000 (partmap.lst): New target rule.
45001 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45002 modules (including all partition maps), instead of preloading them.
45003
45004 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45005
45006 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45007 `linux-boot-prober' (if installed) to detect other operating
45008 systems which are installed on the computer and add them to
45009 the boot menu.
45010 * conf/common.rmk: Build and install 30_os-prober.
45011
45012 2008-04-12 Robert Millan <rmh@aybabtu.com>
45013
45014 * kern/powerpc/ieee1275/init.c: Move from here ...
45015 * kern/ieee1275/init.c: ... to here. Update all users.
45016
45017 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45018 * kern/ieee1275/cmain.c: ... to here. Update all users.
45019
45020 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45021 * kern/ieee1275/openfw.c: ... to here. Update all users.
45022
45023 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45024 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45025
45026 2008-04-10 Pavel Roskin <proski@gnu.org>
45027
45028 * configure.ac: Always use "_cv_" in cache variables for
45029 compatibility with Autoconf 2.62.
45030
45031 2008-04-07 Robert Millan <rmh@aybabtu.com>
45032
45033 Revert grub/machine/init.h addition by Pavel (since it breaks on
45034 i386-ieee1275 and others):
45035 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45036 * util/powerpc/ieee1275/misc.c: Likewise.
45037
45038 2008-04-07 Robert Millan <rmh@aybabtu.com>
45039
45040 * util/grub-probe.c (probe): Improve error message.
45041
45042 2008-04-07 Robert Millan <rmh@aybabtu.com>
45043
45044 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45045 (this prevents the presence of a bogus entry from ruining the whole
45046 thing).
45047
45048 2008-04-06 Pavel Roskin <proski@gnu.org>
45049
45050 * util/biosdisk.c: Include grub/util/biosdisk.h.
45051 * util/grub-fstest.c (execute_command): Make static.
45052 * util/grub-mkdevicemap.c (check_device): Likewise.
45053 * util/i386/pc/misc.c: Include grub/machine/init.h.
45054 * util/powerpc/ieee1275/misc.c: Likewise.
45055 * util/lvm.c: Include grub/util/lvm.h.
45056 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45057 grub/cache.h.
45058 * util/raid.c: Include grub/util/raid.h.
45059 (grub_util_getdiskname): Make static.
45060
45061 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45062 grub_hostfs_fini(), as they are called from grub_init_all() and
45063 grub_fini_all() respectively. This fixes an infinite loop in
45064 grub-fstest due to double registration of hostfs.
45065 Reported by Christian Franke <Christian.Franke@t-online.de>
45066
45067 2008-04-05 Pavel Roskin <proski@gnu.org>
45068
45069 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45070 all 8 functions. Otherwise, probe function 0 only.
45071
45072 2008-04-04 Pavel Roskin <proski@gnu.org>
45073
45074 * commands/lspci.c (grub_lspci_iter): Print the bus number
45075 correctly.
45076
45077 * commands/lspci.c (grub_pci_classes): Fix typos.
45078 (grub_lspci_iter): Don't print func twice. Print vendor ID
45079 before device ID, as it's normally done.
45080
45081 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45082 Fix signedness warnings.
45083 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45084 Likewise.
45085 * util/ieee1275/get_disk_name.c: Include config.h so that
45086 _GNU_SOURCE is defined and getline() is declared. Mark an
45087 unused argument as such. Fix a signedness warning.
45088
45089 2008-04-02 Pavel Roskin <proski@gnu.org>
45090
45091 * genkernsyms.sh.in: Use more robust assignments for CC and
45092 srcdir. Quote srcdir.
45093 * gensymlist.sh.in: Likewise. Assert at the compile time that
45094 the symbol table is not empty.
45095
45096 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45097 * fs/cpio.c (grub_cpio_read): Likewise.
45098
45099 2008-04-01 Pavel Roskin <proski@gnu.org>
45100
45101 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45102 * disk/host.c (grub_host_open): Likewise.
45103 * disk/loopback.c (grub_loopback_open): Likewise.
45104 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45105 disk->id as in disk/host.c, not a multi-character constant.
45106
45107 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45108 later is obsolete, potentially dangerous and sets a bad example.
45109 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45110 * util/misc.c (grub_util_get_image_size): Likewise.
45111
45112 * disk/loopback.c (options): Improve help for "--partitions".
45113
45114 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45115 options to align them with the short options, e.g. "echo -e".
45116
45117 2008-03-31 Bean <bean123ch@gmail.com>
45118
45119 * video/reader/png.c (grub_png_data): New member is_16bit and
45120 image_data.
45121 (grub_png_decode_image_header): Detect 16 bit png image.
45122 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45123 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45124 (grub_video_reader_png): Release memory occupied by image_data.
45125
45126 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45127 4096 bytes.
45128 (grub_nfs_mount): Skip the test for sector per cluster.
45129
45130 * include/grub/ntfs.h (MAX_SPC): Removed.
45131
45132 2008-03-31 Bean <bean123ch@gmail.com>
45133
45134 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45135 (grub_probe_SOURCES): Add fs/afs.c.
45136 (grub_fstest_SOURCES): Likewise.
45137 (afs_mod_SOURCES): New variable.
45138 (afs_mod_CFLAGS): Likewise.
45139 (afs_mod_LDFLAGS): Likewise.
45140
45141 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45142 (grub_emu_SOURCES): Likewise.
45143
45144 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45145
45146 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45147
45148 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45149
45150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45151
45152 * fs/afs.c: New file.
45153
45154 2008-03-30 Pavel Roskin <proski@gnu.org>
45155
45156 * disk/host.c: Include grub/misc.h to fix a warning.
45157 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45158 warnings about implicit declarations.
45159
45160 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45161 variable.
45162 * include/grub/i386/loader.h: Change declaration of
45163 grub_linux_boot() to match what grub_loader_set() expects.
45164 * util/getroot.c (grub_guess_root_device): Return const char* to
45165 fix a warning.
45166 * util/grub-probe.c (probe): Fix a warning about uninitialized
45167 abstraction_name variable.
45168 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45169 second argument as unused to fix a warning.
45170
45171 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45172 missing grub_error() call.
45173
45174 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45175 2.60 and newer uses it to define datadir.
45176
45177 * commands/sleep.c: Fix warning about implicit declaration.
45178 * disk/memdisk.c: Likewise.
45179 * loader/aout.c: Likewise.
45180 * loader/i386/bsd_normal.c: Likewise.
45181 * util/grub-probe.c: Likewise.
45182
45183 * commands/i386/cpuid.c (has_longmode): Make static.
45184 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45185 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45186
45187 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45188 GDT. This is more robust, as %ds can change.
45189 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45190 calling real_to_prot().
45191 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45192
45193 2008-03-28 Pavel Roskin <proski@gnu.org>
45194
45195 * kern/i386/pc/startup.S: Assert that uncompressed functions
45196 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45197 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45198 code, as they push parts of the code (error handlers) beyond
45199 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45200 code as correctness and size.
45201
45202 2008-03-28 Pavel Roskin <proski@gnu.org>
45203
45204 * kern/i386/pc/startup.S
45205 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45206 data block address to the real mode, keep offset minimal. This
45207 works around a bug in AWARD BIOS on old Athlon systems, which
45208 makes CD detection hang.
45209
45210 2008-03-26 Pavel Roskin <proski@gnu.org>
45211
45212 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45213 const.
45214 * include/grub/normal.h: Add grub_parse_color_name_pair()
45215 declaration.
45216
45217 2008-03-24 Bean <bean123ch@gmail.com>
45218
45219 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45220 (cd_count): Removed.
45221 (cd_drive): New variable.
45222 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45223 (grub_biosdisk_call_hook): Likewise.
45224 (grub_biosdisk_iterate): Change cdrom detection method.
45225 (grub_biosdisk_open): Replace cd_start with cd_drive.
45226 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45227 detect cdrom device.
45228
45229 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45230 Removed.
45231 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45232 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45233 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45234 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45235 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45236 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45237 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45238 (grub_biosdisk_cdrp): New structure.
45239 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45240
45241 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45242
45243 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45244 device.
45245
45246 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45247 New function.
45248
45249 2008-03-20 Robert Millan <rmh@aybabtu.com>
45250
45251 Remove 2 TiB limit in ata.mod.
45252 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45253 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45254 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45255 grub_uint64_t instead of grub_uint32_t.
45256
45257 2008-03-05 Bean <bean123ch@gmail.com>
45258
45259 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45260 (grub_multiboot): Set boot device.
45261
45262 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45263
45264 2008-03-02 Bean <bean123ch@gmail.com>
45265
45266 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45267 symlink_buffer.
45268
45269 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45270
45271 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45272 texinfo.tex.
45273
45274 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45275 modified.
45276
45277 * docs/fdl.texi: New file.
45278
45279 * docs/mdate-sh: New file. Copied from gnulib.
45280 * docs/texinfo.tex: Likewise.
45281
45282 * config.guess: Updated from gnulib.
45283 * install-sh: Likewise.
45284
45285 2008-02-28 Robert Millan <rmh@aybabtu.com>
45286
45287 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45288 (aout_mod_SOURCES): New variable.
45289 (aout_mod_CFLAGS): Likewise.
45290 (aout_mod_LDFLAGS): Likewise.
45291
45292 * conf/i386-ieee1275.rmk: Likewise.
45293
45294 2008-02-28 Robert Millan <rmh@aybabtu.com>
45295
45296 * util/update-grub.in: Reorganise terminal validity check. Accept
45297 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45298 Based on suggestion by Franklin PIAT.
45299
45300 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45301
45302 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45303 function.
45304 * util/getroot.c (grub_util_check_block_device): New function that
45305 returns the given argument if it is a block device and returns NULL else.
45306 * util/grub-probe.c (argument_is_device): New variable.
45307 (probe): Promote device_name from a variable to an argument. Receive
45308 device_name from grub_util_check_block_device() if path is NULL and from
45309 grub_guess_root_device() else. Do not free() device_name anymore.
45310 (options): Introduce new parameter '-d, --device'.
45311 (main): Add description of the new parameter to the help screen.
45312 Rename path variable to argument. Set argument_is_device if the '-d'
45313 option is given. Pass argument to probe() depending on
45314 argument_is_device.
45315
45316 2008-02-24 Bean <bean123ch@gmail.com>
45317
45318 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45319 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45320 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45321 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45322 (GRUB_ISO9660_VOLDESC_END): Likewise.
45323 (grub_iso9660_primary_voldesc): New member escape.
45324 (grub_iso9660_data): New member joliet.
45325 (grub_iso9660_convert_string): New function.
45326 (grub_iso9660_mount): Detect joliet extension.
45327 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45328 (grub_iso9660_iso9660_label): Likewise.
45329
45330 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45331 (grub_setup_SOURCES): Add fs/udf.c.
45332 (grub_fstest_SOURCES): Likewise.
45333 (udf_mod_SOURCES): New variable.
45334 (udf_mod_CFLAGS): Likewise.
45335 (udf_mod_LDFLAGS): Likewise.
45336
45337 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45338 (grub_emu_SOURCES): Likewise.
45339
45340 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45341
45342 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45343
45344 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45345
45346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45347
45348 * fs/udf.c: New file.
45349
45350 2008-02-24 Robert Millan <rmh@aybabtu.com>
45351
45352 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45353 (normal/lexer.c_DEPENDENCIES): New variables.
45354 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45355 (normal/lexer.c_DEPENDENCIES): Likewise.
45356 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45357 (normal/lexer.c_DEPENDENCIES): Likewise.
45358 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45359 (normal/lexer.c_DEPENDENCIES): Likewise.
45360 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45361 (normal/lexer.c_DEPENDENCIES): Likewise.
45362 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45363 (normal/lexer.c_DEPENDENCIES): Likewise.
45364
45365 2008-02-23 Robert Millan <rmh@aybabtu.com>
45366
45367 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45368 since they were intended to be in hex. This didn't break previously
45369 because of a bug in gpt_partition_map_iterate() (see below).
45370
45371 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45372 when checking the validity of GPT header.
45373 Remove `partno', since it always provides the same information as `i'.
45374
45375 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45376
45377 * include/grub/efi/time.h: Fix a wrong comment.
45378
45379 2008-02-19 Pavel Roskin <proski@gnu.org>
45380
45381 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45382 message.
45383
45384 2008-02-19 Bean <bean123ch@gmail.com>
45385
45386 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45387 (aout_mod_SOURCES): New variable.
45388 (aout_mod_CFLAGS): Likewise.
45389 (aout_mod_LDFLAGS): Likewise.
45390 (_bsd_mod_SOURCES): New variable.
45391 (_bsd_mod_CFLAGS): Likewise.
45392 (_bsd_mod_LDFLAGS): Likewise.
45393 (bsd_mod_SOURCES): New variable.
45394 (bsd_mod_CFLAGS): Likewise.
45395 (bsd_mod_LDFLAGS): Likewise.
45396
45397 * include/grub/aout.h: New file.
45398
45399 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45400
45401 * include/grub/i386/bsd.h: New file.
45402
45403 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45404 to make it public.
45405
45406 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45407 function is called, so that it's possible to change it inside the hook.
45408 (grub_elf64_load): Likewise.
45409 (grub_elf_file): Don't close the file if elf header is not found.
45410 (grub_elf_close): Close the file if grub_elf_file fails (The new
45411 grub_elf_file won't close it).
45412 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45413 (grub_elf64_size): Likewise.
45414
45415 * kern/i386/loader.S (grub_unix_real_boot): New function.
45416
45417 * loader/aout.c: New file.
45418
45419 * loader/i386/bsd.c: New file.
45420
45421 * loader/i386/bsd_normal.c: New file.
45422
45423 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45424
45425 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
45426 can test other formats.
45427
45428 2008-02-19 Robert Millan <rmh@aybabtu.com>
45429
45430 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45431 (grub_gpt_partition_type_empty): Redefine with macro from
45432 `<grub/gpt_partition.h>'.
45433 (gpt_partition_map_iterate): Adjust partition type comparison.
45434
45435 Export `entry' as partmap-specific `part.data' struct.
45436 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45437
45438 * include/grub/gpt_partition.h (grub_gpt_header)
45439 (grub_gpt_partentry): ... to here (new file).
45440
45441 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45442
45443 (grub_gpt_partition_type_bios_boot): New const variable, defined
45444 with macro from `<grub/gpt_partition.h>'.
45445
45446 (setup): Replace `first_start' with `embed_region', which keeps
45447 track of the embed region (and is partmap-agnostic).
45448
45449 Replace find_first_partition_start() with find_usable_region(),
45450 which finds a usable region for embedding using partmap-specific
45451 knowledge (supports PC/MSDOS and GPT).
45452
45453 Fix all assumptions that the embed region start at sector 1, using
45454 `embed_region.start' from now on. Similarly, use `embed_region.end'
45455 rather than `first_start' to calculate available size.
45456
45457 In grub_util_info() message, replace "into after the MBR" with an
45458 indication of the specific sector our embed region starts at.
45459
45460 2008-02-19 Robert Millan <rmh@aybabtu.com>
45461
45462 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45463 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45464 `commands/reboot.c'.
45465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45466 (halt_mod_SOURCES): Likewise.
45467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45468 (halt_mod_SOURCES): Likewise.
45469
45470 2008-02-17 Christian Franke <franke@computer.org>
45471
45472 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45473
45474 2008-02-17 Robert Millan <rmh@aybabtu.com>
45475
45476 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45477 set `first_start' to 0 for non-PC/MSDOS partition maps.
45478
45479 2008-02-16 Robert Millan <rmh@aybabtu.com>
45480
45481 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45482 do not assume partition map is PC/MSDOS before performing checks that
45483 are specific to that layout.
45484
45485 2008-02-13 Robert Millan <rmh@aybabtu.com>
45486
45487 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45488 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45489 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45490
45491 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45492
45493 * configure.ac: Only a cosmetic change on the handling of
45494 -fno-stack-protector.
45495
45496 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
45497
45498 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45499 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45500 reboot.c.
45501 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45502 (halt_mod_SOURCES): New variable.
45503 (halt_mod_CFLAGS): Likewise.
45504 (halt_mod_LDFLAGS): Likewise.
45505 (reboot_mod_SOURCES): Likewise.
45506 (reboot_mod_CFLAGS): Likewise.
45507 (reboot_mod_LDFLAGS): Likewise.
45508
45509 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45510 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45511 reboot.c.
45512 (halt_mod_SOURCES): Likewise.
45513 (reboot_mod_SOURCES): Likewise.
45514
45515 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45516 commands/i386/pc/reboot.c by commands/reboot.c.
45517 (reboot_mod_SOURCES): Likewise.
45518
45519 * commands/i386/pc/reboot.c: merge this file ...
45520
45521 * commands/ieee1275/reboot.c: ... and this file ...
45522
45523 * commands/reboot.c: ... to this file.
45524 Add some precompiler directive to include the correct header for
45525 each machine.
45526
45527 * commands/ieee1275/halt.c: move this file ...
45528
45529 * commands/halt.c: ... to here.
45530 Add some precompiler directive to include the correct header for
45531 each machine.
45532
45533 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45534 (grub_halt): Likewise.
45535
45536 * kern/efi/efi.c (grub_reboot): New function.
45537 (grub_halt): Likewise.
45538
45539 2008-02-12 Robert Millan <rmh@aybabtu.com>
45540
45541 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45542 /dev (like it is done for /dev/mapper). This doesn't provide support
45543 for EVMS, but at least it is now easy to identify the problem when it
45544 arises.
45545
45546 2008-02-11 Robert Millan <rmh@aybabtu.com>
45547
45548 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45549 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45550 comparing it with -1, not 0.
45551
45552 2008-02-10 Robert Millan <rmh@aybabtu.com>
45553
45554 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45555 `disk/lvm.c'.
45556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45557 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45558
45559 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45560 `disk/lvm.c' to the end of the list.
45561 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45562 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45563
45564 2008-02-10 Robert Millan <rmh@aybabtu.com>
45565
45566 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45567 grub_print_error() instead. This will let user know why we're entering
45568 rescue mode.
45569 Based on suggestions from Sam Morris.
45570
45571 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
45572
45573 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45574 on remaining N args, instead of "--" arg N times.
45575
45576 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45577
45578 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45579 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45580 pattern for unknown glyphs.
45581
45582 2008-02-09 Robert Millan <rmh@aybabtu.com>
45583
45584 * configure.ac: Probe for `help2man'.
45585 * Makefile.in (builddir): New variable.
45586 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45587 or otherwise add a few flags/options to it.
45588 (install-local): For every executable utility or script that is
45589 installed, invoke $(HELP2MAN) to install a manpage based on --help
45590 output.
45591
45592 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45593 that it doesn't prevent --help from working in build tree.
45594
45595 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45596 with `bug-grub@gnu.org'.
45597 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45598 * util/update-grub.in (usage): New function.
45599 Implement proper argument check, with support for --help and --version
45600 (as well as existing -y).
45601
45602 2008-02-09 Christian Franke <franke@computer.org>
45603
45604 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45605 avoid overwriting previous output.
45606 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45607
45608 2008-02-09 Robert Millan <rmh@aybabtu.com>
45609
45610 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45611 drawing the menu.
45612
45613 2008-02-09 Robert Millan <rmh@aybabtu.com>
45614
45615 * commands/sleep.c: New file.
45616 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45617 (sleep_mod_SOURCES): New variable.
45618 (sleep_mod_CFLAGS): Likewise.
45619 (sleep_mod_LDFLAGS): Likewise.
45620
45621 2008-02-09 Robert Millan <rmh@aybabtu.com>
45622
45623 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45624 situations in which we can deduce the RAID size and the superblock
45625 doesn't match it.
45626
45627 2008-02-09 Robert Millan <rmh@aybabtu.com>
45628
45629 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45630 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45631 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45632
45633 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45634 and return a grub_diskmemberlist_t composed of physical array members.
45635 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45636
45637 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45638 prototype.
45639 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45640 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45641 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45642
45643 * util/grub-probe.c (probe): Move partmap probing code from here ...
45644 (probe_partmap): ... to here.
45645 (probe): Use probe_partmap() once for the disk we're probing, and
45646 additionally, when such disk contains a memberlist() struct member,
45647 once for each disk that is contained in the structure returned by
45648 memberlist().
45649
45650 2008-02-09 Robert Millan <rmh@aybabtu.com>
45651
45652 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45653 environment variable to 'all' in order to obtain debug output from
45654 non-util/ code.
45655 * util/i386/pc/grub-setup.c (main): Likewise.
45656
45657 2008-02-08 Robert Millan <rmh@aybabtu.com>
45658
45659 * disk/raid.c (grub_raid_scan_device): Check for
45660 `array->device[sb.this_disk.number]' rather than for
45661 `array->device[sb.this_disk.number]->name', since the latter is not
45662 guaranteed to be accessible.
45663
45664 2008-02-08 Robert Millan <rmh@aybabtu.com>
45665
45666 * disk/raid.c: Update copyright.
45667 * fs/cpio.c: Likewise.
45668 * include/grub/raid.h: Likewise.
45669 * loader/i386/pc/multiboot.c: Likewise.
45670 * util/hostfs.c: Likewise.
45671
45672 2008-02-08 Robert Millan <rmh@aybabtu.com>
45673
45674 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45675 to a grub_disk_t array.
45676 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45677 `device[x]'.
45678 (grub_raid_scan_device): Replace `device[x].name' accesses with
45679 `device[x]->name'. Simplify initialization of `array->device[x]'.
45680
45681 2008-02-08 Robert Millan <rmh@aybabtu.com>
45682
45683 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45684 grub_dprintf() calls.
45685 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45686 error message.
45687
45688 2008-02-07 Christian Franke <franke@computer.org>
45689
45690 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45691 instead of fseek and ftell to support large files.
45692 (grub_hostfs_read): Likewise.
45693
45694 2008-02-07 Robert Millan <rmh@aybabtu.com>
45695
45696 Patch from Jeroen Dekkers.
45697 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
45698 failure, since successfully reading all array members might not be
45699 required.
45700
45701 2008-02-06 Robert Millan <rmh@aybabtu.com>
45702
45703 * util/grub-probe.c (probe): Simplify partmap probing (with the
45704 assumption that the first word up to the underscore equals to
45705 the module name).
45706
45707 2008-02-06 Christian Franke <franke@computer.org>
45708
45709 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45710 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45711 last block of a cpio or tar stream.
45712 Check for "TRAILER!!!" instead of any empty data
45713 block to detect last block of a cpio stream.
45714 (grub_cpio_dir): Fix constness of variable np.
45715 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45716 cpio or tar trailer is detected. This fixes a crash
45717 on open of a non existing file.
45718
45719 2008-02-05 Bean <bean123ch@gmail.com>
45720
45721 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45722 address of entry.
45723 (grub_multiboot_load_elf64): Likewise.
45724 (grub_multiboot): Initialize mbi structure.
45725
45726 * util/grub-fstest.c: Don't include unused header file script.h.
45727
45728 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
45729 of file.
45730 (grub_fstest_SOURCES): Likewise.
45731
45732 2008-02-05 Robert Millan <rmh@aybabtu.com>
45733
45734 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45735 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45736 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45737 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45738
45739 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45740 (translation_table): Replace hardcoded values with macros
45741 provided by `<grub/term.h>'.
45742
45743 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45744 (keyboard_map): Correct/add a few values, with macros provided
45745 by `<grub/term.h>'.
45746 (keyboard_map_shift): Zero values that don't differ from their
45747 `keyboard_map' equivalents.
45748 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45749 Discard the second scan code that is always sent by Caps lock.
45750 Only use `keyboard_map_shift' when it provides a non-zero value,
45751 otherwise fallback to `keyboard_map'.
45752
45753 2008-02-04 Bean <bean123ch@gmail.com>
45754
45755 * Makefile.in (enable_grub_fstest): New variable.
45756
45757 * conf/common.rmk (grub_fstest_init.lst): New rule.
45758 (grub_fstest_init.h): Likewise.
45759 (grub_fstest_init.c): Likewise.
45760 (util/grub-fstest.c_DEPENDENCIES): New variable.
45761 (grub_fstest_SOURCES): Likewise.
45762
45763 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45764
45765 * util/grub-fstest.c: New file.
45766
45767 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45768
45769 Make grub-setup handle a separate root device.
45770
45771 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45772 so that the root device can be compared with the destination
45773 device.
45774 When embedding the core image, if the root and destination devices
45775 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45776 0xFF.
45777 When not embedding, set ROOT_DRIVE to 0xFF.
45778
45779 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45780
45781 Add support for having a grub directory in a different drive. This
45782 is still only the data handling part.
45783
45784 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45785 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45786 (grub_root_drive): New variable.
45787
45788 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45789 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45790 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45791 as it was.
45792
45793 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45794
45795 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45796 macro.
45797 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45798
45799 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45800 is bogus, because PXE booting does not specify any drive
45801 correctly.
45802
45803 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45804 am not sure if this is really correct.
45805
45806 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45807 is always identical to the boot drive when booting from a CD.
45808
45809 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45810 longer.
45811 (root_drive): New variable.
45812 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45813 (setup_sectors): Push %dx right after popping it, because %dh will
45814 be modified later.
45815 (copy_buffer): Restore %dx.
45816
45817 2008-02-03 Robert Millan <rmh@aybabtu.com>
45818
45819 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45820 use `cdboot.img' for cdrom images.
45821
45822 2008-02-03 Robert Millan <rmh@aybabtu.com>
45823
45824 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45825 only setup gfxterm when `font' command has succeeded.
45826
45827 2008-02-03 Robert Millan <rmh@aybabtu.com>
45828
45829 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45830 (grub_rescue_cmd_multiboot_loader)
45831 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45832
45833 2008-02-03 Pavel Roskin <proski@gnu.org>
45834
45835 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
45836 %edx and %esi from stack only after grub_gate_a20() is called.
45837 grub_gate_a20() clobbers %edx.
45838
45839 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45840
45841 * configure.ac (AC_INIT): Bumped to 1.96.
45842
45843 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45844 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45845 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45846 video/readers/png.c.
45847
45848 2008-02-03 Bean <bean123ch@gmail.com>
45849
45850 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45851 (cdboot_img_SOURCES): New variable.
45852 (cdboot_img_ASFLAGS): New variable.
45853 (cdboot_img_LDFLAGS): New variable.
45854
45855 * boot/i386/pc/cdboot.S: New file.
45856
45857 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45858 (cd_count): Likewise.
45859 (grub_biosdisk_get_drive): Add support for cd device.
45860 (grub_biosdisk_call_hook): Likewise.
45861 (grub_biosdisk_iterate): Likewise.
45862 (grub_biosdisk_open): Likewise.
45863 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45864 (grub_biosdisk_rw): Support reading from cd device.
45865 (GRUB_MOD_INIT): Iterate cd devices.
45866
45867 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45868 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45869 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45870
45871 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45872
45873 2008-02-02 Robert Millan <rmh@aybabtu.com>
45874
45875 * commands/read.c: New file.
45876 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45877 (read_mod_SOURCES): New variable.
45878 (read_mod_CFLAGS): Likewise.
45879 (read_mod_LDFLAGS): Likewise.
45880
45881 2008-02-02 Robert Millan <rmh@aybabtu.com>
45882
45883 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45884 determining whether menu has to be displayed.
45885
45886 2008-02-02 Marco Gerards <marco@gnu.org>
45887
45888 * bus/pci.c: New file.
45889
45890 * include/grub/pci.h: Likewise.
45891
45892 * include/grub/i386/pc/pci.h: Likewise.
45893
45894 * commands/lspci.c: Likewise.
45895
45896 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45897 `lspci.mod'.
45898 (pci_mod_SOURCES): New variable.
45899 (pci_mod_CFLAGS): Likewise.
45900 (pci_mod_LDFLAGS): Likewise.
45901 (lspci_mod_SOURCES): Likewise.
45902 (lspci_mod_CFLAGS): Likewise.
45903 (lspci_mod_LDFLAGS): Likewise.
45904
45905 2008-02-02 Bean <bean123ch@gmail.com>
45906
45907 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45908 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45909
45910 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45911 (grub_xfs_btree_node): New structure.
45912 (grub_xfs_btree_root): New structure.
45913 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45914 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45915 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45916 (GRUB_XFS_EXTENT_SIZE): Likewise.
45917 (grub_xfs_read_block): Support btree format type.
45918 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45919 Use directory block as basic unit.
45920
45921 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45922
45923 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45924 __attribute__ ((__regparm__ (1))).
45925
45926 2008-02-01 Robert Millan <rmh@aybabtu.com>
45927
45928 Correct a mistake in previous commit.
45929
45930 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45931 top.
45932 (normal/command.c_DEPENDENCIES): New variable.
45933
45934 2008-02-01 Robert Millan <rmh@aybabtu.com>
45935
45936 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45937 top.
45938 (normal/command.c_DEPENDENCIES): New variable.
45939 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45940 * conf/i386-ieee1275.rmk: Likewise.
45941 * conf/i386-linuxbios.rmk: Likewise.
45942 * conf/i386-pc.rmk: Likewise.
45943 * conf/sparc64-ieee1275.rmk: Likewise.
45944 * conf/powerpc-ieee1275.rmk: Likewise.
45945 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45946
45947 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45948
45949 2008-02-01 Robert Millan <rmh@aybabtu.com>
45950
45951 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45952 call at beginning of function.
45953
45954 2008-01-31 Pavel Roskin <proski@gnu.org>
45955
45956 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
45957 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45958 (grub_mkrescue_SOURCES): Likewise.
45959 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45960
45961 2008-01-30 Robert Millan <rmh@aybabtu.com>
45962
45963 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45964 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45965 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45966 (grub_probe_SOURCES): ... to here.
45967
45968 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45969 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45970 * conf/i386-ieee1275.rmk: Likewise.
45971 * conf/i386-linuxbios.rmk: Likewise.
45972 * conf/powerpc-ieee1275.rmk: Likewise.
45973
45974 2008-01-30 Tristan Gingold <gingold@free.fr>
45975
45976 * kern/rescue.c: Silently accept empty lines.
45977
45978 2008-01-29 Bean <bean123ch@gmail.com>
45979
45980 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
45981 (real_code_2): Code cleanup and change comment style.
45982 (move_memory): Avoid using 32-bit address mode.
45983
45984 2008-01-29 Bean <bean123ch@gmail.com>
45985
45986 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
45987 (png_mod_SOURCES): New variable.
45988 (png_mod_CFLAGS): Likewise.
45989 (png_mod_LDFLAGS): Likewise.
45990
45991 * video/readers/png.c: New file.
45992
45993 2008-01-28 Robert Millan <rmh@aybabtu.com>
45994
45995 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
45996 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
45997 `ifndef GRUB_MOD_GAP' hack.
45998 * util/elf/grub-mkimage.c (add_segments): Likewise.
45999
46000 2008-01-27 Robert Millan <rmh@aybabtu.com>
46001
46002 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46003 `GRUB_MOD_GAP' for platforms in which it's not defined.
46004 * util/elf/grub-mkimage.c (add_segments): Likewise.
46005
46006 2008-01-27 Robert Millan <rmh@aybabtu.com>
46007
46008 Get grub-emu to build again (including parallel builds).
46009
46010 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46011 Split into ...
46012 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46013 (normal/execute.c_DEPENDENCIES): ... this, ...
46014 (grub-emu_DEPENDENCIES): ... and this.
46015
46016 * conf/i386-efi.rmk: Likewise.
46017 * conf/i386-linuxbios.rmk: Likewise.
46018 * conf/i386-ieee1275.rmk: Likewise.
46019 * conf/powerpc-ieee1275.rmk: Likewise.
46020 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46021
46022 2008-01-27 Robert Millan <rmh@aybabtu.com>
46023
46024 * NEWS: Add a few items.
46025
46026 2008-01-27 Robert Millan <rmh@aybabtu.com>
46027
46028 Fix parallel builds with grub-emu. Based on earlier commit for
46029 grub-probe and grub-setup.
46030
46031 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46032 (util/grub-emu.c_DEPENDENCIES): ... this.
46033 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46034 (util/grub-emu.c_DEPENDENCIES): ... this.
46035 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46036 (util/grub-emu.c_DEPENDENCIES): ... this.
46037 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46038 (util/grub-emu.c_DEPENDENCIES): ... this.
46039 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46040 (util/grub-emu.c_DEPENDENCIES): ... this.
46041
46042 2008-01-27 Pavel Roskin <proski@gnu.org>
46043
46044 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46045 to create a gap between _end and the modules added to the image
46046 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46047 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46048 * util/elf/grub-mkimage.c (add_segments): Likewise.
46049
46050 2008-01-26 Pavel Roskin <proski@gnu.org>
46051
46052 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46053 just return an error.
46054
46055 2008-01-26 Bean <bean123ch@gmail.com>
46056
46057 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46058 (grub_reiserfs_get_item): Save offset of the next item.
46059 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46060
46061 2008-01-25 Robert Millan <rmh@aybabtu.com>
46062
46063 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46064 make all filesystem sources appear together (possibly fixing omissions
46065 while at it).
46066 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46067 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46068 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46070
46071 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46072 add `kern/file.c'.
46073 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46074 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46075 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46076 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46077
46078 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46079 (probe): Add a sanity check to make sure of our ability to read
46080 requested files when probing for filesystem type.
46081
46082 * genmk.rb: Update copyright year (2007).
46083
46084 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46085 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46086 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46087 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46088 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46089 : Remove function prototypes.
46090
46091 2008-01-25 Robert Millan <rmh@aybabtu.com>
46092
46093 Revert my previous commits (based on wrong assumption of how grub_errno
46094 works).
46095
46096 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
46097 * kern/file.c (grub_file_open): Likewise.
46098
46099 2008-01-24 Pavel Roskin <proski@gnu.org>
46100
46101 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46102 that hang if GRUB tries to setup colors.
46103 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46104 colors for firmwares that don't support it.
46105 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46106 Recognize Open Hack'Ware, set flags to work around its
46107 limitations.
46108
46109 2008-01-24 Robert Millan <rmh@aybabtu.com>
46110
46111 * kern/file.c (grub_file_open): Do not account previous failures of
46112 unrelated functions when grub_errno is checked for.
46113 Reported by Oleg Strikov.
46114
46115 2008-01-24 Bean <bean123ch@gmail.com>
46116
46117 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46118 (grub_ufs_sblock): New member volume name.
46119 (grub_ufs_find_file): Fix string copy bug.
46120 (grub_ufs_label): Implement this function properly.
46121
46122 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46123 (grub_hfs_iterate_records): Use the correct file number for extents
46124 and catalog file. Fix problem in next index calculation.
46125 (grub_hfs_find_node): Replace recursive function call with loop.
46126 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46127
46128 2008-01-23 Robert Millan <rmh@aybabtu.com>
46129
46130 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46131 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46132 (grub_multiboot2_real_boot): New function prototype.
46133
46134 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46135 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46136
46137 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46138 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46139
46140 2008-01-23 Robert Millan <rmh@aybabtu.com>
46141
46142 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46143 #ifdef'ed out grub_printf().
46144
46145 2008-01-23 Robert Millan <rmh@aybabtu.com>
46146
46147 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46148 grub_dprintf calls, since they make "debug=all" mode unusable.
46149 (grub_console_checkkey): Likewise.
46150
46151 2008-01-23 Robert Millan <rmh@aybabtu.com>
46152
46153 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46154 `term/i386/pc/at_keyboard.c'.
46155 (pkglib_MODULES): Add `serial.mod'.
46156 (serial_mod_SOURCES): New variable.
46157 (serial_mod_CFLAGS): Likewise.
46158 (serial_mod_LDFLAGS): Likewise.
46159
46160 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46161 `<grub/powerpc/ieee1275/console.h>'.
46162 (grub_keyboard_controller_init): New function prototype.
46163 (grub_console_checkkey): Likewise.
46164 (grub_console_getkey): Likewise.
46165
46166 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46167 keyboard on i386.
46168
46169 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46170 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46171
46172 2008-01-23 Robert Millan <rmh@aybabtu.com>
46173
46174 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46175 present, "(memdisk)/boot/grub" becomes the default prefix.
46176
46177 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46178 a memdisk tarball with all the modules. Add --overlay=DIR option that
46179 allows users to overlay additional files into the image.
46180
46181 2008-01-23 Robert Millan <rmh@aybabtu.com>
46182
46183 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46184 and `machine/memory.h'.
46185 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46186 (_multiboot_mod_SOURCES): New variable.
46187 (_multiboot_mod_CFLAGS): Likewise.
46188 (_multiboot_mod_LDFLAGS): Likewise.
46189 (multiboot_mod_SOURCES): Likewise.
46190 (multiboot_mod_CFLAGS): Likewise.
46191 (multiboot_mod_LDFLAGS): Likewise.
46192
46193 * include/grub/i386/ieee1275/loader.h: New file.
46194
46195 * include/grub/i386/ieee1275/machine.h: Likewise.
46196
46197 * include/grub/i386/ieee1275/memory.h: Likewise.
46198
46199 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46200 variable declaration.
46201 (grub_os_area_size): Likewise.
46202
46203 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46204 (grub_lower_mem, grub_upper_mem): New variables.
46205 (grub_stop_floppy): New function (just to make
46206 grub_multiboot2_real_boot() happy).
46207
46208 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46209 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46210 (grub_stop): New function.
46211 Include `"../realmode.S"' and `"../loader.S"'.
46212
46213 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46214 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46215
46216 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46217 rely on grub_multiboot2_real_boot() for final boot.
46218
46219 2008-01-22 Robert Millan <rmh@aybabtu.com>
46220
46221 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46222 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46223 device that doesn't look like an SD card.
46224 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46225 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46226 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46227 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46228 found.
46229
46230 2008-01-22 Robert Millan <rmh@aybabtu.com>
46231
46232 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46233 avoid claiming over our own code.
46234
46235 2008-01-22 Bean <bean123ch@gmail.com>
46236
46237 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46238 (jpeg_mod_SOURCES): New variable.
46239 (jpeg_mod_CFLAGS): Likewise.
46240 (jpeg_mod_LDFLAGS): Likewise.
46241
46242 * video/readers/jpeg.c : New file.
46243
46244 2008-01-22 Bean <bean123ch@gmail.com>
46245
46246 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46247 there are no more items.
46248
46249 2008-01-21 Robert Millan <rmh@aybabtu.com>
46250
46251 * kern/mm.c (grub_mm_init_region): Improve debug message.
46252
46253 2008-01-21 Robert Millan <rmh@aybabtu.com>
46254
46255 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46256 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46257 address.
46258 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46259 a C macro.
46260 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46261 Indicates start of upper memory.
46262 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46263 (generate_image): Abort when image size is big enough to corrupt
46264 upper memory.
46265
46266 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46267 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46268 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46269 instead of hardcoding 0xA0000.
46270 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46271 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46272 instead of hardcoding 0xA0000.
46273
46274 2008-01-21 Robert Millan <rmh@aybabtu.com>
46275
46276 * disk/memdisk.c (memdisk_size): New variable.
46277 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46278 `memdisk_size'.
46279 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46280 image to dynamic memory.
46281 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46282 `memdisk_size'. Free memdisk block.
46283
46284 2008-01-21 Robert Millan <rmh@aybabtu.com>
46285
46286 Fix detection of very small filesystems (like tar).
46287
46288 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46289 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46290 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46291 a problem with this disk).
46292
46293 2008-01-21 Robert Millan <rmh@aybabtu.com>
46294
46295 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46296 on grub_biosdisk_rw_standard() error.
46297
46298 2008-01-21 Robert Millan <rmh@aybabtu.com>
46299
46300 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46301 recent changes.
46302 * kern/elf.c: Likewise.
46303 * kern/ieee1275/ieee1275.c: Likewise.
46304 * kern/powerpc/ieee1275/openfw.c: Likewise.
46305 * term/ieee1275/ofconsole.c: Likewise.
46306
46307 2008-01-21 Robert Millan <rmh@aybabtu.com>
46308
46309 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46310
46311 * include/grub/kernel.h (grub_arch_memdisk_addr)
46312 (grub_arch_memdisk_size): Moved from here ...
46313
46314 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46315 (grub_arch_memdisk_size): ... to here.
46316
46317 2008-01-21 Robert Millan <rmh@aybabtu.com>
46318
46319 Mostly based on bugfix from Bean.
46320
46321 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46322 attribute with hook() parameter.
46323 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46324 declaration.
46325 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46326 attribute with hook() parameter.
46327 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46328 declaration.
46329
46330 2008-01-21 Robert Millan <rmh@aybabtu.com>
46331
46332 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46333 (pkglib_MODULES): Add `memdisk.mod'.
46334 (memdisk_mod_SOURCES): New variable.
46335 (memdisk_mod_CFLAGS): Likewise.
46336 (memdisk_mod_LDFLAGS): Likewise.
46337
46338 * disk/memdisk.c: New file.
46339
46340 * include/grub/disk.h (grub_disk_dev_id): Add
46341 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46342
46343 * include/grub/i386/pc/kernel.h
46344 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46345 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46346 (grub_kernel_image_size): New variable declaration.
46347 (grub_total_module_size): Likewise.
46348 (grub_memdisk_image_size): Likewise.
46349
46350 * include/grub/i386/pc/memory.h
46351 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46352
46353 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46354 (grub_arch_memdisk_addr): New variable declaration.
46355 (grub_arch_memdisk_size): Likewise.
46356
46357 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46358 (grub_arch_memdisk_size): Likewise.
46359
46360 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46361 (codestart): Replace hardcoded `0x100000' with
46362 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46363
46364 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46365 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46366 not NULL, append the contents of the file it refers to, at the end of
46367 the compressed kernel image. Initialize `grub_memdisk_image_size'
46368 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46369 (options): Add "memdisk"|'m' option.
46370 (main): Parse --memdisk|-m option, and pass user-provided path as
46371 parameter to generate_image().
46372
46373 2008-01-20 Robert Millan <rmh@aybabtu.com>
46374
46375 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46376 grub_dprintf() calls from here ...
46377 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46378
46379 2008-01-20 Robert Millan <rmh@aybabtu.com>
46380
46381 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46382
46383 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46384 declaration.
46385 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46386 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46387 `GRUB_IEEE1275_FLAG_REAL_MODE'.
46388 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
46389 property).
46390 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46391 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46392
46393 2008-01-19 Robert Millan <rmh@aybabtu.com>
46394
46395 Get rid of confusing function (superseded by
46396 `grub_ieee1275_get_integer_property')
46397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46398 prototype.
46399 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46400 function.
46401 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46402 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
46403 in native endianness from grub_ieee1275_get_integer_property().
46404
46405 2008-01-19 Robert Millan <rmh@aybabtu.com>
46406
46407 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46408 command after "shut-down", since implementations differ on which
46409 the command for halt is.
46410
46411 2008-01-19 Robert Millan <rmh@aybabtu.com>
46412
46413 * include/grub/i386/linuxbios/console.h: Add header protection.
46414 (grub_keyboard_controller_init): New function prototype.
46415 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46416 (KEYBOARD_COMMAND_READ): Likewise.
46417 (KEYBOARD_COMMAND_WRITE): Likewise.
46418 (KEYBOARD_SCANCODE_SET1): Likewise.
46419 (grub_keyboard_controller_write): New function.
46420 (grub_keyboard_controller_read): Likewise.
46421 (grub_keyboard_controller_init): Likewise.
46422
46423 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46424 (grub_console_init): On coreboot/LinuxBIOS, call
46425 grub_keyboard_controller_init().
46426
46427 2008-01-19 Robert Millan <rmh@aybabtu.com>
46428
46429 PowerPC changes provided by Pavel Roskin.
46430
46431 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46432 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46433 don't rely on cmain() doing it.
46434 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46435 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46436
46437 2008-01-16 Robert Millan <rmh@aybabtu.com>
46438
46439 * include/grub/i386/linuxbios/memory.h
46440 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46441 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46442 receive `table_header' as argument. Instead, probe for it in the
46443 known memory ranges where it can be present.
46444 (grub_available_iterate): Do not pass a fixed `table_header' address
46445 to grub_linuxbios_table_iterate().
46446
46447 2008-01-15 Robert Millan <rmh@aybabtu.com>
46448
46449 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46450 * conf/i386-ieee1275.rmk: New file.
46451 * include/grub/i386/ieee1275/console.h: Likewise.
46452 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46453 * include/grub/i386/ieee1275/kernel.h: Likewise.
46454 * include/grub/i386/ieee1275/time.h: Likewise.
46455 * kern/i386/ieee1275/init.c: Likewise.
46456 * kern/i386/ieee1275/startup.S: Likewise.
46457
46458 2008-01-15 Robert Millan <rmh@aybabtu.com>
46459
46460 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46461 when pointers are 32-bit (but still do set it to one when they are
46462 64-bit).
46463
46464 2008-01-15 Robert Millan <rmh@aybabtu.com>
46465
46466 * include/grub/ieee1275/ieee1275.h
46467 (grub_ieee1275_get_integer_property): New function prototype.
46468
46469 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46470 (grub_ieee1275_get_integer_property): New function. Wraps around
46471 grub_ieee1275_get_property() to handle endianness.
46472
46473 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46474 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
46475 where appropriate.
46476 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46477 (grub_map): Likewise.
46478 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46479
46480 2008-01-15 Bean <bean123ch@gmail.com>
46481
46482 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46483 (grub_script_execute_cmdline): Reset grub_errno.
46484
46485 * normal/main.c (read_config_file): Reset grub_errno.
46486
46487 * normal/parse.y (script_init): New.
46488 (script): Move function and menuentry here.
46489 (delimiter): New.
46490 (command): Add delimiter at the end of command.
46491 (commands): Adjust to match the new command.
46492 (commandblock): Remove grub_script_lexer_record_start.
46493 (menuentry): Add grub_script_lexer_record_start, use the new commands.
46494 (if): Use the new commands.
46495
46496 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46497
46498 2008-01-15 Robert Millan <rmh@aybabtu.com>
46499
46500 * normal/menu.c (run_menu): Move timeout message from here ...
46501 (print_timeout): ... to here.
46502 (run_menu): Use print_timeout() once during initial draw to print
46503 the whole message, and again in every clock tick to update only
46504 the number of seconds.
46505
46506 2008-01-15 Robert Millan <rmh@aybabtu.com>
46507
46508 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46509 actual size of `available' from grub_ieee1275_get_property(), and
46510 restrict parsing to that bound.
46511
46512 2008-01-15 Christian Franke <franke@computer.org>
46513
46514 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46515 (argp_program_version): Remove variable.
46516 (argp_program_bug_address): Likewise.
46517 (options): Convert from struct argp_option to struct option.
46518 (struct arguments): Remove.
46519 (parse_opt): Remove.
46520 (usage): New function.
46521 (main): Replace struct args members by simple variables.
46522 Replace argp_parse() by getopt_long().
46523 Add switch to evaluate options.
46524 Add missing "(...)" around root_dev in prefix string.
46525
46526 2008-01-14 Robert Millan <rmh@aybabtu.com>
46527
46528 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46529 for grub_ieee1275_exit(), in order to improve portability.
46530
46531 2008-01-14 Robert Millan <rmh@aybabtu.com>
46532
46533 * util/grub.d/10_linux.in (prefix): Define.
46534 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46535
46536 2008-01-13 Pavel Roskin <proski@gnu.org>
46537
46538 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46539 grub_errno if no errors have been detected.
46540
46541 2008-01-12 Robert Millan <rmh@aybabtu.com>
46542
46543 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46544 (grub_util_get_dev_abstraction): New function prototype.
46545
46546 * util/getroot.c: Include `<grub/util/getroot.h>'
46547 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46548 (grub_util_get_dev_abstraction): ... here (new function).
46549
46550 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46551 `PRINT_ABSTRACTION'.
46552 (probe): Probe for abstraction type when requested.
46553 (main): Understand `--target=abstraction'.
46554
46555 * util/i386/efi/grub-install.in: Add abstraction module to core
46556 image when it is found to be necessary.
46557 * util/i386/pc/grub-install.in: Likewise.
46558 * util/powerpc/ieee1275/grub-install.in: Likewise.
46559
46560 * util/update-grub_lib.in (font_path): Return system path without
46561 converting to GRUB path.
46562 * util/update-grub.in: Convert system path returned by font_path()
46563 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46564 abstraction module is needed for loading fonts (if any). Export
46565 that as `GRUB_PRELOAD_MODULES'.
46566 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46567 insmod commands).
46568
46569 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46570
46571 Remove some unused code from reiserfs.
46572
46573 * fs/reiserfs.c (struct grub_reiserfs_key)
46574 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46575 (struct grub_reiserfs_node_body): Removed.
46576 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46577 Likewise.
46578 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46579 Likewise.
46580 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46581 Likewise.
46582 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46583 Likewise.
46584 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46585 Likewise.
46586 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46587 Likewise.
46588 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46589 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46590 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46591
46592 2008-01-10 Robert Millan <rmh@aybabtu.com>
46593
46594 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46595 Determines if a file is garbage left by packaging systems, etc.
46596 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46597 for processing /etc/grub.d scripts.
46598 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46599 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46600 as a condition for processing Linux images.
46601
46602 2008-01-10 Pavel Roskin <proski@gnu.org>
46603
46604 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46605 to compile reiserfs.c on PowerPC.
46606
46607 2008-01-10 Robert Millan <rmh@aybabtu.com>
46608
46609 * kern/device.c (grub_device_iterate): Do not abort device iteration
46610 when one of the devices cannot be opened.
46611 * kern/disk.c (grub_disk_open): Do not account previous failures of
46612 unrelated functions when grub_errno is checked for.
46613
46614 2008-01-08 Robert Millan <rmh@aybabtu.com>
46615
46616 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46617 `! grub_linux_is_bzimage', change order of address comparison to make
46618 it more intuitive, and improve "too big zImage" error message.
46619
46620 2008-01-08 Robert Millan <rmh@aybabtu.com>
46621
46622 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46623 `$(update-grub_DATA)'.
46624 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46625 targets.
46626
46627 2008-01-07 Robert Millan <rmh@aybabtu.com>
46628
46629 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46630 which instruction is modified by grub-setup during installation
46631 (since it wasn't obvious by only looking at this file).
46632
46633 2008-01-07 Robert Millan <rmh@aybabtu.com>
46634
46635 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46636 listing actual TODO items.
46637
46638 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46639
46640 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46641 correctly.
46642 (grub_reiserfs_get_key_offset): Likewise.
46643 (grub_reiserfs_set_key_offset): Likewise.
46644 (grub_reiserfs_set_key_type): Likewise.
46645 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
46646
46647 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46648 better to remove the bitfield version completely.
46649
46650 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46651
46652 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46653 allocated from the heap, due to the fshelp implementation.
46654 (grub_reiserfs_dir): Free NODE, due to the same reason.
46655
46656 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46657
46658 Mostly from Vincent Pelletier:
46659
46660 * fs/reiserfs.c: New file.
46661
46662 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46663 (reiserfs_mod_SOURCES): New variable.
46664 (reiserfs_mod_CFLAGS): Likewise.
46665 (reiserfs_mod_LDFLAGS): Likewise.
46666
46667 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46668 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46669 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46670 normal/color.c.
46671
46672 2008-01-06 Robert Millan <rmh@aybabtu.com>
46673
46674 * normal/color.c: Remove `<grub/env.h>'.
46675
46676 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46677
46678 * include/grub/normal.h: Include <grub/env.h>.
46679
46680 2008-01-05 Robert Millan <rmh@aybabtu.com>
46681
46682 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46683 usage example with `(hd0,1)'.
46684 Reported by Samuel Thibault.
46685
46686 2008-01-05 Robert Millan <rmh@aybabtu.com>
46687
46688 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46689 (grub_linux_boot_zimage): Rename to ...
46690 (grub_linux_boot): ... this.
46691 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46692 (grub_linux_boot_zimage): Conditionalize zImage copy.
46693
46694 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46695 (grub_linux_boot_bzimage): Remove prototype.
46696 (grub_linux_boot_zimage): Rename to ...
46697 (grub_linux_boot): ... this.
46698
46699 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46700 (grub_linux_boot): Remove function.
46701
46702 2008-01-05 Robert Millan <rmh@aybabtu.com>
46703
46704 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46705 (grub_env_write_color_highlight): Likewise.
46706 (grub_wait_after_message): Likewise.
46707
46708 * normal/color.c: New file.
46709
46710 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46711 (normal_mod_DEPENDENCIES): Likewise.
46712
46713 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46714 (normal_mod_DEPENDENCIES): Likewise.
46715
46716 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46717 (normal_mod_DEPENDENCIES): Likewise.
46718
46719 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46720 (normal_mod_DEPENDENCIES): Likewise.
46721
46722 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46723 for waiting after a message is printed.
46724 * normal/main.c (read_config_file): Likewise.
46725 (grub_normal_init): Register grub_env_write_color_normal() and
46726 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46727 `color_highlight' variables as global.
46728
46729 * normal/menu.c (grub_wait_after_message): New function.
46730 (grub_color_menu_normal): New variable. Replaces ...
46731 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46732 (grub_color_menu_highlight): New variable. Replaces ...
46733 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46734 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46735 `GRUB_TERM_COLOR_STANDARD'.
46736 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46737 `normal_code' and `highlight_code' to `old_color_normal' and
46738 `old_color_highlight', respectively.
46739 (grub_menu_init_page): Update colors when drawing the menu, based on
46740 `menu_color_normal' and `menu_color_highlight' variables.
46741 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46742 a message is printed.
46743
46744 2008-01-05 Robert Millan <rmh@aybabtu.com>
46745
46746 * kern/env.c (grub_env_context_open): Propagate hooks for global
46747 variables to new context.
46748
46749 * kern/main.c (grub_set_root_dev): Export `root' variable.
46750
46751 2008-01-05 Robert Millan <rmh@aybabtu.com>
46752
46753 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
46754 discs unconditionally, since udev and others have options to provide
46755 them.
46756
46757 2008-01-05 Robert Millan <rmh@aybabtu.com>
46758
46759 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46760
46761 2008-01-04 Christian Franke <franke@computer.org>
46762
46763 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46764 of eisa_mmap.
46765
46766 2008-01-03 Pavel Roskin <proski@gnu.org>
46767
46768 * kern/i386/linuxbios/init.c: Put "void" to all function
46769 declarations with no arguments.
46770 * kern/powerpc/ieee1275/init.c: Likewise.
46771 * term/i386/pc/at_keyboard.c: Likewise.
46772 * term/i386/pc/vga_text.c: Likewise.
46773 * util/grub-mkdevicemap.c: Likewise.
46774
46775 2008-01-02 Robert Millan <rmh@aybabtu.com>
46776
46777 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46778 message when loaded image is out of bounds.
46779 (grub_multiboot_load_elf64): Likewise.
46780
46781 2008-01-02 Pavel Roskin <proski@gnu.org>
46782
46783 * util/grub.d/10_linux.in: Try version without ".old" when
46784 looking for initrd. It's better to use initrd from the newer
46785 kernel of the same version than no initrd at all.
46786
46787 2008-01-01 Robert Millan <rmh@aybabtu.com>
46788
46789 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46790
46791 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46792
46793 * include/grub/video.h: Added grub_video_unmap_color and
46794 grub_video_get_active_render_target.
46795 (grub_video_adapter): Added unmap_color and get_active_render_target.
46796
46797 * video/video.c: Added grub_video_unmap_color and
46798 grub_video_get_active_render_target.
46799 (grub_video_get_info): Changed method to accept NULL pointer as an
46800 argument to allow detection of active video adapter.
46801
46802 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46803 grub_video_vbe_unmap_color_int.
46804 Added grub_video_vbe_unmap_color and
46805 grub_video_vbe_get_active_render_target.
46806 (grub_video_vbe_adapter): Added unmap_color and
46807 get_active_render_target.
46808
46809 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
46810 with grub_video_vbe_unmap_color_int.
46811
46812 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46813 (DEFAULT_NORMAL_COLOR): Likewise.
46814 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46815 (DEFAULT_FG_COLOR): Removed.
46816 (DEFAULT_BG_COLOR): Likewise.
46817 (DEFAULT_CURSOR_COLOR): Changed value.
46818 (grub_virtual_screen): Added standard_color_setting,
46819 normal_color_setting, highlight_color_setting and term_color.
46820 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46821 (bitmap_width): Added.
46822 (bitmap_height): Likewise.
46823 (bitmap): Likewise.
46824 (set_term_color): Likewise.
46825 (grub_virtual_screen_setup): Changed to use new terminal coloring
46826 settings.
46827 (grub_gfxterm_init): Added init for bitmap.
46828 (grub_gfxterm_fini): Added destroy for bitmap.
46829 (redraw_screen_rect): Updated to use background bitmap and new
46830 terminal coloring.
46831 (scroll_up): Added optimization for case when there is no bitmap.
46832 (grub_gfxterm_cls): Fixed to use correct background color.
46833 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46834 coloring.
46835 (grub_virtual_screen_setcolor): Likewise.
46836 (grub_virtual_screen_getcolor): Added.
46837 (grub_gfxterm_background_image_cmd): Likewise.
46838 (grub_video_term): Added setcolor and getcolor.
46839 (MOD_INIT): Added registration of background_image command.
46840 (MOD_TERM): Added unregistration for background_image command.
46841
46842 2007-12-30 Pavel Roskin <proski@gnu.org>
46843
46844 * loader/multiboot_loader.c: Fix multiboot command
46845 unregistration. Fix all typos in the word "multiboot".
46846
46847 2007-12-29 Pavel Roskin <proski@gnu.org>
46848
46849 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46850 support for initrd names used in Fedora.
46851
46852 2007-12-26 Bean <bean123ch@gmail.com>
46853
46854 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46855 (cpio_mod_SOURCES): New variable.
46856 (cpio_mod_CFLAGS): Likewise.
46857 (cpio_mod_LDFLAGS): Likewise.
46858
46859 * fs/cpio.c: New file.
46860
46861 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46862
46863 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46864
46865 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46866
46867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46868
46869 2007-12-25 Robert Millan <rmh@aybabtu.com>
46870
46871 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46872 (grub_getcolor): New function.
46873
46874 * kern/term.c (grub_getcolor): New function.
46875 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46876 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46877 (print_entry): Set normal and highlight colors to
46878 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46879 respectively, before printing and restore them to old
46880 values afterwards.
46881 (grub_menu_init_page): Likewise. Fill an additional colored space
46882 that would otherwise be left blank.
46883
46884 * term/efi/console.c (grub_console_getcolor): New function.
46885 (struct grub_console_term.getcolor): New variable.
46886 * term/i386/pc/console.c (grub_console_getcolor): New function.
46887 (struct grub_console_term.getcolor): New variable.
46888 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46889 (struct grub_console_term.getcolor): New variable.
46890
46891 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46892 (struct grub_console_term.setcolor): Remove variable.
46893 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46894 (struct grub_console_term.setcolor): Remove variable.
46895 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46896 (struct grub_console_term.setcolor): Remove variable.
46897 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46898 (struct grub_console_term.setcolor): Remove variable.
46899
46900 2007-12-25 Robert Millan <rmh@aybabtu.com>
46901
46902 * configure.ac: Search for possible unifont.hex locations, and
46903 define UNIFONT_HEX if found.
46904
46905 * Makefile.in (UNIFONT_HEX): Define variable.
46906 (DATA): Rename to ...
46907 (PKGLIB): ... this. Update all users.
46908 (PKGDATA): New variable.
46909 (pkgdata_IMAGES): Rename to ...
46910 (pkglib_IMAGES): ... this. Update all users.
46911 (pkgdata_MODULES): Rename to ...
46912 (pkglib_MODULES): ... this. Update all users.
46913 (pkgdata_PROGRAMS): Rename to ...
46914 (pkglib_PROGRAMS): ... this. Update all users.
46915 (pkgdata_DATA): Rename to ...
46916 (pkglib_DATA): ... this. Update all users.
46917 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46918 (unicode.pff, ascii.pff): New rules.
46919 (all-local): Add `$(PKGDATA)' dependency.
46920 (install-local): Process `$(PKGDATA)'.
46921
46922 * util/update-grub_lib.in (font_path): Search for *.pff files in
46923 a few more locations, including `${pkgdata}'.
46924
46925 2007-12-23 Robert Millan <rmh@aybabtu.com>
46926
46927 Patch from Bean <bean123ch@gmail.com>:
46928 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46929 `size'.
46930
46931 2007-12-21 Bean <bean123ch@gmail.com>
46932
46933 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46934 (ntfscomp_mod_SOURCES): New variable.
46935 (ntfscomp_mod_CFLAGS): Likewise.
46936 (ntfscomp_mod_LDFLAGS): Likewise.
46937
46938 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46939 (grub_probe_SOURCES): Likewise.
46940 (grub_emu_SOURCES): Likewise.
46941
46942 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46943 (grub_emu_SOURCES): Likewise.
46944
46945 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46946 (grub_emu_SOURCES): Likewise.
46947
46948 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46949 (grub_emu_SOURCES): Likewise.
46950
46951 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46952 (read_run_list): Renamed to grub_ntfs_read_run_list.
46953 (decomp_nextvcn): Moved to ntfscomp.c.
46954 (decomp_getch): Likewise.
46955 (decomp_get16): Likewise.
46956 (decomp_block): Likewise.
46957 (read_block): Likewise.
46958 (read_data): Partially moved to ntfscomp.c.
46959 (fixup): Change unsigned to grub_uint16_t.
46960 (read_mft): Change unsigned long to grub_uint32_t.
46961 (read_attr): Likewise.
46962 (read_data): Likewise.
46963 (read_run_data): Likewise.
46964 (read_run_list): Likewise.
46965 (read_mft): Likewise.
46966
46967 * fs/ntfscomp.c: New file.
46968
46969 * include/grub/ntfs.h: New file.
46970
46971 2007-12-16 Robert Millan <rmh@aybabtu.com>
46972
46973 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
46974 IDE disk check, since Linux is known to support 20 IDE disks.
46975 Reported by Colin Watson.
46976
46977 2007-12-15 Bean <bean123ch@gmail.com>
46978
46979 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
46980 (lnxboot_img_SOURCES): New variable.
46981 (lnxboot_img_ASFLAGS): Likewise.
46982 (lnxboot_img_LDFLAGS): Likewise.
46983
46984 * boot/i386/pc/lnxboot.S: New file.
46985
46986 2007-11-24 Pavel Roskin <proski@gnu.org>
46987
46988 * configure.ac: Test if '--build-id=none' is supported by the
46989 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
46990 objcopy to generate incorrect binary files (binutils
46991 2.17.50.0.18-1 as shipped by Fedora 8).
46992 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
46993 linking, so that build ID doesn't break the test.
46994
46995 2007-11-24 Pavel Roskin <proski@gnu.org>
46996
46997 * include/grub/i386/time.h: use "void" in the argument list
46998 of grub_cpu_idle().
46999 * include/grub/powerpc/time.h: Likewise.
47000 * include/grub/sparc64/time.h: Likewise.
47001
47002 2007-11-18 Christian Franke <franke@computer.org>
47003
47004 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47005 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47006 This fixes the problem that function keys did not work in grub-emu.
47007
47008 2007-11-18 Christian Franke <franke@computer.org>
47009
47010 * disk/host.c (grub_host_open): Remove attribute unused from
47011 name parameter. Add check for "host". This fixes the problem
47012 that grub-emu does not find partitions.
47013
47014 2007-11-18 Christian Franke <franke@computer.org>
47015
47016 * util/hostfs.c (is_dir): New function.
47017 (grub_hostfs_dir): Handle missing dirent.d_type case.
47018 (grub_hostfs_read): Add missing fseek().
47019 (grub_hostfs_label): Clear label pointer. This fixes a crash
47020 of grub-emu on "ls (host)".
47021
47022 2007-11-18 Christian Franke <franke@computer.org>
47023
47024 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47025 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47026 to 64 bit boundary by default.
47027
47028 2007-11-18 Bean <bean123ch@gmail.com>
47029
47030 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47031 (hexdump_mod_SOURCES): New variable.
47032 (hexdump_mod_CFLAGS): Likewise.
47033 (hexdump_mod_LDFLAGS): Likewise.
47034
47035 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47036
47037 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47038
47039 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47040
47041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47042
47043 * include/grub/hexdump.h: New file.
47044
47045 * commands/hexdump.c: New file.
47046
47047 2007-11-10 Robert Millan <rmh@aybabtu.com>
47048
47049 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47050 in grub_outb() calls.
47051 (beep_on): Likewise.
47052
47053 2007-11-10 Christian Franke <franke@computer.org>
47054
47055 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47056 (grub_menu_run): Likewise.
47057
47058 2007-11-10 Robert Millan <rmh@aybabtu.com>
47059
47060 * include/grub/i386/efi/machine.h: New file.
47061 * include/grub/i386/linuxbios/machine.h: Likewise.
47062 * include/grub/i386/pc/machine.h: Likewise.
47063 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47064 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47065
47066 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47067 (serial_hw_io_addr): New variable.
47068 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47069 instead of `(unsigned short *) 0x400'.
47070
47071 2007-11-10 Bean <bean123ch@gmail.com>
47072
47073 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47074
47075 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47076
47077 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47078 (vga_mod_SOURCES): Added.
47079 (vga_mod_CFLAGS): Likewise.
47080 (vga_mod_LDFLAGS): Likewise.
47081
47082 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47083 grub_outb() calls.
47084 (set_map_mask): Likewise.
47085 (set_read_map): Likewise.
47086 (set_read_address): Likewise.
47087 (vga_font): Removed variable.
47088 (get_vga_glyph): Removed function.
47089 (invalidate_char): Likewise.
47090 (write_char): Changed to use grub_font_get_glyph() for font
47091 information.
47092 (grub_vga_putchar): Likewise.
47093 (grub_vga_getcharwidth): Likewise.
47094
47095 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47096
47097 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47098 flags.
47099 (pxeboot_img_LDFLAGS): Likewise.
47100 (diskboot_img_LDFLAGS): Likewise.
47101 (kernel_img_LDFLAGS): Likewise.
47102
47103 2007-11-06 Robert Millan <rmh@aybabtu.com>
47104
47105 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47106 in grub_outb() calls.
47107 (serial_hw_init): Likewise.
47108
47109 2007-11-05 Robert Millan <rmh@aybabtu.com>
47110
47111 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47112 spaces. Skip non-regular files.
47113
47114 2007-11-05 Robert Millan <rmh@aybabtu.com>
47115
47116 * kern/disk.c (grub_disk_firmware_fini)
47117 (grub_disk_firmware_is_tainted): New variables.
47118
47119 * include/grub/disk.h (grub_disk_firmware_fini)
47120 (grub_disk_firmware_is_tainted): Likewise.
47121
47122 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47123 (grub_disk_biosdisk_fini): ... to here.
47124 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47125 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47126 is set. Register grub_disk_biosdisk_fini() in
47127 `grub_disk_firmware_fini'.
47128
47129 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47130 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47131 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47132 to finish existing firmware disk interface.
47133
47134 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47135 (ata_mod_SOURCES): New variable.
47136 (ata_mod_CFLAGS): Likewise.
47137 (ata_mod_LDFLAGS): Likewise.
47138
47139 2007-11-05 Robert Millan <rmh@aybabtu.com>
47140
47141 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47142 (grub_ata_wait): Reimplement using grub_millisleep().
47143
47144 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47145 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47146
47147 2007-11-03 Marco Gerards <marco@gnu.org>
47148
47149 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47150 (CRTC_ADDR_PORT): New macro.
47151 (CRTC_DATA_PORT): Likewise.
47152 (CRTC_CURSOR): Likewise.
47153 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47154 (CRTC_CURSOR_ADDR_LOW): Likewise.
47155 (update_cursor): New function.
47156 (grub_console_real_putchar): Call `update_cursor'.
47157 (grub_console_gotoxy): Likewise.
47158 (grub_console_cls): Set the default color when clearing the
47159 screen.
47160 (grub_console_setcursor): Implemented.
47161
47162 2007-11-03 Marco Gerards <marco@gnu.org>
47163
47164 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47165 become activate.
47166 (grub_ata_pio_write): Likewise.
47167
47168 (grub_atapi_identify): Wait after issuing an ATA command.
47169 (grub_atapi_packet): Likewise.
47170 (grub_ata_identify): Likewise.
47171 (grub_ata_readwrite): Likewise.
47172
47173 2007-11-03 Marco Gerards <marco@gnu.org>
47174
47175 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47176 (grub_ata_pio_write): Likewise.
47177 (grub_ata_readwrite): Use `grub_error', instead of
47178 returning `grub_errno'.
47179
47180 2007-11-03 Marco Gerards <marco@gnu.org>
47181
47182 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47183 grub_ata_pio_write once for every single sector, instead of for
47184 multiple sectors.
47185
47186 2007-10-31 Robert Millan <rmh@aybabtu.com>
47187
47188 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47189
47190 * conf/i386-linuxbios.rmk: New file.
47191
47192 * kern/i386/pc/hardware.c: Likewise.
47193 * term/i386/pc/at_keyboard.c: Likewise.
47194 * term/i386/pc/vga_text.c: Likewise.
47195
47196 * include/grub/i386/linuxbios/boot.h: Likewise.
47197 * include/grub/i386/linuxbios/console.h: Likewise.
47198 * include/grub/i386/linuxbios/init.h: Likewise.
47199 * include/grub/i386/linuxbios/kernel.h: Likewise.
47200 * include/grub/i386/linuxbios/loader.h: Likewise.
47201 * include/grub/i386/linuxbios/memory.h: Likewise.
47202 * include/grub/i386/linuxbios/serial.h: Likewise.
47203 * include/grub/i386/linuxbios/time.h: Likewise.
47204
47205 * kern/i386/linuxbios/init.c: Likewise.
47206 * kern/i386/linuxbios/startup.S: Likewise.
47207 * kern/i386/linuxbios/table.c: Likewise.
47208
47209 2007-10-31 Marco Gerards <marco@gnu.org>
47210
47211 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47212 (ata_mod_SOURCES): New variable.
47213 (ata_mod_CFLAGS): Likewise.
47214 (ata_mod_LDFLAGS): Likewise.
47215
47216 * disk/ata.c: New file.
47217
47218 * include/grub/disk.h (grub_disk_dev_id): Add
47219 `GRUB_DISK_DEV_ATA_ID'.
47220
47221 2007-10-31 Robert Millan <rmh@aybabtu.com>
47222
47223 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47224 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47225
47226 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47227 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47228
47229 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47230 `<grub/types.h>'.
47231
47232 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47233
47234 2007-10-27 Robert Millan <rmh@aybabtu.com>
47235
47236 * include/grub/types.h (ULONG_MAX): Define macro.
47237
47238 2007-10-22 Robert Millan <rmh@aybabtu.com>
47239
47240 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47241 `"../realmode.S"'.
47242 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47243
47244 2007-10-22 Robert Millan <rmh@aybabtu.com>
47245
47246 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47247 (pkgdata_MODULES): Add `biosdisk.mod'.
47248 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47249 variables.
47250
47251 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47252 (grub_biosdisk_init): Replace with ...
47253 (GRUB_MOD_INIT(biosdisk)): ... this.
47254 (grub_biosdisk_fini): Replace with ...
47255 (GRUB_MOD_FINI(biosdisk)): ... this.
47256
47257 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47258 (grub_machine_init): Remove call to grub_biosdisk_init().
47259 (grub_machine_fini): Remove call to grub_machine_fini().
47260
47261 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47262
47263 2007-10-22 Robert Millan <rmh@aybabtu.com>
47264
47265 * include/grub/time.h: New file.
47266 * include/grub/i386/time.h: Likewise.
47267 * include/grub/powerpc/time.h: Likewise.
47268 * include/grub/sparc64/time.h: Likewise.
47269
47270 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47271 instances to ...
47272 (KERNEL_MACHINE_TIME_HEADER): ... this.
47273 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47274 instances to ...
47275 (KERNEL_MACHINE_TIME_HEADER): ... this.
47276 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47277 instances to ...
47278 (KERNEL_MACHINE_TIME_HEADER): ... this.
47279
47280 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47281 (grub_millisleep): New function.
47282 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47283 (grub_millisleep): New function.
47284 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47285 Remove `grub/machine/time.h' include.
47286 (grub_millisleep): New function.
47287 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47288 Remove `grub/machine/time.h' include.
47289 (grub_millisleep): New function.
47290
47291 * include/grub/misc.h (grub_div_roundup): New function.
47292
47293 * kern/misc.c: Include `<grub/time.h>'.
47294 (grub_millisleep_generic): New function.
47295
47296 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47297 Add `time.h'.
47298 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47299 Add `time.h'.
47300 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47301 `machine/time.h'. Add `time.h'.
47302 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47303
47304 2007-10-21 Robert Millan <rmh@aybabtu.com>
47305
47306 * include/grub/misc.h (grub_max): New function.
47307
47308 2007-10-21 Robert Millan <rmh@aybabtu.com>
47309
47310 * util/misc.c (grub_util_info): Call fflush() before returning.
47311
47312 2007-10-20 Robert Millan <rmh@aybabtu.com>
47313
47314 * genmk.rb (Image): Copy `extra_flags' from here ...
47315 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47316
47317 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47318 to `argc' and `args' arguments.
47319
47320 2007-10-17 Robert Millan <rmh@aybabtu.com>
47321
47322 * kern/i386/loader.S: New file.
47323
47324 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47325 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47326 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47327 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47328 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47329 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47330 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47331 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47332 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47333 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47334 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47335 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47336 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47337 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47338
47339 * kern/i386/realmode.S: New file.
47340
47341 * kern/i386/pc/startup.S (protstack): Moved from here ...
47342 * kern/i386/realmode.S (protstack)... to here.
47343 * kern/i386/pc/startup.S (gdt): Moved from here ...
47344 * kern/i386/realmode.S (gdt)... to here.
47345 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47346 * kern/i386/realmode.S (prot_to_real)... to here.
47347
47348 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47349 `kern/i386/realmode.S'.
47350
47351 2007-10-17 Robert Millan <rmh@aybabtu.com>
47352
47353 * include/grub/i386/loader.h: New file.
47354
47355 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47356 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47357 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47358 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47359 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47360 * include/grub/i386/loader.h (grub_linux_prot_size)
47361 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47362 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47363 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47364 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47365
47366 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47367
47368 2007-10-15 Robert Millan <rmh@aybabtu.com>
47369
47370 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47371 filesystem when dev->disk is unset.
47372 Do probe for filesystem even when dev->disk->has_partitions is set.
47373 In case a filesystem is found, always report it.
47374 In case it isn't, if dev->disk->has_partitions is set, report that
47375 a partition table was found instead of reporting that no filesystem
47376 could be identified.
47377
47378 2007-10-12 Robert Millan <rmh@aybabtu.com>
47379
47380 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47381 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47382
47383 * include/grub/types.h (grub_host_to_target16): New macro.
47384 (grub_host_to_target32): Likewise.
47385 (grub_host_to_target64): Likewise.
47386 (grub_target_to_host16): Likewise.
47387 (grub_target_to_host32): Likewise.
47388 (grub_target_to_host64): Likewise.
47389
47390 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47391 Renamed from to ...
47392 (GRUB_MOD_ALIGN): ...this. Update all users.
47393
47394 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47395 grub_host_to_target32.
47396 Replace grub_be_to_cpu32 with grub_target_to_host32.
47397 (load_modules): Likewise.
47398 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47399 Replace grub_be_to_cpu32 with grub_target_to_host32.
47400 Replace grub_cpu_to_be16 with grub_host_to_target16.
47401 Replace grub_cpu_to_be32 grub_host_to_target32.
47402
47403 2007-10-12 Robert Millan <rmh@aybabtu.com>
47404
47405 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47406 * util/elf/grub-mkimage.c: ... here.
47407
47408 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47409 `util/powerpc/ieee1275/grub-mkimage.c'.
47410
47411 2007-10-07 Robert Millan <rmh@aybabtu.com>
47412
47413 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47414 and make it easier to figure out.
47415 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47416 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47417 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47418 leave us with less than HEAP_MIN_SIZE total heap.
47419 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
47420
47421 2007-10-03 Robert Millan <rmh@aybabtu.com>
47422
47423 * include/grub/i386/io.h: New file.
47424 * commands/i386/pc/play.c (inb): Removed.
47425 (outb): Removed.
47426 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47427 with grub_outb().
47428 * term/i386/pc/serial.c (inb): Removed.
47429 (outb): Removed.
47430 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47431 with grub_outb().
47432 * term/i386/pc/vga.c (inb): Removed.
47433 (outb): Removed.
47434 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47435 with grub_outb().
47436
47437 2007-10-02 Robert Millan <rmh@aybabtu.com>
47438
47439 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47441 Reported by Marcin Kurek.
47442
47443 2007-09-07 Robert Millan <rmh@aybabtu.com>
47444
47445 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47446 SmartFirmware version updates (as released by Sven Luther), and avoid
47447 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47448 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47449 known broken.
47450
47451 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47452
47453 From Hitoshi Ozeki:
47454 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47455 when merging two regions.
47456
47457 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47458
47459 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47460 * normal/completion.c (grub_normal_do_completion): Likewise.
47461 Reported by Hitoshi Ozeki.
47462
47463 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47464
47465 Do not use devices at boot in chainloading.
47466
47467 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47468 (boot_part_addr): Likewise.
47469 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47470 with BOOT_DRIVE and BOOT_PART_ADDR.
47471 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47472 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47473
47474 2007-08-29 Robert Millan <rmh@aybabtu.com>
47475
47476 Patch from Simon Peter <dn.tlp@gmx.net>:
47477 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47478 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47479 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47480 util/i386/pc/grub-setup.c_DEPENDENCIES.
47481 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47482 util/grub-probe.c_DEPENDENCIES.
47483 * conf/powerpc-ieee1275.rmk: Likewise.
47484
47485 2007-08-28 Robert Millan <rmh@aybabtu.com>
47486
47487 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47488 to tell grub-mkdevicemap how to name devices.
47489 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47490 feature).
47491
47492 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47493 util/i386/get_disk_name.c.
47494 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47495 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47496 util/ieee1275/get_disk_name.c.
47497
47498 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47499
47500 * DISTLIST: Add util/i386/get_disk_name.c and
47501 util/ieee1275/get_disk_name.c.
47502
47503 * util/grub-mkdevicemap.c: Replace device naming logic with
47504 grub_util_get_disk_name() calls.
47505
47506 2007-08-20 Robert Millan <rmh@aybabtu.com>
47507
47508 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47509 (so that it works for both plural and singular quantities).
47510
47511 2007-08-05 Robert Millan <rmh@aybabtu.com>
47512
47513 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47514 so that [xz] isn't taken into account when determining order.
47515
47516 2007-08-02 Marco Gerards <marco@gnu.org>
47517
47518 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47519 `include/multiboot2.h', `include/grub/elfload.h',
47520 `include/multiboot.h', `include/grub/multiboot.h',
47521 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47522 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47523 `kern/elf.c', `loader/multiboot_loader.c',
47524 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47525 `loader/i386/pc/multiboot2.c',
47526 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47527 `util/i386/pc/grub-mkrescue.in'. Remove
47528 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47529 `include/grub/i386/pc/util/biosdisk.h' and
47530 `include/grub/powerpc/ieee1275/multiboot.h'.
47531
47532 2007-08-02 Bean <bean123ch@gmail.com>
47533
47534 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47535 (ntfs_mod_SOURCES): New variable.
47536 (ntfs_mod_CFLAGS): Likewise.
47537 (ntfs_mod_LDFLAGS): Likewise.
47538
47539 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47540 (grub_probe_SOURCES): Likewise.
47541 (grub_emu_SOURCES): Likewise.
47542
47543 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47544 (grub_emu_SOURCES): Likewise.
47545
47546 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47547 (grub_emu_SOURCES): Likewise.
47548
47549 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47550
47551 * fs/ntfs.c: New file.
47552
47553 2007-08-02 Bean <bean123ch@gmail.com>
47554
47555 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47556
47557 * file.h (grub_file): Likewise.
47558
47559 * fshelp.h (grub_fshelp_read_file): Likewise.
47560
47561 * util/i386/pc/grub-setup.c (setup): Likewise.
47562 (save_first_sector): Likewise.
47563 (save_blocklists): Likewise.
47564
47565 * fs/affs.c (grub_affs_read_file): Likewise.
47566
47567 * fs/ext2.c (grub_ext2_read_file): Likewise.
47568
47569 * fs/fat.c (grub_fat_read_data): Likewise.
47570
47571 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47572
47573 * fs/hfs.c (grub_hfs_read_file): Likewise.
47574
47575 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47576
47577 * fs/jfs.c (grub_jfs_read_file): Likewise.
47578
47579 * fs/minix.c (grub_minix_read_file): Likewise.
47580
47581 * fs/sfs.c (grub_sfs_read_file): Likewise.
47582
47583 * fs/ufs.c (grub_ufs_read_file): Likewise.
47584
47585 * fs/xfs.c (grub_xfs_read_file): Likewise.
47586
47587 * command/blocklist.c (read_blocklist): Likewise.
47588 (print_blocklist): Likewise.
47589
47590 2007-08-02 Marco Gerards <marco@gnu.org>
47591
47592 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47593 `util/hostfs.c'.
47594
47595 * disk/host.c: New file.
47596
47597 * util/hostfs.c: Likewise.
47598
47599 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47600 return `GRUB_ERR_BAD_FS'.
47601 * fs/sfs.c (grub_sfs_mount): Likewise.
47602 * fs/xfs.c (grub_xfs_mount): Likewise.
47603
47604 * include/grub/disk.h (enum grub_disk_dev_id): Add
47605 `GRUB_DISK_DEVICE_HOST_ID'.
47606
47607 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47608
47609 2007-07-24 Jerone Young <jerone@gmail.com>
47610
47611 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
47612 modules for compilation.
47613 * conf/powerpc-ieee1275.rmk: Likewise.
47614
47615 * include/multiboot.h: Move multiboot definitions to one file. Rename
47616 many definitions to not get grub specific.
47617 * include/multiboot2.h: Create header with multiboot 2 definitions.
47618 * include/grub/multiboot.h: Header for grub specific function
47619 prototypes and definitions.
47620 * include/grub/multiboot2.h: Likewise.
47621 * include/grub/multiboot_loader.h: Likewise.
47622 * include/grub/i386/pc/multiboot.h: Removed.
47623 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47624
47625 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47626 and 2 to allow for one multiboot and module commands.
47627 * loader/multiboot2.c: Add multiboot2 functionality.
47628 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47629 and definition names.
47630 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47631 2 functions.
47632 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47633 ieee1275 specific multiboot2 code.
47634
47635 * kern/i386/pc/startup.S: Change headers and definition names for
47636 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47637
47638 2007-07-22 Robert Millan <rmh@aybabtu.com>
47639
47640 * geninitheader.sh: Process file specified in first parameter rather
47641 than hardcoding grub_modules_init.lst.
47642 * geninit.sh: Likewise. Also, construct header name dynamically rather
47643 than hardcoding grub_modules_init.h.
47644
47645 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47646 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47647 grub_probe_init.[ch] and grub_setup_init.[ch].
47648
47649 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47650 grub_modules_init.h with grub_emu_init.h.
47651 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47652 grub_probe_init.[ch] files.
47653 * conf/i386-efi.rmk: Likewise.
47654 * conf/i386-pc.rmk: Likewise.
47655 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47656 grub_setup_init.[ch] files.
47657
47658 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47659 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47660 to initialize modules rather than a list of hardcoded functions.
47661 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47662 grub_init_all() to initialize modules rather than a list of hardcoded
47663 functions.
47664
47665 2007-07-22 Robert Millan <rmh@aybabtu.com>
47666
47667 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47668 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47669
47670 2007-07-22 Robert Millan <rmh@aybabtu.com>
47671
47672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47673 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47674 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47675 flag when running on SmartFirmware.
47676 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47677 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47678 was set.
47679
47680 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47681 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47682 rather than decreasing it.
47683
47684 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47685 there's not enough space to do it, fail in the same way as when it
47686 can't be done because there are no partitions.
47687
47688 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47689 when nvsetenv failed.
47690
47691 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47692
47693 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47694 because this rule is automatically generated.
47695 (grub-mkrescue): Removed for the same reason as above.
47696
47697 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47698
47699 Migrate to GNU General Public License Version 3.
47700
47701 * COPYING: Replaced with the plain text version of GPLv3.
47702
47703 * config.guess: Updated from gnulib.
47704 * config.sub: Likewise.
47705
47706 * geninit.sh: Output a GPLv3 copyright notice.
47707 * geninitheader.sh: Likewise.
47708 * genmodsrc.sh: Likewise.
47709 * gensymlist.sh.in: Likewise.
47710
47711 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47712 * boot/i386/pc/diskboot.S: Likewise.
47713 * boot/i386/pc/pxeboot.S: Likewise.
47714 * commands/blocklist.c: Likewise.
47715 * commands/boot.c: Likewise.
47716 * commands/cat.c: Likewise.
47717 * commands/cmp.c: Likewise.
47718 * commands/configfile.c: Likewise.
47719 * commands/echo.c: Likewise.
47720 * commands/help.c: Likewise.
47721 * commands/ls.c: Likewise.
47722 * commands/search.c: Likewise.
47723 * commands/terminal.c: Likewise.
47724 * commands/test.c: Likewise.
47725 * commands/videotest.c: Likewise.
47726 * commands/i386/cpuid.c: Likewise.
47727 * commands/i386/pc/halt.c: Likewise.
47728 * commands/i386/pc/play.c: Likewise.
47729 * commands/i386/pc/reboot.c: Likewise.
47730 * commands/i386/pc/vbeinfo.c: Likewise.
47731 * commands/i386/pc/vbetest.c: Likewise.
47732 * commands/ieee1275/halt.c: Likewise.
47733 * commands/ieee1275/reboot.c: Likewise.
47734 * commands/ieee1275/suspend.c: Likewise.
47735 * disk/loopback.c: Likewise.
47736 * disk/lvm.c: Likewise.
47737 * disk/raid.c: Likewise.
47738 * disk/efi/efidisk.c: Likewise.
47739 * disk/i386/pc/biosdisk.c: Likewise.
47740 * disk/ieee1275/ofdisk.c: Likewise.
47741 * font/manager.c: Likewise.
47742 * fs/affs.c: Likewise.
47743 * fs/ext2.c: Likewise.
47744 * fs/fat.c: Likewise.
47745 * fs/fshelp.c: Likewise.
47746 * fs/hfs.c: Likewise.
47747 * fs/hfsplus.c: Likewise.
47748 * fs/iso9660.c: Likewise.
47749 * fs/jfs.c: Likewise.
47750 * fs/minix.c: Likewise.
47751 * fs/sfs.c: Likewise.
47752 * fs/ufs.c: Likewise.
47753 * fs/xfs.c: Likewise.
47754 * hello/hello.c: Likewise.
47755 * include/grub/acorn_filecore.h: Likewise.
47756 * include/grub/arg.h: Likewise.
47757 * include/grub/bitmap.h: Likewise.
47758 * include/grub/boot.h: Likewise.
47759 * include/grub/cache.h: Likewise.
47760 * include/grub/device.h: Likewise.
47761 * include/grub/disk.h: Likewise.
47762 * include/grub/dl.h: Likewise.
47763 * include/grub/elfload.h: Likewise.
47764 * include/grub/env.h: Likewise.
47765 * include/grub/err.h: Likewise.
47766 * include/grub/file.h: Likewise.
47767 * include/grub/font.h: Likewise.
47768 * include/grub/fs.h: Likewise.
47769 * include/grub/fshelp.h: Likewise.
47770 * include/grub/gzio.h: Likewise.
47771 * include/grub/hfs.h: Likewise.
47772 * include/grub/kernel.h: Likewise.
47773 * include/grub/loader.h: Likewise.
47774 * include/grub/lvm.h: Likewise.
47775 * include/grub/misc.h: Likewise.
47776 * include/grub/mm.h: Likewise.
47777 * include/grub/net.h: Likewise.
47778 * include/grub/normal.h: Likewise.
47779 * include/grub/parser.h: Likewise.
47780 * include/grub/partition.h: Likewise.
47781 * include/grub/pc_partition.h: Likewise.
47782 * include/grub/raid.h: Likewise.
47783 * include/grub/rescue.h: Likewise.
47784 * include/grub/script.h: Likewise.
47785 * include/grub/setjmp.h: Likewise.
47786 * include/grub/symbol.h: Likewise.
47787 * include/grub/term.h: Likewise.
47788 * include/grub/terminfo.h: Likewise.
47789 * include/grub/tparm.h: Likewise.
47790 * include/grub/types.h: Likewise.
47791 * include/grub/video.h: Likewise.
47792 * include/grub/efi/api.h: Likewise.
47793 * include/grub/efi/chainloader.h: Likewise.
47794 * include/grub/efi/console.h: Likewise.
47795 * include/grub/efi/console_control.h: Likewise.
47796 * include/grub/efi/disk.h: Likewise.
47797 * include/grub/efi/efi.h: Likewise.
47798 * include/grub/efi/pe32.h: Likewise.
47799 * include/grub/efi/time.h: Likewise.
47800 * include/grub/i386/linux.h: Likewise.
47801 * include/grub/i386/setjmp.h: Likewise.
47802 * include/grub/i386/types.h: Likewise.
47803 * include/grub/i386/efi/kernel.h: Likewise.
47804 * include/grub/i386/efi/loader.h: Likewise.
47805 * include/grub/i386/efi/time.h: Likewise.
47806 * include/grub/i386/pc/biosdisk.h: Likewise.
47807 * include/grub/i386/pc/boot.h: Likewise.
47808 * include/grub/i386/pc/chainloader.h: Likewise.
47809 * include/grub/i386/pc/console.h: Likewise.
47810 * include/grub/i386/pc/init.h: Likewise.
47811 * include/grub/i386/pc/kernel.h: Likewise.
47812 * include/grub/i386/pc/loader.h: Likewise.
47813 * include/grub/i386/pc/memory.h: Likewise.
47814 * include/grub/i386/pc/multiboot.h: Likewise.
47815 * include/grub/i386/pc/serial.h: Likewise.
47816 * include/grub/i386/pc/time.h: Likewise.
47817 * include/grub/i386/pc/vbe.h: Likewise.
47818 * include/grub/i386/pc/vbeblit.h: Likewise.
47819 * include/grub/i386/pc/vbefill.h: Likewise.
47820 * include/grub/i386/pc/vbeutil.h: Likewise.
47821 * include/grub/i386/pc/vga.h: Likewise.
47822 * include/grub/ieee1275/ieee1275.h: Likewise.
47823 * include/grub/ieee1275/ofdisk.h: Likewise.
47824 * include/grub/powerpc/libgcc.h: Likewise.
47825 * include/grub/powerpc/setjmp.h: Likewise.
47826 * include/grub/powerpc/types.h: Likewise.
47827 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47828 * include/grub/powerpc/ieee1275/console.h: Likewise.
47829 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47830 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47831 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47832 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47833 * include/grub/powerpc/ieee1275/time.h: Likewise.
47834 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47835 * include/grub/sparc64/libgcc.h: Likewise.
47836 * include/grub/sparc64/setjmp.h: Likewise.
47837 * include/grub/sparc64/types.h: Likewise.
47838 * include/grub/sparc64/ieee1275/console.h: Likewise.
47839 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47840 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47841 * include/grub/sparc64/ieee1275/time.h: Likewise.
47842 * include/grub/util/biosdisk.h: Likewise.
47843 * include/grub/util/getroot.h: Likewise.
47844 * include/grub/util/lvm.h: Likewise.
47845 * include/grub/util/misc.h: Likewise.
47846 * include/grub/util/raid.h: Likewise.
47847 * include/grub/util/resolve.h: Likewise.
47848 * io/gzio.c: Likewise.
47849 * kern/device.c: Likewise.
47850 * kern/disk.c: Likewise.
47851 * kern/dl.c: Likewise.
47852 * kern/elf.c: Likewise.
47853 * kern/env.c: Likewise.
47854 * kern/err.c: Likewise.
47855 * kern/file.c: Likewise.
47856 * kern/fs.c: Likewise.
47857 * kern/loader.c: Likewise.
47858 * kern/main.c: Likewise.
47859 * kern/misc.c: Likewise.
47860 * kern/mm.c: Likewise.
47861 * kern/parser.c: Likewise.
47862 * kern/partition.c: Likewise.
47863 * kern/rescue.c: Likewise.
47864 * kern/term.c: Likewise.
47865 * kern/efi/efi.c: Likewise.
47866 * kern/efi/init.c: Likewise.
47867 * kern/efi/mm.c: Likewise.
47868 * kern/i386/dl.c: Likewise.
47869 * kern/i386/efi/init.c: Likewise.
47870 * kern/i386/efi/startup.S: Likewise.
47871 * kern/i386/pc/init.c: Likewise.
47872 * kern/i386/pc/lzo1x.S: Likewise.
47873 * kern/i386/pc/startup.S: Likewise.
47874 * kern/ieee1275/ieee1275.c: Likewise.
47875 * kern/powerpc/cache.S: Likewise.
47876 * kern/powerpc/dl.c: Likewise.
47877 * kern/powerpc/ieee1275/cmain.c: Likewise.
47878 * kern/powerpc/ieee1275/crt0.S: Likewise.
47879 * kern/powerpc/ieee1275/init.c: Likewise.
47880 * kern/powerpc/ieee1275/openfw.c: Likewise.
47881 * kern/sparc64/cache.S: Likewise.
47882 * kern/sparc64/dl.c: Likewise.
47883 * kern/sparc64/ieee1275/init.c: Likewise.
47884 * kern/sparc64/ieee1275/openfw.c: Likewise.
47885 * loader/efi/chainloader.c: Likewise.
47886 * loader/efi/chainloader_normal.c: Likewise.
47887 * loader/i386/efi/linux.c: Likewise.
47888 * loader/i386/efi/linux_normal.c: Likewise.
47889 * loader/i386/pc/chainloader.c: Likewise.
47890 * loader/i386/pc/chainloader_normal.c: Likewise.
47891 * loader/i386/pc/linux.c: Likewise.
47892 * loader/i386/pc/linux_normal.c: Likewise.
47893 * loader/i386/pc/multiboot.c: Likewise.
47894 * loader/i386/pc/multiboot_normal.c: Likewise.
47895 * loader/powerpc/ieee1275/linux.c: Likewise.
47896 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47897 * normal/arg.c: Likewise.
47898 * normal/cmdline.c: Likewise.
47899 * normal/command.c: Likewise.
47900 * normal/completion.c: Likewise.
47901 * normal/execute.c: Likewise.
47902 * normal/function.c: Likewise.
47903 * normal/lexer.c: Likewise.
47904 * normal/main.c: Likewise.
47905 * normal/menu.c: Likewise.
47906 * normal/menu_entry.c: Likewise.
47907 * normal/misc.c: Likewise.
47908 * normal/parser.y: Likewise.
47909 * normal/script.c: Likewise.
47910 * normal/i386/setjmp.S: Likewise.
47911 * normal/powerpc/setjmp.S: Likewise.
47912 * normal/sparc64/setjmp.S: Likewise.
47913 * partmap/acorn.c: Likewise.
47914 * partmap/amiga.c: Likewise.
47915 * partmap/apple.c: Likewise.
47916 * partmap/gpt.c: Likewise.
47917 * partmap/pc.c: Likewise.
47918 * partmap/sun.c: Likewise.
47919 * term/gfxterm.c: Likewise.
47920 * term/terminfo.c: Likewise.
47921 * term/efi/console.c: Likewise.
47922 * term/i386/pc/console.c: Likewise.
47923 * term/i386/pc/serial.c: Likewise.
47924 * term/i386/pc/vesafb.c: Likewise.
47925 * term/i386/pc/vga.c: Likewise.
47926 * term/ieee1275/ofconsole.c: Likewise.
47927 * util/biosdisk.c: Likewise.
47928 * util/console.c: Likewise.
47929 * util/genmoddep.c: Likewise.
47930 * util/getroot.c: Likewise.
47931 * util/grub-emu.c: Likewise.
47932 * util/grub-mkdevicemap.c: Likewise.
47933 * util/grub-probe.c: Likewise.
47934 * util/lvm.c: Likewise.
47935 * util/misc.c: Likewise.
47936 * util/raid.c: Likewise.
47937 * util/resolve.c: Likewise.
47938 * util/update-grub.in: Likewise.
47939 * util/update-grub_lib.in: Likewise.
47940 * util/grub.d/00_header.in: Likewise.
47941 * util/grub.d/10_hurd.in: Likewise.
47942 * util/grub.d/10_linux.in: Likewise.
47943 * util/i386/efi/grub-install.in: Likewise.
47944 * util/i386/efi/grub-mkimage.c: Likewise.
47945 * util/i386/pc/grub-install.in: Likewise.
47946 * util/i386/pc/grub-mkimage.c: Likewise.
47947 * util/i386/pc/grub-mkrescue.in: Likewise.
47948 * util/i386/pc/grub-setup.c: Likewise.
47949 * util/i386/pc/misc.c: Likewise.
47950 * util/powerpc/ieee1275/grub-install.in: Likewise.
47951 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47952 * util/powerpc/ieee1275/misc.c: Likewise.
47953 * video/bitmap.c: Likewise.
47954 * video/video.c: Likewise.
47955 * video/i386/pc/vbe.c: Likewise.
47956 * video/i386/pc/vbeblit.c: Likewise.
47957 * video/i386/pc/vbefill.c: Likewise.
47958 * video/i386/pc/vbeutil.c: Likewise.
47959 * video/readers/tga.c: Likewise.
47960
47961 2007-07-02 Robert Millan <rmh@aybabtu.com>
47962
47963 * conf/i386-efi.rmk: Replace obsolete reference to
47964 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47965 with util/getroot.c.
47966 * conf/powerpc-ieee1275.rmk: Likewise.
47967 * conf/sparc64-ieee1275.rmk: Likewise.
47968
47969 * util/grub-emu.c (main): Fix unchecked pointer handling.
47970
47971 2007-07-02 Robert Millan <rmh@aybabtu.com>
47972
47973 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
47974 invocation to fail, in order to support partition-less media.
47975
47976 * util/i386/pc/grub-install.in: Likewise.
47977
47978 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
47979 which fs or partmap modules are needed (akin to its sister scripts).
47980
47981 Also use grub-probe to get rid of unportable /proc/mounts check.
47982
47983 Print the same informational message that the other scripts do, before
47984 exiting.
47985
47986 2007-06-23 Robert Millan <rmh@aybabtu.com>
47987
47988 * util/update-grub_lib.in (font_path): New function. Determine whether
47989 a font file can be found and, if so, echo the GRUB path to it.
47990
47991 * util/update-grub.in: Handle multiple terminals depending on user
47992 input, platform availability and font file presence. Propagate
47993 variables of our findings to /etc/grub.d/ children.
47994
47995 * util/grub.d/00_header.in: Handle multiple terminals, based on
47996 environment setup by update-grub.
47997
47998 2007-06-23 Robert Millan <rmh@aybabtu.com>
47999
48000 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
48001
48002 2007-06-21 Robert Millan <rmh@aybabtu.com>
48003
48004 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48005 indicate end of data section in kernel image.
48006 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48007 GRUB_KERNEL_MACHINE_DATA_END.
48008
48009 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48010 space for it.
48011 * kern/i386/efi/startup.S: Likewise.
48012
48013 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48014 during image generation. Implement --prefix option to override this
48015 patch.
48016 * util/i386/efi/grub-mkimage.c: Likewise.
48017
48018 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48019 code to make path relative to its root into a separate function.
48020
48021 * util/i386/pc/grub-install.in: Use newly provided
48022 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48023 pass the result to grub-install --prefix.
48024
48025 2007-06-13 Robert Millan <rmh@aybabtu.com>
48026
48027 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48028 DEFAULT_DEVICE_MAP.
48029 * util/grub-emu.c: Use above definitions from misc.h instead of
48030 defining them.
48031 * util/grub-mkdevicemap.c: Likewise.
48032 * util/i386/pc/grub-setup.c: Likewise.
48033 * util/grub-probe.c: Likewise.
48034 (probe): Abort with grub_util_error() when either
48035 grub_guess_root_device or grub_util_get_grub_dev fails.
48036
48037 2007-06-12 Robert Millan <rmh@aybabtu.com>
48038
48039 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48040 "pager" assignment.
48041 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48042 "pcdata".
48043 * util/grub-probe.c (probe): Likewise for "drive_name".
48044
48045 2007-06-11 Robert Millan <rmh@aybabtu.com>
48046
48047 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48048 not just the cdrom one.
48049
48050 2007-06-11 Robert Millan <rmh@aybabtu.com>
48051
48052 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48053 Add --pkglibdir=DIR option to override pkglibdir.
48054 Mention --image-type=TYPE in help output.
48055 Fix --grub-mkimage (it was a no-op).
48056 Abort gracefully when no parameter is given.
48057
48058 2007-06-11 Robert Millan <rmh@aybabtu.com>
48059
48060 * util/i386/pc/grub-mkrescue.in: New file.
48061 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48062 * Makefile.in: Handle bin_SCRIPTS.
48063
48064 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48065
48066 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48067 list of video modes.
48068
48069 2007-06-06 Robert Millan <rmh@aybabtu.com>
48070
48071 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48072 file doesn't exist, or if it is in a filesystem grub can't read.
48073
48074 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48075 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48076 header comment to fit in 80 columns when the variables are resolved.
48077
48078 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48079 could be identified by update-grub. Remove redundant check for
48080 unifont.pff existence (since convert_system_path_to_grub_path now
48081 handles that).
48082
48083 2007-06-04 Robert Millan <rmh@aybabtu.com>
48084
48085 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48086
48087 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48088
48089 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48090
48091 2007-06-04 Robert Millan <rmh@aybabtu.com>
48092
48093 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48094
48095 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48096 grub_apple_partition_map_fini.
48097
48098 * util/biosdisk.c
48099 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48100 to access >2 TiB disks).
48101
48102 Print disk->total_sectors with %llu instead of %lu, since this
48103 variable is always 64-bit (prevents wrong disk size from being displayed
48104 on either >2 TiB disk or big-endian CPU).
48105
48106 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48107 into a generic case that supports all (sane) partition maps.
48108
48109 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48110 breaks big-endian.
48111
48112 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48113 and grub_apple_partition_map_fini() after that.
48114
48115 2007-06-01 Robert Millan <rmh@aybabtu.com>
48116
48117 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48118
48119 * util/grub.d/00_header.in: Only enable gfxterm when
48120 convert_system_path_to_grub_path() succeeds.
48121
48122 2007-05-20 Robert Millan <rmh@aybabtu.com>
48123
48124 * util/update-grub_lib.in: New file.
48125 * DISTLIST: Add update-grub_lib.in.
48126 * conf/common.rmk: Generate update-grub_lib and install it in
48127 $(lib_DATA).
48128 * Makefile.in: Add install routine for $(lib_DATA).
48129
48130 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48131 function provided by update-grub_lib to support arbitrary paths of
48132 unifont.pff.
48133 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48134 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48135
48136 2007-05-19 Robert Millan <rmh@aybabtu.com>
48137
48138 * commands/i386/cpuid.c: New module.
48139 * DISTLIST: Add it.
48140 * conf/i386-efi.rmk: Enable cpuid.mod.
48141 * conf/i386-pc.rmk: Likewise.
48142
48143 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48144
48145 * kern/disk.c (grub_disk_read): Check return value of
48146 grub_realloc().
48147
48148 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48149
48150 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48151 arrays.
48152 * disk/raid.c (grub_raid_open): Likewise.
48153
48154 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48155
48156 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48157 stack instead of on the heap.
48158
48159 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48160 before doing a read on it.
48161
48162 * configure.ac: Only use -fno-stack-protector for the target
48163 environment.
48164
48165 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48166
48167 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48168 __attribute_ ((unused)) to mode_type argument.
48169
48170 * util/getroot.c (grub_guess_root_device): Fix #endif.
48171
48172 * kern/misc.c (memcmp): Fix prototype.
48173
48174 * include/grub/partition.h [GRUB_UTIL]
48175 (grub_gpt_partition_map_init): Add prototype.
48176 (grub_gpt_partition_map_fini): Likewise.
48177
48178 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48179 at the right place.
48180
48181 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48182 (grub_fat_read_data): Likewise.
48183 (grub_fat_find_dir): Likewise.
48184
48185 * font/manager.c (find_glyph): Make table a const.
48186 (grub_font_get_glyph): Remove bitmap from if statement.
48187
48188 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48189
48190 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48191 code, first search for device in /dev/mapper, then in /dev.
48192 (grub_util_get_grub_dev): New function.
48193 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48194 prototype.
48195 * util/grub-probe.c (probe): Remove check for RAID, call
48196 grub_util_get_grub_dev() instead of
48197 grub_util_biosdisk_get_grub_dev().
48198 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48199 grub_util_biosdisk_get_grub_dev().
48200 * util/i386/pc/grub-setup.c (main): Likewise.
48201
48202 2007-05-16 Robert Millan <rmh@aybabtu.com>
48203
48204 * DISTLIST: Update for the latest changes.
48205 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48206 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48207 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48208 grub/util/biosdisk.h.
48209 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48210 grub/util/biosdisk.h.
48211
48212 2007-05-16 Robert Millan <rmh@aybabtu.com>
48213
48214 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48215
48216 2007-05-16 Robert Millan <rmh@aybabtu.com>
48217
48218 * util/i386/efi/grub-install.in: New.
48219 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48220 newly added grub-install.
48221 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48222 include.
48223 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48224 grub/util/biosdisk.h.
48225 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48226 grub/util/biosdisk.h.
48227
48228 2007-05-16 Robert Millan <rmh@aybabtu.com>
48229
48230 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48231 * include/grub/util/biosdisk.h: ... here.
48232 * util/i386/pc/biosdisk.c: Moved to ...
48233 * util/biosdisk.c: ... here.
48234 * util/i386/pc/getroot.c: Moved to ...
48235 * util/getroot.c: ... here.
48236 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48237 * util/grub-mkdevicemap.c: ... here.
48238 * util/i386/pc/grub-probe.c: Moved to ...
48239 * util/grub-probe.c: ... here.
48240
48241 2007-05-15 Robert Millan <rmh@aybabtu.com>
48242
48243 * util/update-grub.in: Remove duplicated line in grub.cfg header
48244 message.
48245
48246 2007-05-13 Robert Millan <rmh@aybabtu.com>
48247
48248 * util/update-grub.in: Fix a few assumptions about the devices holding
48249 /, /boot and /boot/grub being the same.
48250 * util/grub.d/00_header.in: Likewise.
48251 * util/grub.d/10_hurd.in: Likewise.
48252 * util/grub.d/10_linux.in: Likewise.
48253
48254 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48255 patterns. Use that to define the `.old' suffix as older than `'.
48256
48257 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48258
48259 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48260 the grub.cfg header message.
48261
48262 2007-05-11 Robert Millan <rmh@aybabtu.com>
48263
48264 * util/update-grub.in: Create device.map if it doesn't already exist,
48265 before attempting to run grub-probe.
48266 Check for grub-probe and grub-mkdevicemap with the same code
48267 grub-install is using.
48268 Remove test mode.
48269
48270 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48271
48272 * Makefile.in: Add the datarootdir autoconf variable.
48273
48274 2007-05-09 Robert Millan <rmh@aybabtu.com>
48275
48276 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
48277 fail gracefully if dev->disk->partition == NULL.
48278
48279 2007-05-07 Robert Millan <rmh@aybabtu.com>
48280
48281 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48282 determine partition map module.
48283 * util/i386/pc/grub-install.in: Use this feature to decide which
48284 partition module to load, instead of hardcoding pc and gpt.
48285
48286 2007-05-07 Robert Millan <rmh@aybabtu.com>
48287
48288 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48289 source directory differs from build directory.
48290
48291 2007-05-05 Robert Millan <rmh@aybabtu.com>
48292
48293 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48294 initialisation.
48295
48296 2007-05-05 Robert Millan <rmh@aybabtu.com>
48297
48298 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48299
48300 2007-05-05 Robert Millan <rmh@aybabtu.com>
48301
48302 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48303 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48304
48305 2007-05-05 Robert Millan <rmh@aybabtu.com>
48306
48307 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48308 (grub_probe_SOURCES): Likewise.
48309 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48310 GPT and initialize dos_part and bsd_part accordingly.
48311 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48312 install_bsd_part.
48313 (main): Activate gpt module for use during partition identification,
48314 and deactivate it afterwards.
48315 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48316 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48317 partition identification, and deactivate it afterwards.
48318
48319 2007-05-05 Robert Millan <rmh@aybabtu.com>
48320
48321 * term/i386/pc/console.c (grub_console_fini): Call
48322 grub_term_set_current() before grub_term_unregister().
48323
48324 2007-05-04 Robert Millan <rmh@aybabtu.com>
48325
48326 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48327 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48328 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48329 and update-grub_DATA.
48330 * conf/common.rmk: Build and install update-grub components.
48331 * conf/common.mk: Regenerate.
48332 * util/update-grub.in: New. Core of update-grub.
48333 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48334 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48335 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48336 * util/grub.d/README: New. Document grub.d directory layout.
48337
48338 2007-05-01 Robert Millan <rmh@aybabtu.com>
48339
48340 * util/grub-emu.c: Move initialization functions
48341 grub_util_biosdisk_init() and grub_init_all() before
48342 grub_util_biosdisk_get_grub_dev(), which relies on them.
48343
48344 2007-04-19 Robert Millan <rmh@aybabtu.com>
48345
48346 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48347 it is used later.
48348
48349 2007-04-18 Jerone Young <jerone@gmail.com>
48350
48351 * kernel/elf.c: Add missing parenthesis for conditional statement
48352 stanza.
48353
48354 2007-04-10 Jerone Young <jerone@gmail.com>
48355
48356 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48357 continue on and look for device node with real device name.
48358
48359 2007-04-10 Jerone Young <jerone@gmail.com>
48360
48361 * configure.ac: Add argument for autoconf to use transformation
48362 ability.
48363 * Makefile.in: Add autoconf package transformation code.
48364 * util/i386/pc/grub-install.in: Likewise.
48365 * util/powerpc/ieee1275/grub-install.in: Likewise.
48366
48367 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48368
48369 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48370 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48371 (EXT2_REVISION): Likewise.
48372 (EXT2_INODE_SIZE): Likewise.
48373 (struct grub_ext2_block_group): Added a missing member
48374 "used_dirs".
48375 (grub_ext2_read_inode): Divide by the inode size in a superblock
48376 instead of 128 to obtain INODES_PER_BLOCK.
48377 Use the macro EXT2_INODE_SIZE instead of directly using
48378 SBLOCK->INODE_SIZE.
48379
48380 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48381
48382 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48383 superblock instead of the structure size to compute an
48384 offset. This fixes the problem that GRUB could not read a
48385 filesystem when inode size is different from 128-byte.
48386
48387 2007-03-05 Marco Gerards <marco@gnu.org>
48388
48389 * normal/main.c (read_config_file): When "menu" is not set, create
48390 an initial context.
48391
48392 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48393
48394 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48395 (HEAP_LIMIT): New macro.
48396 (grub_claim_heap): Claim memory up to `heaplimit'.
48397
48398 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48399
48400 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48401 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48402 (_start): Likewise.
48403 (grub_arch_modules_addr): Return address after `_end'.
48404 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48405 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48406 (add_segments): Calculate `_end' from phdr size and location.
48407 (ALIGN_UP): Moved to ...
48408 * include/grub/misc.h: here.
48409 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48410 New macro.
48411 (GRUB_IEEE1275_MODULE_BASE): Removed.
48412
48413 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48414
48415 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48416 loop boundary.
48417
48418 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48419
48420 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48421 All users updated.
48422 (grub_elf64_load_hook_t): Likewise.
48423 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48424 debug output.
48425
48426 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48427
48428 * kern/mm.c: Update copyright.
48429 (grub_mm_debug): Correct syntax error.
48430 (grub_mm_dump_free): New function.
48431 (grub_debug_free): Call `grub_free'.
48432 * include/grub/mm.h: Update copyright.
48433 (grub_mm_dump_free): Add declaration.
48434
48435 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48436
48437 * include/grub/ieee1275/ieee1275.h: Update copyright.
48438 * kern/powerpc/ieee1275/init.c: Likewise.
48439 * kern/powerpc/ieee1275/openfw.c: Likewise.
48440
48441 * loader/powerpc/ieee1275/linux.c: Likewise.
48442 * include/grub/elfload.h: Likewise.
48443 * kern/elf.c: Likewise.
48444 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48445 callers.
48446 (grub_elf64_load): Likewise.
48447 (grub_elf32_load_segment): Move to a nested function.
48448 (grub_elf64_load_segment): Likewise.
48449
48450 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48451
48452 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48453 prototype.
48454 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48455 (grub_heap_len): Likewise.
48456 (HEAP_SIZE): New macro.
48457 (grub_claim_heap): New function.
48458 (grub_machine_init): Don't claim heap directly. Call
48459 `grub_claim_heap'.
48460 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48461 (grub_available_iterate): New function.
48462
48463 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48464
48465 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48466 * configure.ac: Use it for testing the HOST and TARGET compilers.
48467
48468 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48469
48470 * Makefile.in (enable_grub_emu): New variable.
48471 * configure.ac (--enable-grub-emu): New option.
48472 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48473 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48474 * conf/i386-pc.rmk: Likewise.
48475 * conf/powerpc-ieee1275.rmk: Likewise.
48476 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48477
48478 2006-12-12 Marco Gerards <marco@gnu.org>
48479
48480 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48481
48482 * kern/env.c (grub_env_unset): Don't free the member `value' when
48483 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48484 pointer.
48485
48486 * normal/main.c (current_menu): Removed.
48487 (free_menu): Unset the `menu' environment variable.
48488 (grub_normal_menu_addentry): Make use of the environment variable
48489 `menu', instead of using the global `current_menu'. Allocate
48490 memory for the sourcecode of this entry.
48491 (read_config_file): New argument `nested', changed all callers.
48492 Only in the case of a new context, initialize a new menu. Set the
48493 `menu' environment variable.
48494 (grub_normal_execute): Don't set and unset the environment
48495 variable `menu' here anymore. Only free the menu when leaving the
48496 context.
48497
48498 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48499 leak.
48500
48501 2006-12-11 Marco Gerards <marco@gnu.org>
48502
48503 * normal/menu_entry.c (run): Fix off by one bug so the last line
48504 is executed. Move the loader check to outside the loop.
48505
48506 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48507
48508 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48509
48510 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48511
48512 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48513 the number of sectors. Reported by Andrey Shuvikov
48514 <mr_hyro@yahoo.com>.
48515
48516 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48517
48518 * kern/disk.c (grub_disk_read): When there is a read error, always
48519 try to read only the necessary data.
48520
48521 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48522 disk/raid.c.
48523 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48524 prototype.
48525 [GRUB_UTIL] (grub_raid_fini): Likewise.
48526 [GRUB_UTIL] (grub_lvm_init): Likewise.
48527 [GRUB_UTIL] (grub_lvm_fini): Likewise.
48528 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48529 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48530 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48531 and grub_raid_fini().
48532
48533 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48534
48535 * include/grub/types.h (__unused): Rename to UNUSED.
48536 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48537 (grub_elf64_size): Likewise.
48538
48539 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48540
48541 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48542 grub_error_push and grub_error_pop in the error-handling path.
48543 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48544 length.
48545
48546 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48547
48548 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48549 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48551 (kernel_elf_SOURCES): Likewise.
48552 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48553 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48554 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48555 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48556 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48557 (elf_mod_SOURCES): New variable.
48558 (elf_mod_CFLAGS): Likewise.
48559 (elf_mod_LDFLAGS): Likewise.
48560 * include/grub/types.h (__unused): New macro.
48561 * include/grub/elfload.h: New file.
48562 * kern/elf.c: Likewise.
48563 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48564 (ELF32_LOADMASK): New macro.
48565 (ELF64_LOADMASK): Likewise.
48566 (vmlinux): Removed.
48567 (grub_linux_load32): New function.
48568 (grub_linux_load64): Likewise.
48569 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48570 Use grub_elf_t instead of grub_file_t.
48571
48572 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48573
48574 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48575 `catch_result' to struct set_color_args.
48576
48577 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48578
48579 * normal/menu.c: Include grub/script.h.
48580 * normal/menu_entry.c: Likewise.
48581 * include/grub/normal.h: Do not include grub/script.h.
48582
48583 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48584
48585 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48586
48587 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48588
48589 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48590 disk.
48591 (grub_disk_close): Print debug messages when closing a disk.
48592 (grub_disk_read): Print debug messages when disk read fails.
48593 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48594 filesystem type.
48595 * kern/partition.c: Include misc.h.
48596 (grub_partition_iterate): Print debug messages when detecting
48597 partition type.
48598
48599 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48600
48601 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48602 is negative.
48603 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48604
48605 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48606
48607 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48608 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48609
48610 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48611
48612 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48613 instead of sizeof(lv). Patch by Michael Guntsche.
48614
48615 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48616
48617 * disk/lvm.c: Rename VGS to VG_LIST.
48618 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48619 (grub_lvm_open): Likewise.
48620 Thanks to Michael Guntsche for finding this bug.
48621
48622 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48623
48624 * configure.ac (AC_INIT): Bumped to 1.95.
48625
48626 2006-10-14 Robert Millan <rmh@aybabtu.com>
48627
48628 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48629 with "/dev/.static/dev/md".
48630
48631 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48632
48633 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48634 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48635 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48636 DRIVE_NAME are always freed.
48637
48638 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48639 DOS_PART, as a DOS partition is counted from one instead of zero
48640 now. Reported by Robert Millan.
48641
48642 2006-10-14 Robert Millan <rmh@aybabtu.com>
48643
48644 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48645 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48646 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48647 string returned by grub_guess_root_device.
48648 * util/i386/pc/grub-setup.c: Likewise.
48649 * util/i386/pc/grub-probefs.c: Likewise.
48650
48651 * util/i386/pc/grub-probefs.c: Rename to ...
48652 * util/i386/pc/grub-probe.c: ... this.
48653 * DISTLIST: Remove grub-probefs, add grub-probe.
48654 * conf/i386-efi.rmk: Likewise.
48655 * conf/i386-pc.rmk: Likewise.
48656 * util/i386/pc/grub-install.in: Likewise.
48657
48658 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48659 choose which information we want to print.
48660
48661 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48662
48663 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48664 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48665 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48666 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48667 video/readers/tga.c and video/i386/pc/vbeutil.c.
48668
48669 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48670
48671 Added support for RAID and LVM.
48672
48673 * disk/lvm.c: New file.
48674 * disk/raid.c: Likewise.
48675 * include/grub/lvm.h: Likewise.
48676 * include/grub/raid.h: Likewise.
48677 * include/grub/util/lvm.h: Likewise.
48678 * include/grub/util/raid.h: Likewise.
48679 * util/lvm.c: Likewise.
48680 * util/raid.c: Likewise.
48681
48682 * include/grub/disk.h (grub_disk_dev_id): Add
48683 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48684 (grub_disk_get_size): New prototype.
48685 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48686 returns a partition.
48687 (grub_disk_get_size): New function.
48688
48689 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48690 verbatim if grub_install_dos_part is -2.
48691
48692 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48693 and LVM devices.
48694
48695 * util/i386/pc/grub-setup.c (setup): New argument
48696 MUST_EMBED. Force embedding of GRUB when the argument is
48697 true. Close FILE before returning.
48698 (main): Add support for RAID and LVM.
48699
48700 * conf/common.rmk: Add RAID and LVM modules.
48701 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48702 util/lvm.c.
48703 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48704
48705 * kern/misc.c (grub_strstr): New function.
48706 * include/grub/misc.h (grub_strstr): New prototype.
48707
48708 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48709
48710 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48711
48712 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48713
48714 * kern/misc.c (grub_strtoull): Guess the base only if not
48715 specified.
48716
48717 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48718
48719 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48720 PowerMac support.
48721
48722 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48723
48724 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48725
48726 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48727 Remove `flags' argument. All callers changed.
48728 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48729 (IEEE1275_IHANDLE_INVALID): New variable.
48730 (IEEE1275_CELL_INVALID): New variable.
48731 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48732 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48733 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48734 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48735 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48736 codes from Open Firmware. All callers updated.
48737 (grub_ieee1275_next_property): Directly return Open Firmware return
48738 code.
48739 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48740 Standardize error checking from `grub_ieee1275_get_property'.
48741 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48742 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48743
48744 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48745
48746 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48747 `instance_to_package_args' to `instance_to_path_args'.
48748
48749 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48750 `grub_ieee1275_chosen'.
48751
48752 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48753 `grub_ieee1275_interpret'.
48754
48755 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48756
48757 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48758
48759 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48760
48761 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48762 (__cmpdi): Likewise.
48763
48764 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48765 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48766 `grub_ssize_t'.
48767
48768 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
48769
48770 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48771 to type `grub_ssize_t'.
48772 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48773
48774 2006-09-22 Marco Gerards <marco@gnu.org>
48775
48776 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48777 newlines.
48778
48779 2006-09-22 Marco Gerards <marco@gnu.org>
48780
48781 * commands/echo.c: New file.
48782
48783 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48784
48785 * conf/common.rmk (echo_mod_SOURCES): New variable.
48786 (echo_mod_CFLAGS): Likewise.
48787 (echo_mod_LDFLAGS): Likewise.
48788
48789 2006-09-22 Marco Gerards <marco@gnu.org>
48790
48791 * normal/main.c (get_line): Malloc memory instead of using
48792 preallocated memory. Removed the arguments `cmdline' and
48793 `max_len'. Updated all callers.
48794
48795 2006-09-22 Marco Gerards <marco@gnu.org>
48796
48797 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48798 (normal_mod_DEPENDENCIES): Likewise.
48799
48800 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48801 (normal_mod_DEPENDENCIES): Likewise.
48802
48803 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48804
48805 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
48806
48807 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48808 programs.
48809 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48810 (normal_mod_DEPENDENCIES): Likewise.
48811 * conf/i386-pc.mk: Regenerate.
48812 * conf/i386-efi.mk: Likewise
48813 * conf/common.mk: Likewise.
48814 * conf/powerpc-ieee1275.mk: Likewise.
48815 * conf/sparc64-ieee1275.mk: Likewise.
48816
48817 2006-09-22 Robert Millan <rmh@aybabtu.com>
48818
48819 Sync with i386 version.
48820 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48821 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48822
48823 2006-09-21 Robert Millan <rmh@aybabtu.com>
48824
48825 Import from GRUB Legacy (lib/device.c):
48826 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48827 (init_device_map) [__linux__]: Add support for I2O devices.
48828
48829 2006-09-14 Marco Gerards <marco@gnu.org>
48830
48831 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48832 `-melf_i386'.
48833
48834 2006-09-14 Robert Millan <rmh@aybabtu.com>
48835
48836 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48837 /boot/grub/*.lst.
48838
48839 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
48840
48841 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48842 before adding it to device.map.
48843
48844 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
48845
48846 * genmk.rb: Let GCC generate dependencies the first time it
48847 compiles a file; using the -MD option.
48848 * conf/common.mk: Regenerate.
48849 * conf/i386-pc.mk: Likewise.
48850 * conf/i386-efi.mk: Likewise.
48851 * conf/powerpc-ieee1275.mk: Likewise.
48852 * conf/sparc64-ieee1275.mk: Likewise.
48853
48854 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48855
48856 Move the prototypes of grub_setjmp and grub_longjmp to
48857 cpu/setjmp.h, so that each architecture may specify different
48858 attributes.
48859
48860 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48861 (grub_longjmp): Likewise.
48862 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48863 (grub_longjmp): Likewise.
48864 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48865 (grub_longjmp): Likewise.
48866
48867 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48868 [!GRUB_UTIL] (grub_longjmp): Removed.
48869
48870 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48871
48872 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48873 "color!" method does not return any value.
48874
48875 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48876
48877 * include/grub/bitmap.h: New file.
48878
48879 * include/grub/i386/pc/vbeutil.h: Likewise.
48880
48881 * video/bitmap.c: Likewise.
48882
48883 * video/readers/tga.c: Likewise.
48884
48885 * video/i386/pc/vbeutil.c: Likewise.
48886
48887 * commands/videotest.c: Code cleanup and updated to reflect to new
48888 video API.
48889
48890 * term/gfxterm.c: Likewise.
48891
48892 * video/video.c: Likewise.
48893
48894 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48895 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48896 (bitmap_mod_SOURCES): New entry.
48897 (bitmap_mod_CFLAGS): Likewise.
48898 (bitmap_mod_LDFLAGS): Likewise.
48899 (tga_mod_SOURCES): Likewise.
48900 (tga_mod_CFLAGS): Likewise.
48901 (tga_mod_LDFLAGS): Likewise.
48902
48903 * include/grub/video.h (grub_video_blit_operators): New enum type.
48904 (grub_video_render_target): Changed as forward declaration and moved
48905 actual definition to be video driver specific.
48906 (grub_video_adapter.blit_bitmap): Added blitting operator.
48907 (grub_video_adapter.blit_render_target): Likewise.
48908 (grub_video_blit_bitmap): Likewise.
48909 (grub_video_blit_render_target): Likewise.
48910
48911 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48912 driver specific render target definition.
48913 (grub_video_vbe_map_rgba): Added driver internal helper.
48914 (grub_video_vbe_unmap_color): Updated to use
48915 grub_video_i386_vbeblit_info.
48916 (grub_video_vbe_get_video_ptr): Likewise.
48917
48918 * include/grub/i386/pc/vbeblit.h
48919 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48920 grub_video_i386_vbeblit_info.
48921 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48922 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48923 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48924 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48925 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48926 (grub_video_i386_vbeblit_index_index): Likewise.
48927 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48928 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48929 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48930 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48931 operator.
48932 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48933 operator.
48934
48935 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48936 include/grub/i386/pc/vbeblit.h.
48937
48938 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48939 Updated to use grub_video_i386_vbeblit_info.
48940 (grub_video_i386_vbefill_R8G8B8): Likewise.
48941 (grub_video_i386_vbefill_index): Likewise.
48942 (grub_video_i386_vbefill): Added generic filler.
48943
48944 * video/i386/pc/vbefill.c: Updated to reflect changes on
48945 include/grub/i386/pc/vbefill.h.
48946
48947 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48948 grub_video_i386_vbeblit_info.
48949 (grub_video_vbe_unmap_color): Likewise.
48950 (grub_video_vbe_blit_glyph): Likewise.
48951 (grub_video_vbe_scroll): Likewise.
48952 (grub_video_vbe_draw_pixel): Removed function.
48953 (grub_video_vbe_get_pixel): Likewise.
48954 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48955 updated code to use it.
48956 (common_blitter): Added common blitter for render target and bitmap.
48957 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48958 (grub_video_vbe_blit_render_target): Likewise.
48959
48960 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
48961
48962 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48963 is in text mode if there is no console control protocol instance
48964 available.
48965
48966 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48967
48968 * include/grub/video.h: Code cleanup.
48969
48970 * include/grub/i386/pc/vbe.h: Likewise.
48971
48972 * video/i386/pc/vbe.c: Likewise.
48973
48974 * video/i386/pc/vbeblit.c: Likewise.
48975
48976 * video/i386/pc/vbefill.c: Likewise.
48977
48978 * video/video.c: Likewise. Also added more comments.
48979
48980 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48981
48982 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
48983 (struct grub_biosdisk_dap): Likewise.
48984
48985 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
48986 linkage settings for all functions.
48987
48988 2006-07-12 Marco Gerards <marco@gnu.org>
48989
48990 * configure.ac (--enable-mm-debug): Fix typo.
48991
48992 * genkernsyms.sh.in: Use proper quoting for `CC'.
48993
48994 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
48995
48996 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
48997 (normal_mod_ASFLAGS): Remove "-m32".
48998
48999 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49000
49001 * util/misc.c: Include config.h.
49002 [!HAVE_MEMALIGN]: Do not include malloc.h.
49003 (grub_memalign): Use posix_memalign, if present. Then, use
49004 memalign, if present. Otherwise, emit an error.
49005
49006 * util/grub-emu.c: Do not include malloc.h.
49007
49008 * include/grub/util/misc.h: Include unistd.h. This is required for
49009 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49010 D. Eades III <hde@foobar-qux.org>.
49011
49012 * configure.ac (AC_GNU_SOURCE): Added.
49013 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49014 type.
49015
49016 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49017
49018 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49019 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49020
49021 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49022
49023 * include/grub/types.h (grub_host_addr_t): Rename to
49024 grub_target_addr_t.
49025 (grub_host_off_t): Rename to grub_target_off_t.
49026 (grub_host_size_t): Rename to grub_target_size_t.
49027 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49028 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49029
49030 * include/grub/kernel.h (struct grub_module_header): Change type
49031 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49032 (grub_module_info): Likewise.
49033
49034 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49035
49036 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49037 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49038 Velazquez <jesus.velazquez@gmail.com>.
49039
49040 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49041
49042 Count partitions from 1 instead of 0 in the string representation
49043 of partitions. Still use 0-based internally.
49044
49045 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49046 (sun_partition_map_iterate): Use grub_partition_t instead of
49047 struct grub_partition *. Cast DESC->START_CYLINDER to
49048 grub_uint64_t after converting the endian.
49049 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49050 (sun_partition_map_get_name): Add 1 to P->INDEX.
49051
49052 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49053 PCDATA->DOS_PART.
49054 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49055
49056 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49057 zero instead of one.
49058 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49059 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49060
49061 * partmap/apple.c (apple_partition_map_iterate): Change the type
49062 of POS to unsigned.
49063 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49064 (apple_partition_map_get_name): Add 1 into P->INDEX.
49065
49066 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49067 of POS to unsigned.
49068 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49069 calculate the offset of a partition.
49070 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49071 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49072
49073 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49074 SECTOR to grub_disk_addr_t.
49075 (acorn_partition_map_iterate): Likewise.
49076 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49077 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49078 top.
49079 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49080
49081 * kern/i386/pc/init.c (make_install_device): Add 1 into
49082 GRUB_INSTALL_DOS_PART.
49083
49084 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49085 conditional.
49086
49087 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49088
49089 Clean up the code to support 64-bit addressing in disks and
49090 files. This change is not enough for filesystems yet.
49091
49092 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49093 type of "start" to grub_uint64_t.
49094 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49095 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49096 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49097 convert addresses.
49098
49099 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49100 to grub_disk_addr_t.
49101
49102 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49103 string.
49104
49105 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49106
49107 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49108 to char *.
49109
49110 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49111
49112 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49113
49114 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49115
49116 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49117 to grub_off_t, to detect an error from grub_file_seek.
49118 (grub_multiboot_load_elf32): Likewise.
49119
49120 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49121 maximum unsigned long value when an overflow is detected.
49122 (grub_strtoull): New function.
49123 (grub_divmod64): Likewise.
49124 (grub_lltoa): use grub_divmod64.
49125
49126 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49127 grub_disk_addr_t.
49128 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49129 the pointer to next character. Use grub_strtoull instead of
49130 grub_strtoul.
49131 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49132 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49133 respectively.
49134
49135 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
49136 return value is signed.
49137 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49138 test if OFFSET is less than zero, as OFFSET is unsigned now.
49139
49140 * kern/disk.c (struct grub_disk_cache): Change the type of
49141 "sector" to grub_disk_addr_t.
49142 (grub_disk_cache_get_index): Change the type of SECTOR to
49143 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49144 unsigned after shifting.
49145 (grub_disk_cache_invalidate): Change the type of SECTOR to
49146 grub_disk_addr_t.
49147 (grub_disk_cache_unlock): Likewise.
49148 (grub_disk_cache_store): Likewise.
49149 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49150 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49151 grub_disk_addr_t and grub_uint64_t, respectively.
49152 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49153 body, as the value of OFFSET is tweaked by
49154 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49155 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49156 respectively.
49157 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49158 body, as the value of OFFSET is tweaked by
49159 grub_disk_check_range. Change the types of LEN and N to
49160 grub_size_t.
49161
49162 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49163 and "saved_offset" to grub_off_t.
49164 (test_header): Cast BUF to char *.
49165 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49166 to char *.
49167 (grub_gzio_read): Change the types of OFFSET and SIZE to
49168 grub_off_t and grub_size_t, respectively.
49169
49170 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49171 Removed.
49172 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49173 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49174 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49175 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49176 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49177
49178 * include/grub/types.h (grub_off_t): Unconditionally set to
49179 grub_uint64_t.
49180 (grub_disk_addr_t): Changed to grub_uint64_t.
49181
49182 * include/grub/partition.h (struct grub_partition): Change the
49183 types of "start", "len" and "offset" to grub_disk_addr_t,
49184 grub_uint64_t and grub_disk_addr_t, respectively.
49185 (grub_partition_get_start): Return grub_disk_addr_t.
49186 (grub_partition_get_len): Return grub_uint64_t.
49187
49188 * include/grub/misc.h (grub_strtoull): New prototype.
49189 (grub_divmod64): Likewise.
49190
49191 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49192 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49193 grub_off_t, respectively.
49194 All callers and references changed.
49195
49196 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49197 grub_size_t in "read".
49198 All callers and references changed.
49199
49200 * include/grub/file.h (struct grub_file): Change the types of
49201 "offset" and "size" to grub_off_t and grub_off_t,
49202 respectively. Change the type of SECTOR to grub_disk_addr_t in
49203 "read_hook".
49204 (grub_file_read): Change the type of LEN to grub_size_t.
49205 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49206 grub_off_t.
49207 (grub_file_size): Return grub_off_t.
49208 (grub_file_tell): Likewise.
49209 All callers and references changed.
49210
49211 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49212 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49213 "write".
49214 (struct grub_disk): Change the type of "total_sectors" to
49215 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
49216 "read_hook".
49217 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49218 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49219 (grub_disk_write): Likewise.
49220 All callers and references changed.
49221
49222 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49223 char * for grub_strncmp to silence gcc.
49224 (grub_iso9660_mount): Likewise.
49225 (grub_iso9660_mount): Likewise.
49226 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49227 return statement.
49228 (grub_iso9660_iterate_dir): Likewise.
49229 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49230
49231 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49232 LEN to grub_disk_addr_t and grub_size_t, respectively.
49233
49234 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49235
49236 * fs/jfs.c (grub_jfs_read_file): Likewise.
49237
49238 * fs/minix.c (grub_jfs_read_file): Likewise.
49239
49240 * fs/sfs.c (grub_jfs_read_file): Likewise.
49241
49242 * fs/ufs.c (grub_jfs_read_file): Likewise.
49243
49244 * fs/xfs.c (grub_jfs_read_file): Likewise.
49245
49246 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49247 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49248 respectively.
49249
49250 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49251 BLKNR to -1 instead of returning GRUB_ERRNO.
49252 (grub_ext2_read_file): Change the types of SECTOR and
49253 LEN to grub_disk_addr_t and grub_size_t, respectively.
49254
49255 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49256 LEN to grub_disk_addr_t and grub_size_t, respectively.
49257
49258 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49259 grub_file_read.
49260
49261 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49262 string. Do not cast SECTOR explicitly.
49263
49264 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49265 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49266 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49267 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49268 over 2TB and LBA mode is not supported, raise an error.
49269 (get_safe_sectors): New function.
49270 (grub_biosdisk_read): Use get_safe_sectors.
49271 (grub_biosdisk_write): Likewise.
49272
49273 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49274 (grub_efidisk_write): Likewise.
49275
49276 * disk/loopback.c (delete_loopback): Cosmetic changes.
49277 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49278 correctly.
49279 (grub_loopback_open): Likewise.
49280 (grub_loopback_read): Likewise. Also, change the type of POS to
49281 grub_off_t, and fix the usage of grub_memset.
49282
49283 * commands/i386/pc/play.c: Include grub/machine/time.h.
49284
49285 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49286 print FILE->SIZE.
49287
49288 * commands/configfile.c: Include grub/env.h.
49289
49290 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49291 GRUB_ERRNO directly instead. Change the type of POS to
49292 grub_off_t. Follow the coding standard.
49293
49294 * commands/blocklist.c: Include grub/partition.h.
49295 (grub_cmd_blocklist): Return an error if the underlying device is
49296 not a disk. Take the starting sector of a partition into account,
49297 if a partition is used.
49298
49299 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49300 a length field.
49301 (lba_mode): Support 64-bit addresses.
49302 (chs_mode): Likewise.
49303 (copy_buffer): Adapted to the new offsets of a length field and a
49304 segment field.
49305 (blocklist_default_start): Allocate 64-bit space.
49306
49307 * boot/i386/pc/boot.S (force_lba): Removed.
49308 (boot_drive): Moved to under KERNEL_SECTOR.
49309 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
49310 space.
49311 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49312 is useless.
49313 (lba_mode): Refactored to support a 64-bit address. More size
49314 optimization.
49315 (setup_sectors): Likewise.
49316
49317 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49318
49319 * DISTLIST: Added include/grub/i386/linux.h. Removed
49320 include/grub/i386/pc/linux.h
49321
49322 * configure.ac (AC_INIT): Bumped to 1.94.
49323
49324 * config.guess: Updated from gnulib.
49325 * config.sub: Likewise.
49326 * install-sh: Likewise.
49327 * mkinstalldirs: Likewise.
49328
49329 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49330
49331 * conf/common.rmk (grub_modules_init.lst): Depended on
49332 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49333 MODSRCFILES.
49334
49335 * genmk.rb (PModule::rule): Reverted the previous change.
49336
49337 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49338
49339 * conf/common.rmk (grub_modules_init.lst): Depends on
49340 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49341 that the target does not exist before producing.
49342 (grub_modules_init.h): Remove the target before generating.
49343 (grub_emu_init.c): Likewise.
49344
49345 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49346
49347 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49348
49349 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49350 for the target-specific tests. Make sure that we also have the
49351 up-to-date target variables for those tests.
49352
49353 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49354
49355 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49356 (PModule::rule): Likewise.
49357
49358 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49359
49360 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49361 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49362 target-specific flags should be prefixed.
49363 (PModule::rule): Likewise.
49364
49365 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49366
49367 * configure.ac (CMP): Check if cmp is available explicitly.
49368
49369 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49370
49371 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49372 (target_cpu): New variable.
49373 (pkglibdir): Use target_cpu instead of host_cpu.
49374
49375 * util/i386/pc/grub-install.in (host_cpu): Removed.
49376 (target_cpu): New variable.
49377 (pkglibdir): Use target_cpu instead of host_cpu.
49378
49379 * util/genmoddep.c: Removed.
49380
49381 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49382 instead of GRUB_HOST_SIZEOF_VOID_P.
49383 * kern/dl.c: Likewise.
49384
49385 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49386 ...
49387 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49388 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49389 (GRUB_TARGET_SIZEOF_LONG): ... this.
49390 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49391 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49392 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49393 to ...
49394 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49395 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49396 (GRUB_TARGET_SIZEOF_LONG): ... this.
49397 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49398 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49399 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49400 to ...
49401 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49402 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49403 (GRUB_TARGET_SIZEOF_LONG): ... this.
49404 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49405 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49406
49407 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49408 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49409 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49410 instead of GRUB_HOST_SIZEOF_LONG.
49411 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49412 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49413 GRUB_CPU_WORDS_BIGENDIAN.
49414 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49415 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49416 grub_host_ssize_t.
49417
49418 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49419 (genmoddep_SOURCES): Likewise.
49420 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49421 (genmoddep_SOURCES): Likewise.
49422 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49423 (genmoddep_SOURCES): Likewise.
49424 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49425 Likewise.
49426 (genmoddep_SOURCES): Likewise.
49427
49428 * genmoddep.awk: New file.
49429
49430 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49431 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49432 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49433 (PModule::rule): Likewise.
49434 (Program::rule): Likewise.
49435 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49436 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49437 respectively.
49438
49439 * configure.ac: Rewritten intensively to use host and target
49440 instead of build and host, respectively.
49441
49442 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49443 (host_cpu): Removed.
49444 (target_cpu): New variable.
49445 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49446 (BUILD_CC): Removed.
49447 (BUILD_CFLAGS): Likewise.
49448 (BUILD_CPPFLAGS): Likewise.
49449 (TARGET_CC): New variable.
49450 (TARGET_CFLAGS): Likewise.
49451 (TARGET_CPPFLAGS): Likewise.
49452 (TARGET_LDFLAGS): Likewise.
49453 (AWK): Likewise.
49454 (include): Use target_cpu instead of host_cpu.
49455 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
49456
49457 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49458
49459 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49460
49461 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49462 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49463 field 'false' to 'exec_on_false'.
49464 (grub_script_create_cmdif): Renamed argument names to reflect above
49465 changes.
49466
49467 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49468
49469 * normal/script.c (grub_script_create_cmdif): Likewise.
49470
49471 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49472
49473 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49474 top.
49475 (grub_hfsplus_btree_recptr): Likewise.
49476 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49477 FILEBLOCK both to pass a block number and store next block
49478 number.
49479 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49480 overflow file correctly. Specify errors appropriately, because
49481 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49482 grub_hfsplus_btree_recptr to get the pointer to a found key.
49483 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49484 is found.
49485
49486 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49487 linux.mod.
49488 (_linux_mod_SOURCES): New variable.
49489 (_linux_mod_CFLAGS): Likewise.
49490 (_linux_mod_LDFLAGS): Likewise.
49491 (linux_mod_SOURCES): Likewise.
49492 (linux_mod_CFLAGS): Likewise.
49493 (linux_mod_LDFLAGS): Likewise.
49494
49495 * DISTLIST: Added loader/i386/efi/linux.c,
49496 loader/i386/efi/linux_normal.c and
49497 include/grub/i386/efi/loader.h.
49498
49499 * loader/i386/efi/linux.c: New file.
49500 * loader/i386/efi/linux_normal.c: Likewise.
49501 * include/grub/i386/efi/loader.h: Likewise.
49502
49503 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49504
49505 * commands/blocklist.c: New file.
49506
49507 * DISTLIST: Added commands/blocklist.c.
49508
49509 * term/efi/console.c (grub_console_highlight_color): Use a lighter
49510 color for the background, and a darker color for the foreground.
49511 (grub_console_checkkey): Return READ_KEY.
49512 (grub_console_cls): Set the background to
49513 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49514
49515 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49516
49517 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49518 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49519
49520 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49521 prototype.
49522
49523 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49524 BG. The spec is wrong again.
49525
49526 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49527 prototype.
49528 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49529
49530 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49531 commands/blocklist.c.
49532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49533
49534 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49535 (blocklist_mod_SOURCES): New variable.
49536 (blocklist_mod_CFLAGS): Likewise.
49537 (blocklist_mod_LDFLAGS): Likewise.
49538
49539 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49540
49541 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49542 duplication.
49543 (lba_mode): Use %eax more intensively to reduce the code size.
49544
49545 2006-05-20 Marco Gerards <marco@gnu.org>
49546
49547 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49548
49549 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49550 for `menuentry'.
49551 (script): Accept leading newlines.
49552 (newlines): New rule to describe 0 or more newlines.
49553 (commands): Accept `command' with trailing newline. Fixed the
49554 order in which arguments were passed to `grub_script_add_cmd'.
49555 Accept commands separated by newlines.
49556 (function): Changed to accept newlines.
49557 (menuentry) Rewritten.
49558
49559 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49560 front of the list, instead of to the end.
49561
49562 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49563
49564 * util/i386/pc/grub-install.in (bindir): New variable.
49565 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49566 Shaver <lbgwjl@gmail.com>.
49567
49568 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49569
49570 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49571 grub/machine/linux.h
49572 * loader/i386/pc/linux.c: Likewise.
49573
49574 * include/grub/i386/pc/linux.h: Moved to ...
49575 * include/grub/i386/linux.h: ... here.
49576
49577 * include/grub/i386/linux.h (struct linux_kernel_params): New
49578 struct.
49579
49580 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49581
49582 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49583 checking.
49584 (grub_video_vbe_blit_glyph): Likewise.
49585 (grub_video_vbe_blit_bitmap): Likewise.
49586 (grub_video_vbe_blit_render_target): Likewise.
49587
49588 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49589
49590 * configure.ac (--with-platform): Properly quote the square
49591 brackets.
49592
49593 2006-05-08 Marco Gerards <marco@gnu.org>
49594
49595 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49596 this...
49597 (kernel_elf_HEADERS): ...to this. Updated all users.
49598 (grubof_symlist.c): Renamed from this...
49599 (kernel_elf_symlist.c): ...to this. Updated all users.
49600 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49601 (grubof_SOURCES): Renamed from this...
49602 (kernel_elf_SOURCES): ...to this.
49603 (grubof_HEADERS): Renamed from this...
49604 (kernel_elf_HEADERS): ...to this.
49605 (grubof_CFLAGS): Renamed from this...
49606 (kernel_elf_CFLAGS): ...to this.
49607 (grubof_ASFLAGS): Renamed from this...
49608 (kernel_elf_ASFLAGS): ...to this.
49609 (grubof_LDFLAGS): Renamed from this...
49610 (kernel_elf_LDFLAGS): ...to this.
49611
49612 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49613 this...
49614 (kernel_elf_HEADERS): ...to this. Updated all users.
49615 (grubof_symlist.c): Renamed from this...
49616 (kernel_elf_symlist.c): ...to this. Updated all users.
49617 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49618 (grubof_SOURCES): Renamed from this...
49619 (kernel_elf_SOURCES): ...to this.
49620 (grubof_HEADERS): Renamed from this...
49621 (kernel_elf_HEADERS): ...to this.
49622 (grubof_CFLAGS): Renamed from this...
49623 (kernel_elf_CFLAGS): ...to this.
49624 (grubof_ASFLAGS): Renamed from this...
49625 (kernel_elf_ASFLAGS): ...to this.
49626 (grubof_LDFLAGS): Renamed from this...
49627 (kernel_elf_LDFLAGS): ...to this.
49628
49629 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49630 `kernel.elf' instead of `grubof'.
49631
49632 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49633
49634 Add --with-platform to configure. Use pkglibdir instead of
49635 pkgdatadir. This is reported by Roger Leigh.
49636
49637 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49638 (host_vendor): Likewise.
49639 (host_os): Likewise.
49640 (pkgdatadir): Likewise.
49641 (platform): New variable.
49642 (pkglibdir): Likewise.
49643 Use PKGLIBDIR instead of PKGDATADIR.
49644
49645 * util/i386/pc/grub-install.in (datadir): Removed.
49646 (host_vendor): Likewise.
49647 (host_os): Likewise.
49648 (pkgdatadir): Likewise.
49649 (platform): New variable.
49650 (pkglibdir): Likewise.
49651 Use PKGLIBDIR instead of PKGDATADIR.
49652
49653 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49654 instead of GRUB_DATADIR.
49655 (main): Likewise.
49656 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49657 (main): Likewise.
49658 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49659 (main): Likewise.
49660
49661 * configure.ac (--with-platform): New option.
49662 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49663
49664 * Makefile.in: Include a makefile based on PLATFORM instead of
49665 HOST_VENDOR.
49666 (pkgdatadir): Not appended by the machine type.
49667 (pkglibdir): Appended by the machine type.
49668 (host_vendor): Removed.
49669 (platform): New variable.
49670 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49671 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49672 (uninstall): Likewise.
49673
49674 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49675
49676 Use the environment context in the menu. Remove the commands
49677 "default" and "timeout", and use variables instead.
49678
49679 * normal/menu.c: Include grub/env.h.
49680 (print_entry): Cast TITLE to silence gcc.
49681 (get_timeout): New function.
49682 (set_timeout): Likewise.
49683 (get_entry_number): Likewise.
49684 (run_menu): Use a default entry, a fallback entry and a timeout
49685 in the environment variables "default", "fallback" and
49686 "timeout". Also, tweak the default entry if it is not within the
49687 current menu entries.
49688 (grub_menu_run): Use a fallback entry in the environment variable
49689 "fallback".
49690
49691 * normal/main.c (read_config_file): Do not initialize
49692 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49693 NEWMENU->TIMEOUT.
49694 (grub_normal_execute): Use a data slot to store the menu.
49695
49696 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49697 fallback_entry and timeout.
49698 (struct grub_menu_list): Removed.
49699 (grub_menu_list_t): Likewise.
49700 (struct grub_context): Likewise.
49701 (grub_context_t): Likewise.
49702 (grub_context_get): Likewise.
49703 (grub_context_get_current_menu): Likewise.
49704 (grub_context_push_menu): Likewise.
49705 (grub_context_pop_menu): Likewise.
49706 (grub_default_init): Likewise.
49707 (grub_default_fini): Likewise.
49708 (grub_timeout_init): Likewise.
49709 (grub_timeout_fini): Likewise.
49710
49711 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49712 and timeout.mod.
49713 (normal_mod_SOURCES): Removed normal/context.c.
49714
49715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49716 commands/default.c, commands/timeout.c and normal/context.c.
49717 (normal_mod_SOURCES): Removed normal/context.c.
49718
49719 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49720 commands/timeout.c and normal/context.c.
49721 (normal_mod_SOURCES): Removed normal/context.c.
49722
49723 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49724 commands/default.c, commands/timeout.c and normal/context.c.
49725 (normal_mod_SOURCES): Removed normal/context.c.
49726
49727 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49728 timeout.mod.
49729 (default_mod_SOURCES): Removed.
49730 (default_mod_CFLAGS): Likewise.
49731 (default_mod_LDFLAGS): Likewise.
49732 (timeout_mod_SOURCES): Removed.
49733 (timeout_mod_CFLAGS): Likewise.
49734 (timeout_mod_LDFLAGS): Likewise.
49735
49736 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49737 normal/context.c.
49738
49739 * commands/default.c: Removed.
49740 * commands/timeout.c: Likewise.
49741 * normal/context.c: Likewise.
49742
49743 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49744
49745 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49746
49747 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49748
49749 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49750 "next" to "prev" for readability.
49751 (struct grub_env_sorted_var): New struct.
49752 (grub_env_context): Renamed to ...
49753 (initial_context): ... this.
49754 (grub_env_var_context): Renamed to ...
49755 (current_context): ... this.
49756 (grub_env_find): Look only at CURRENT_CONTEXT.
49757 (grub_env_context_open): Rewritten to copy exported variables from
49758 previous context.
49759 (grub_env_context_close): Rewritten according to the new
49760 scheme. Also, add an assertion to prevent the initial context from
49761 removed.
49762 (grub_env_insert): Removed the code for the sorted list.
49763 (grub_env_remove): Likewise.
49764 (grub_env_export): Simply mark the variable with
49765 GRUB_ENV_VAR_GLOBAL.
49766 (grub_env_set): A cosmetic change for naming consistency.
49767 (grub_env_get): Likewise.
49768 (grub_env_unset): Likewise.
49769 (grub_env_iterate): Rewritten to sort variables within this
49770 function.
49771 (grub_register_variable_hook): Fixed for naming consistency. Call
49772 grub_env_find again, only if NAME is not found at the first time.
49773 (mangle_data_slot_name): New function.
49774 (grub_env_set_data_slot): Likewise.
49775 (grub_env_get_data_slot): Likewise.
49776 (grub_env_unset_data_slot): Likewise.
49777
49778 * include/grub/env.h (grub_env_var_type): New enum.
49779 (GRUB_ENV_VAR_LOCAL): New constant.
49780 (GRUB_ENV_VAR_GLOBAL): Likewise.
49781 (GRUB_ENV_VAR_DATA): Likewise.
49782 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49783 "type".
49784 (grub_env_set): Replace VAR with NAME for consistency.
49785 (grub_register_variable_hook): Likewise.
49786 (grub_env_export): Specify the name of the argument.
49787 (grub_env_set_data_slot): New prototype.
49788 (grub_env_get_data_slot): Likewise.
49789 (grub_env_unset_data_slot): Likewise.
49790
49791 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49792
49793 Extend the loader so that GRUB can accept a loader which comes
49794 back to GRUB when a loaded image exits. Also, this change adds
49795 support for a chainloader on EFI.
49796
49797 * term/efi/console.c: Include grub/misc.h.
49798 (grub_console_checkkey): Display a scan code on the top for
49799 debugging. This will be removed once the EFI port gets stable.
49800 Correct the scan code mapping.
49801
49802 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49803 allocate memory from larger regions, in order to reduce the number
49804 of allocated regions. Otherwise, the MacOSX loader panics.
49805 (filter_memory_map): Avoid less than 1MB for compatibility with
49806 other loaders.
49807 (add_memory_regions): Allocate from the tail of a region, if
49808 possible, to avoid allocating a region near to 1MB, for the MacOSX
49809 loader.
49810
49811 * kern/efi/init.c (grub_efi_set_prefix): Specify
49812 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49813
49814 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49815 argument IMAGE_HANDLE and specify it to get a loaded image.
49816 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49817 grub_efi_get_loaded_image.
49818 (grub_efi_get_filename): Divide the length by the size of
49819 grub_efi_char16_t.
49820 (grub_efi_get_device_path): New function.
49821 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49822 the length by the size of grub_efi_char16_t for a file path device
49823 path node.
49824
49825 * kern/loader.c (grub_loader_noreturn): New variable.
49826 (grub_loader_set): Accept a new argument NORETURN. Set
49827 GRUB_LOADER_NORETURN to NORETURN.
49828 All callers changed.
49829 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49830 grub_machine_fini.
49831
49832 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49833 prototype.
49834 (grub_efi_get_loaded_image): Take an argument to specify an image
49835 handle.
49836
49837 * include/grub/loader.h (grub_loader_set): Added one more argument
49838 NORETURN.
49839
49840 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49841 instead of grub_efi_open_protocol.
49842 (grub_efidisk_get_device_name): Likewise.
49843 (grub_efidisk_close): Print a newline.
49844 (grub_efidisk_get_device_handle): Fixed to use
49845 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49846 GRUB_EFI_DEVICE_PATH_TYPE.
49847
49848 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49849 * kern/efi/efi.c (device_path_guid): ... here.
49850
49851 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49852 chain.mod.
49853 (kernel_mod_HEADERS): Added efi/disk.h.
49854 (_chain_mod_SOURCES): New variable.
49855 (_chain_mod_CFLAGS): Likewise.
49856 (_chain_mod_LDFLAGS): Likewise.
49857 (chain_mod_SOURCES): Likewise.
49858 (chain_mod_CFLAGS): Likewise.
49859 (chain_mod_LDFLAGS): Likewise.
49860
49861 * DISTLIST: Added include/grub/efi/chainloader.h,
49862 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49863
49864 * include/grub/efi/chainloader.h: New file.
49865 * loader/efi/chainloader.c: Likewise.
49866 * loader/efi/chainloader_normal.c: Likewise.
49867
49868 2006-04-30 Marco Gerards <marco@gnu.org>
49869
49870 * commands/configfile.c (grub_cmd_source): New function.
49871 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49872 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49873
49874 2006-04-30 Marco Gerards <marco@gnu.org>
49875
49876 * normal/execute.c (grub_script_execute_cmd): Change the return
49877 type to `grub_err_t'. Correctly return the error.
49878 (grub_script_execute_cmdline): In case a command line is not a
49879 command or a function, try to interpret it as an assignment.
49880
49881 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49882
49883 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49884 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49885 skip a node whose name is obviously invalid as UTF-16,
49886 i.e. contains a NUL character. Stop the iteration when the last
49887 directory entry is found. Instead of using the return value of
49888 grub_hfsplus_btree_iterate_node, store the value in RET and use
49889 it, because the iterator can be stopped by the last directory
49890 entry.
49891
49892 2006-04-30 Marco Gerards <marco@gnu.org>
49893
49894 * include/grub/env.h (grub_env_export): New prototype. Reported
49895 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49896
49897 2006-04-30 Marco Gerards <marco@gnu.org>
49898
49899 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49900 size of the extents in a catalog file record.
49901
49902 2006-04-29 Marco Gerards <marco@gnu.org>
49903
49904 * commands/configfile.c (grub_cmd_configfile): Execute the
49905 configfile within its own context.
49906
49907 * include/grub/env.h (grub_env_context_open): New prototype.
49908 (grub_env_context_close): Likewise.
49909
49910 * kern/env.c (grub_env): Removed.
49911 (grub_env_sorted): Likewise.
49912 (grub_env_context): New variable.
49913 (grub_env_var_context): Likewise.
49914 (grub_env_find): Search both the active context and the global
49915 context.
49916 (grub_env_context_open): New function.
49917 (grub_env_context_close): Likewise.
49918 (grub_env_insert): Likewise.
49919 (grub_env_remove): Likewise.
49920 (grub_env_export): Likewise.
49921 (grub_env_set): Changed to use helper functions to avoid code
49922 duplication.
49923 (grub_env_iterate): Rewritten so both the current context and the
49924 global context are being used.
49925
49926 * normal/command.c (export_command): New function.
49927 (grub_command_init): Register the `export' function.
49928
49929 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49930
49931 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49932 explicitly to suppress gcc's warnings.
49933 * fs/fat.c (grub_fat_find_dir): Likewise.
49934 (grub_fat_label): Likewise.
49935 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49936 (grub_xfs_mount): Likewise.
49937 (grub_xfs_label): Likewise.
49938 * fs/affs.c (grub_affs_mount): Likewise.
49939 (grub_affs_label): Likewise.
49940 (grub_affs_iterate_dir): Likewise.
49941 * fs/sfs.c (grub_sfs_mount): Likewise.
49942 (grub_sfs_iterate_dir): Likewise.
49943 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49944 * fs/hfs.c (grub_hfs_mount): Likewise.
49945 (grub_hfs_cmp_catkeys): Likewise.
49946 (grub_hfs_find_dir): Likewise.
49947 (grub_hfs_dir): Likewise.
49948 (grub_hfs_label): Likewise.
49949 * fs/jfs.c (grub_jfs_mount): Likewise.
49950 (grub_jfs_opendir): Likewise.
49951 (grub_jfs_getent): Likewise.
49952 (grub_jfs_lookup_symlink): Likewise.
49953 (grub_jfs_label): Likewise.
49954 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49955 (grub_hfsplus_iterate_dir): Likewise.
49956 (grub_hfsplus_btree_iterate_node): Made static.
49957
49958 * util/grub-emu.c (prefix): New variable.
49959 (grub_machine_set_prefix): New function.
49960 (main): Do not set the environment variable "prefix" here. Only
49961 set PREFIX, which is used later by grub_machine_set_prefix.
49962
49963 * include/grub/video.h: Do not include grub/symbol.h.
49964 (grub_video_register): Not exported. This symbol is not defined in
49965 the kernel.
49966 (grub_video_unregister): Likewise.
49967 (grub_video_iterate): Likewise.
49968 (grub_video_setup): Likewise.
49969 (grub_video_restore): Likewise.
49970 (grub_video_get_info): Likewise.
49971 (grub_video_get_blit_format): Likewise.
49972 (grub_video_set_palette): Likewise.
49973 (grub_video_get_palette): Likewise.
49974 (grub_video_set_viewport): Likewise.
49975 (grub_video_get_viewport): Likewise.
49976 (grub_video_map_color): Likewise.
49977 (grub_video_map_rgb): Likewise.
49978 (grub_video_map_rgba): Likewise.
49979 (grub_video_fill_rect): Likewise.
49980 (grub_video_blit_glyph): Likewise.
49981 (grub_video_blit_bitmap): Likewise.
49982 (grub_video_blit_render_target): Likewise.
49983 (grub_video_scroll): Likewise.
49984 (grub_video_swap_buffers): Likewise.
49985 (grub_video_create_render_target): Likewise.
49986 (grub_video_delete_render_target): Likewise.
49987 (grub_video_set_active_render_target): Likewise.
49988
49989 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
49990 Undefined.
49991 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
49992
49993 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
49994 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
49995 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
49996 instead of $(srcdir)/genkernsyms.sh.
49997
49998 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
49999 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50000 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50001 instead of $(srcdir)/genkernsyms.sh.
50002
50003 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50004 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50005 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50006 instead of $(srcdir)/genkernsyms.sh.
50007
50008 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50009 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50010 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50011 instead of $(srcdir)/genkernsyms.sh.
50012
50013 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50014 genkernsyms.sh.
50015
50016 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50017 genkernsyms.sh.
50018 (gensymlist.sh): New target.
50019 (genkernsyms.sh): Likewise.
50020
50021 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50022 genkernsyms.sh.in and gensymlist.sh.in.
50023
50024 * genkernsyms.sh: Removed.
50025 * gensymlist.sh: Likewise.
50026
50027 * genkernsyms.sh.in: New file.
50028 * gensymlist.sh.in: Likewise.
50029
50030 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50031
50032 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50033 clobber "prefix", since we may have already set it manually.
50034
50035 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50036
50037 * kern/misc.c (abort): New alias for grub_abort.
50038
50039 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50040
50041 A new machine-specific function "grub_machine_set_prefix" is
50042 defined. This is called after loading modules, so that a prefix
50043 initialization can use modules. Also, this change adds an
50044 intensive debugging feature for the memory manager via the
50045 configure option "--enable-mm-debug".
50046
50047 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50048 PART.LEN.
50049
50050 * kern/sparc64/ieee1275/init.c (abort): Removed.
50051 (grub_stop): Likewise.
50052 (grub_exit): New function.
50053 (grub_set_prefix): Renamed to ...
50054 (grub_machine_set_prefix): ... this.
50055 (grub_machine_init): Do not call grub_set_prefix.
50056
50057 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50058 (grub_machine_set_prefix): ... this.
50059 (grub_machine_init): Do not call grub_set_prefix.
50060
50061 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50062 (grub_machine_init): Do not set the prefix here.
50063
50064 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50065
50066 * kern/efi/init.c: Include grub/mm.h.
50067 (grub_efi_set_prefix): New function.
50068
50069 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50070 (grub_efi_get_filename): New function.
50071 (grub_print_device_path): Renamed to ...
50072 (grub_efi_print_device_path): ... this.
50073
50074 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50075 [MM_DEBUG] (grub_realloc): Likewise.
50076 [MM_DEBUG] (grub_free): Likewise.
50077 [MM_DEBUG] (grub_memalign): Likewise.
50078 [MM_DEBUG] (grub_mm_debug): New variable.
50079 [MM_DEBUG] (grub_debug_malloc): New function.
50080 [MM_DEBUG] (grub_debug_free): New function.
50081 [MM_DEBUG] (grub_debug_realloc): New function.
50082 [MM_DEBUG] (grub_debug_memalign): New function.
50083
50084 * kern/misc.c (grub_abort): Print a newline to distinguish
50085 the message.
50086
50087 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50088 grub_set_root_dev after loading modules. This is necessary when
50089 setting a prefix depends on modules.
50090
50091 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50092 (grub_efi_print_device_path): ... this.
50093 (grub_efi_get_filename): New prototype.
50094 (grub_efi_set_prefix): Likewise.
50095
50096 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50097 and grub/disk.h.
50098 (grub_efidisk_get_device_handle): New prototype.
50099 (grub_efidisk_get_device_name): Likewise.
50100
50101 * include/grub/mm.h: Include config.h.
50102 (MM_DEBUG): Removed.
50103 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50104 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50105 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50106 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50107 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50108 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50109 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50110 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50111 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50112
50113 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50114
50115 * disk/efi/efidisk.c: Include grub/partition.h.
50116 (iterate_child_devices): New function.
50117 (add_device): First, compare only last device path nodes, so that
50118 devices are sorted by the types.
50119 (grub_efidisk_get_device_handle): New function.
50120 (grub_efidisk_get_device_name): Likewise.
50121
50122 * configure.ac (--enable-mm-debug): New option to enable the
50123 memory manager debugging feature. This makes the binary much
50124 bigger, so is disabled by default.
50125
50126 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50127
50128 Use grub_abort instead of grub_stop, and grub_exit must be
50129 define in each architecture now. Also, this change adds support
50130 for EFI disks.
50131
50132 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50133 (grub_getkey): New function.
50134 (grub_term_get_current): Likewise.
50135
50136 * util/i386/pc/grub-setup.c: Include grub/term.h.
50137 (grub_getkey): New function.
50138 (grub_term_get_current): Likewise.
50139
50140 * util/misc.c (grub_stop): Renamed to ...
50141 (grub_exit): ... this.
50142
50143 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50144 (grub_exit): ... this.
50145 (grub_machine_init): Use grub_abort instead of abort.
50146 (grub_stop): Removed.
50147
50148 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50149 abort.
50150
50151 * kern/i386/pc/startup.S (grub_exit): New function.
50152 (cold_reboot): New label.
50153
50154 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50155 (grub_efi_init): Call grub_efidisk_init.
50156 (grub_efi_fini): Call grub_efidisk_fini.
50157
50158 * kern/efi/efi.c: Include grub/mm.h.
50159 (grub_efi_console_control_guid): Renamed to ...
50160 (console_control_guid): ... this.
50161 (grub_efi_loaded_image_guid): Renamed to ...
50162 (loaded_image_guid): ... this.
50163 (grub_efi_locate_handle): New function.
50164 (grub_efi_open_protocol): Likewise.
50165 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50166 GRUB_EFI_CONSOLE_CONTROL_GUID.
50167 (grub_efi_exit): Removed.
50168 (grub_stop): Likewise.
50169 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50170 (grub_exit): New function.
50171 (grub_print_device_path): Likewise.
50172
50173 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50174 (grub_enter_rescue_mode): Register "exit".
50175
50176 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50177 (grub_abort): New function.
50178
50179 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50180
50181 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50182
50183 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50184
50185 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50186 (grub_print_device_path): New prototype.
50187 (grub_efi_locate_handle): Likewise.
50188 (grub_efi_open_protocol): Likewise.
50189
50190 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50191 * disk/efi/efidisk.c: Likewise.
50192
50193 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50194
50195 * include/grub/efi/console_control.h
50196 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50197
50198 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50199 last 8 bytes as an array.
50200 (GRUB_EFI_DISK_IO_GUID): New macro.
50201 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50202 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50203 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50204 grub_uint8_t.
50205 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50206 (struct grub_efi_device_path): Rename the member "sub_type" to
50207 "subtype".
50208 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50209 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50210 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50211 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50212 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50213 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50214 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50215 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50216 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50217 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50218 (struct grub_efi_pci_device_path): New structure.
50219 (grub_efi_pci_device_path_t): New type.
50220 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50221 (struct grub_efi_pccard_device_path): New structure.
50222 (grub_efi_pccard_device_path_t): New type.
50223 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50224 (struct grub_efi_memory_mapped_device_path): New structure.
50225 (grub_efi_memory_mapped_device_path_t): New type.
50226 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50227 (struct grub_efi_vendor_device_path): New structure.
50228 (grub_efi_vendor_device_path_t): New type.
50229 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50230 (struct grub_efi_controller_device_path): New structure.
50231 (grub_efi_controller_device_path_t): New type.
50232 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50233 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50234 (struct grub_efi_acpi_device_path): New structure.
50235 (grub_efi_acpi_device_path_t): New type.
50236 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50237 (struct grub_efi_expanded_acpi_device_path): New structure.
50238 (grub_efi_expanded_acpi_device_path_t): New type.
50239 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50240 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50241 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50242 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50243 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50244 (struct grub_efi_atapi_device_path): New structure.
50245 (grub_efi_atapi_device_path_t): New type.
50246 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50247 (struct grub_efi_fibre_channel_device_path): New structure.
50248 (grub_efi_fibre_channel_device_path_t): New type.
50249 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50250 (struct grub_efi_1394_device_path): New structure.
50251 (grub_efi_1394_device_path_t): New type.
50252 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50253 (struct grub_efi_usb_device_path): New structure.
50254 (grub_efi_usb_device_path_t): New type.
50255 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50256 (struct grub_efi_usb_class_device_path): New structure.
50257 (grub_efi_usb_class_device_path_t): New type.
50258 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50259 (struct grub_efi_i2o_device_path): New structure.
50260 (grub_efi_i2o_device_path_t): New type.
50261 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50262 (struct grub_efi_mac_address_device_path): New structure.
50263 (grub_efi_mac_address_device_path_t): New type.
50264 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50265 (struct grub_efi_ipv4_device_path): New structure.
50266 (grub_efi_ipv4_device_path_t): New type.
50267 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50268 (struct grub_efi_ipv6_device_path): New structure.
50269 (grub_efi_ipv6_device_path_t): New type.
50270 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50271 (struct grub_efi_infiniband_device_path): New structure.
50272 (grub_efi_infiniband_device_path_t): New type.
50273 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50274 (struct grub_efi_uart_device_path): New structure.
50275 (grub_efi_uart_device_path_t): New type.
50276 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50277 (struct grub_efi_vendor_messaging_device_path): New structure.
50278 (grub_efi_vendor_messaging_device_path_t): New type.
50279 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50280 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50281 (struct grub_efi_hard_drive_device_path): New structure.
50282 (grub_efi_hard_drive_device_path_t): New type.
50283 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50284 (struct grub_efi_cdrom_device_path): New structure.
50285 (grub_efi_cdrom_device_path_t): New type.
50286 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50287 (struct grub_efi_vendor_media_device_path): New structure.
50288 (grub_efi_vendor_media_device_path_t): New type.
50289 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50290 (struct grub_efi_file_path_device_path): New structure.
50291 (grub_efi_file_path_device_path_t): New type.
50292 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50293 (struct grub_efi_protocol_device_path): New structure.
50294 (grub_efi_protocol_device_path_t): New type.
50295 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50296 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50297 (struct grub_efi_bios_device_path): New structure.
50298 (grub_efi_bios_device_path_t): New type.
50299 (struct grub_efi_disk_io): New structure.
50300 (grub_efi_disk_io_t): New type.
50301 (struct grub_efi_block_io_media): New structure.
50302 (grub_efi_block_io_media_t): New type.
50303 (struct grub_efi_block_io): New structure.
50304 (grub_efi_block_io_t): New type.
50305
50306 * include/grub/misc.h (grub_stop): Removed.
50307 (grub_exit): New prototype.
50308 (grub_abort): Likewise.
50309
50310 * include/grub/disk.h (enum grub_disk_dev_id): Added
50311 GRUB_DISK_DEVICE_EFIDISK_ID.
50312
50313 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50314 disk/efi/efidisk.c.
50315 (kernel_syms.lst): Remove the target if an error occurs.
50316
50317 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50318
50319 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50320 as it was simply too buggy.
50321
50322 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50323
50324 * kern/misc.c (grub_lltoa): New function.
50325 (grub_vsprintf): Added support for the long long suffix,
50326 i.e. "ll".
50327
50328 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50329
50330 * Makefile.in (LDFLAGS): Add variable.
50331 (LD): Remove variable.
50332 * configure.ac: Add -m32 to LDFLAGS.
50333 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50334 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50335 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50336 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50337 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50338 variables.
50339 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50340 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50341 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50342
50343 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50344
50345 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50346 length for unknown glyph.
50347
50348 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50349
50350 Add support for pre-loaded modules into the EFI port.
50351
50352 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50353 completely. Accept one more argument DIR. The caller has changed.
50354
50355 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50356
50357 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50358 (grub_efi_loaded_image_guid): New variable.
50359 (grub_efi_get_loaded_image): New function.
50360 (grub_arch_modules_addr): Likewise.
50361
50362 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50363 prototype.
50364
50365 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50366 (struct grub_efi_loaded_image): New structure.
50367 (grub_efi_loaded_image_t): New type.
50368
50369 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50370
50371 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50372 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50373 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50374
50375 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50376
50377 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50378
50379 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50380
50381 * DISTLIST: Added include/grub/efi/console.h,
50382 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50383 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50384
50385 * include/grub/efi/console.h: New file.
50386 * include/grub/efi/time.h: Likewise.
50387 * include/grub/i386/efi/kernel.h: Likewise.
50388 * kern/efi/init.c: Likewise.
50389 * kern/efi/mm.c: Likewise.
50390 * term/efi/console.c: Likewise.
50391
50392 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50393 (grub_stop): Removed.
50394 (grub_get_rtc): Likewise.
50395 (grub_machine_init): Simply call grub_efi_init.
50396 (grub_machine_fini): Call grub_efi_fini.
50397
50398 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50399 (grub_efi_output_string): Removed.
50400 (grub_efi_stall): New function.
50401 (grub_stop): Likewise.
50402 (grub_get_rtc): Likewise.
50403
50404 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50405 (grub_efi_stall): New prototype.
50406 (grub_efi_allocate_pages): Likewise.
50407 (grub_efi_free_pages): Likewise.
50408 (grub_efi_get_memory_map): Likewise.
50409 (grub_efi_mm_init): Likewise.
50410 (grub_efi_mm_fini): Likewise.
50411 (grub_efi_init): Likewise.
50412 (grub_efi_fini): Likewise.
50413
50414 * include/grub/i386/efi/time.h: Do not include
50415 grub/symbol.h. Include grub/efi/time.h.
50416 (GRUB_TICKS_PER_SECOND): Removed.
50417 (grub_get_rtc): Likewise.
50418
50419 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50420 Added padding. The EFI spec is buggy.
50421 (GRUB_EFI_BLACK): New macro.
50422 (GRUB_EFI_BLUE): Likewise.
50423 (GRUB_EFI_GREEN): Likewise.
50424 (GRUB_EFI_CYAN): Likewise.
50425 (GRUB_EFI_RED): Likewise.
50426 (GRUB_EFI_MAGENTA): Likewise.
50427 (GRUB_EFI_BROWN): Likewise.
50428 (GRUB_EFI_LIGHTGRAY): Likewise.
50429 (GRUB_EFI_BRIGHT): Likewise.
50430 (GRUB_EFI_DARKGRAY): Likewise.
50431 (GRUB_EFI_LIGHTBLUE): Likewise.
50432 (GRUB_EFI_LIGHTGREEN): Likewise.
50433 (GRUB_EFI_LIGHTCYAN): Likewise.
50434 (GRUB_EFI_LIGHTRED): Likewise.
50435 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50436 (GRUB_EFI_YELLOW): Likewise.
50437 (GRUB_EFI_WHITE): Likewise.
50438 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50439 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50440 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50441 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50442 (GRUB_EFI_BACKGROUND_RED): Likewise.
50443 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50444 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50445 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50446 (GRUB_EFI_TEXT_ATTR): Likewise.
50447
50448 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50449 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50450 (kernel_mod_HEADERS): Added efi/time.h.
50451
50452 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50453
50454 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50455 include/grub/efi/api.h, include/grub/efi/console_control.h,
50456 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50457 include/grub/i386/efi/time.h, kern/efi/efi.c,
50458 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50459 and util/i386/efi/grub-mkimage.c.
50460
50461 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50462
50463 * genmk.rb (PModule#rule): Do not export symbols if
50464 #{prefix}_EXPORTS is set to "no".
50465
50466 * conf/i386-efi.mk: New file.
50467 * conf/i386-efi.rmk: Likewise.
50468 * include/grub/efi/api.h: Likewise.
50469 * include/grub/efi/console_control.h: Likewise.
50470 * include/grub/efi/efi.h: Likewise.
50471 * include/grub/efi/pe32.h: Likewise.
50472 * include/grub/i386/efi/time.h: Likewise.
50473 * kern/efi/efi.c: Likewise.
50474 * kern/i386/efi/init.c: Likewise.
50475 * kern/i386/efi/startup.S: Likewise.
50476 * util/i386/efi/grub-mkimage.c: Likewise.
50477
50478 2006-04-17 Marco Gerards <marco@gnu.org>
50479
50480 * include/grub/script.h: Include <grub/parser.h> and
50481 "grub_script.tab.h".
50482 (struct grub_lexer_param): New struct.
50483 (struct grub_parser_param): Likewise.
50484 (grub_script_create_arglist): Pass the state in an argument.
50485 (grub_script_add_arglist): Likewise.
50486 (grub_script_create_cmdline): Likewise.
50487 (grub_script_create_cmdblock): Likewise.
50488 (grub_script_create_cmdif): Likewise.
50489 (grub_script_create_cmdmenu): Likewise.
50490 (grub_script_add_cmd): Likewise.
50491 (grub_script_arg_add): Likewise.
50492 (grub_script_lexer_ref): Likewise.
50493 (grub_script_lexer_deref): Likewise.
50494 (grub_script_lexer_record_start): Likewise.
50495 (grub_script_lexer_record_stop): Likewise.
50496 (grub_script_mem_record): Likewise.
50497 (grub_script_mem_record_stop): Likewise.
50498 (grub_script_malloc): Likewise.
50499 (grub_script_yylex): Likewise.
50500 (grub_script_yyparse): Likewise.
50501 (grub_script_yyerror): Likewise.
50502 (grub_script_yylex): Likewise.
50503 (grub_script_lexer_init): Return the state.
50504
50505 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50506 (grub_script_lexer_done): Likewise.
50507 (grub_script_lexer_getline): Likewise.
50508 (grub_script_lexer_refs): Likewise.
50509 (script): Likewise.
50510 (newscript): Likewise.
50511 (record): Likewise.
50512 (recording): Likewise.
50513 (recordpos): Likewise.
50514 (recordlen): Likewise.
50515 (grub_script_lexer_init): Return the state instead of setting
50516 global variables.
50517 (grub_script_lexer_ref): Use the newly added argument for state
50518 instead of globals.
50519 (grub_script_lexer_deref): Likewise.
50520 (grub_script_lexer_record_start): Likewise.
50521 (grub_script_lexer_record_stop): Likewise.
50522 (recordchar): Likewise.
50523 (nextchar): Likewise.
50524 (grub_script_yylex2): Likewise.
50525 (grub_script_yylex): Likewise.
50526 (grub_script_yyerror): Likewise.
50527
50528 * normal/parser.y (func_mem): Removed variable.
50529 (menu_entry): Likewise.
50530 (err): Likewise.
50531 (%lex-param): New parser option.
50532 (%parse-param): Likewise.
50533 (script): Always return the AST.
50534 (argument): Pass the state around.
50535 (arguments): Likewise.
50536 (grubcmd): Likewise.
50537 (commands): Likewise.
50538 (function): Likewise.
50539 (menuentry): Likewise.
50540 (if_statement): Likewise.
50541 (if): Likewise.
50542
50543 * normal/script.c (grub_script_memused): Removed variable.
50544 (grub_script_parsed): Likewise.
50545 (grub_script_malloc): Added a state argument. Use that instead of
50546 global variables.
50547 (grub_script_mem_record): Likewise.
50548 (grub_script_mem_record_stop): Likewise.
50549 (grub_script_arg_add): Likewise.
50550 (grub_script_add_arglist): Likewise.
50551 (grub_script_create_cmdline): Likewise.
50552 (grub_script_create_cmdif): Likewise.
50553 (grub_script_create_cmdmenu): Likewise.
50554 (grub_script_add_cmd): Likewise.
50555 (grub_script_parse): Setup the state before calling the parser.
50556
50557 2006-04-16 Marco Gerards <marco@gnu.org>
50558
50559 * normal/command.c (grub_command_init): Remove the title command.
50560
50561 * normal/lexer.c (grub_script_yylex): Renamed from this...
50562 (grub_script_yylex2): ... to this.
50563 (grub_script_yylex): New function. Temporary
50564 introduced to filter some tokens.
50565 (grub_script_yyerror): Print a newline.
50566
50567 * normal/main.c (read_config_file): Output information about the
50568 lines that contain errors. Wait for a key after all lines have
50569 been processed. Don't return an empty menu.
50570
50571 * normal/parser.y (func_mem): Don't initialize.
50572 (menu_entry): Likewise.
50573 (err): New variable.
50574 (script): Don't return anything when an error was encountered.
50575 (ws, returns): Removed rules.
50576 (argument): Disabled concatenated variable support.
50577 (arguments): Remove explicit separators.
50578 (grubcmd): Likewise.
50579 (function): Likewise.
50580 (menuentry): Likewise.
50581 (if): Likewise.
50582 (commands): Likewise. Add error handling.
50583
50584 * normal/script.c (grub_script_create_cmdline): If
50585 `grub_script_parsed' is 0, assume the parser encountered an error.
50586
50587 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50588
50589 * configure.ac: Add support for EFI. Fix the typo
50590 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50591
50592 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50593
50594 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50595 foreign multibyte characters should be shown correctly.
50596
50597 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50598
50599 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50600 calculation.
50601 (read_config_file): Made it to close file before returning.
50602
50603 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50604
50605 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50606 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50607 video/i386/pc/vbefill.c.
50608
50609 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50610 video/i386/pc/vbefill.c.
50611
50612 * include/grub/video.h (grub_video_blit_format): New enum.
50613 (grub_video_mode_info): Added new member blit_format.
50614 (grub_video_get_blit_format): New function prototype.
50615
50616 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50617 function prototype.
50618 (grub_video_vbe_map_rgb): Likewise.
50619 (grub_video_vbe_unmap_color): Likewise.
50620
50621 * include/grub/i386/pc/vbeblit.h: New file.
50622
50623 * include/grub/i386/pc/vbefill.h: New file.
50624
50625 * video/video.c (grub_video_get_blit_format): New function.
50626 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50627 (grub_video_vbe_map_rgb): Likewise.
50628 (grub_video_vbe_unmap_color): Likewise.
50629
50630 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50631 optimized fills.
50632 (grub_video_vbe_blit_render_target): Changed to use more optimized
50633 blits.
50634 (grub_video_vbe_setup): Added detection for optimized settings.
50635 (grub_video_vbe_create_render_target): Likewise.
50636
50637 * video/i386/pc/vbeblit.c: New file.
50638
50639 * video/i386/pc/vbefill.c: New file.
50640
50641 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50642
50643 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50644 here...
50645
50646 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50647 parsing to support both hex and dec ranges. If filename was missing
50648 show usage information.
50649
50650 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50651
50652 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50653 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50654
50655 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50656 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50657 (video_mod_SOURCES): Added.
50658 (video_mod_CFLAGS): Likewise.
50659 (video_mod_LDFLAGS): Likewise.
50660 (gfxterm_mod_SOURCES): Likewise.
50661 (gfxterm_mod_CFLAGS): Likewise.
50662 (gfxterm_mod_LDFLAGS): Likewise.
50663 (videotest_mod_SOURCES): Likewise.
50664 (videotest_mod_CFLAGS): Likewise.
50665 (videotest_mod_LDFLAGS): Likewise.
50666 (vesafb_mod_SOURCES): Removed.
50667 (vesafb_mod_CFLAGS): Likewise.
50668 (vesafb_mod_LDFLAGS): Likewise.
50669 (vga_mod_SOURCES): Likewise.
50670 (vga_mod_CFLAGS): Likewise.
50671 (vga_mod_LDFLAGS): Likewise.
50672
50673 * commands/videotest.c: New file.
50674
50675 * font/manager.c (fill_with_default_glyph): Modified to use
50676 grub_font_glyph.
50677 (grub_font_get_glyph): Likewise.
50678 (fontmanager): Renamed from this...
50679 (font_manager): ... to this.
50680
50681 * include/grub/font.h (grub_font_glyph): Added new structure.
50682 (grub_font_get_glyph): Modified to use grub_font_glyph.
50683
50684 * include/grub/misc.h (grub_abs): Added as inline function.
50685
50686 * include/grub/video.h: New file.
50687
50688 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50689 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50690 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50691 (grub_vbe_get_controller_info): Renamed from this...
50692 (grub_vbe_bios_get_controller_info): ... to this.
50693 (grub_vbe_get_mode_info): Renamed from this...
50694 (grub_vbe_bios_get_mode_info): ... to this.
50695 (grub_vbe_set_mode): Renamed from this...
50696 (grub_vbe_bios_set_mode): ... to this.
50697 (grub_vbe_get_mode): Renamed from this...
50698 (grub_vbe_bios_get_mode): ... to this.
50699 (grub_vbe_set_memory_window): Renamed from this...
50700 (grub_vbe_bios_set_memory_window): ... to this.
50701 (grub_vbe_get_memory_window): Renamed from this...
50702 (grub_vbe_bios_get_memory_window): ... to this.
50703 (grub_vbe_set_scanline_length): Renamed from this...
50704 (grub_vbe_set_scanline_length): ... to this.
50705 (grub_vbe_get_scanline_length): Renamed from this...
50706 (grub_vbe_bios_get_scanline_length): ... to this.
50707 (grub_vbe_set_display_start): Renamed from this...
50708 (grub_vbe_bios_set_display_start): ... to this.
50709 (grub_vbe_get_display_start): Renamed from this...
50710 (grub_vbe_bios_get_display_start): ... to this.
50711 (grub_vbe_set_palette_data): Renamed from this...
50712 (grub_vbe_bios_set_palette_data): ... to this.
50713 (grub_vbe_set_pixel_rgb): Removed.
50714 (grub_vbe_set_pixel_index): Likewise.
50715
50716 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50717 from this...
50718 (grub_vbe_bios_get_controller_info): ... to this.
50719 (grub_vbe_get_mode_info): Renamed from this...
50720 (grub_vbe_bios_get_mode_info): ... to this.
50721 (grub_vbe_set_mode): Renamed from this...
50722 (grub_vbe_bios_set_mode): ... to this.
50723 (grub_vbe_get_mode): Renamed from this...
50724 (grub_vbe_bios_get_mode): ... to this.
50725 (grub_vbe_set_memory_window): Renamed from this...
50726 (grub_vbe_bios_set_memory_window): ... to this.
50727 (grub_vbe_get_memory_window): Renamed from this...
50728 (grub_vbe_bios_get_memory_window): ... to this.
50729 (grub_vbe_set_scanline_length): Renamed from this...
50730 (grub_vbe_set_scanline_length): ... to this.
50731 (grub_vbe_get_scanline_length): Renamed from this...
50732 (grub_vbe_bios_get_scanline_length): ... to this.
50733 (grub_vbe_set_display_start): Renamed from this...
50734 (grub_vbe_bios_set_display_start): ... to this.
50735 (grub_vbe_get_display_start): Renamed from this...
50736 (grub_vbe_bios_get_display_start): ... to this.
50737 (grub_vbe_set_palette_data): Renamed from this...
50738 (grub_vbe_bios_set_palette_data): ... to this.
50739 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50740 getting corrupted after calling it. Added more pushes and pops.
50741 (grub_vbe_bios_set_mode): Likewise.
50742 (grub_vbe_bios_get_mode): Likewise.
50743 (grub_vbe_bios_get_memory_window): Likewise.
50744 (grub_vbe_bios_set_scanline_length): Likewise.
50745 (grub_vbe_bios_get_scanline_length): Likewise.
50746 (grub_vbe_bios_get_display_start): Likewise.
50747 (grub_vbe_bios_set_palette_data): Likewise.
50748
50749 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50750 (cl_insert): Likewise.
50751 (cl_delete): Likewise.
50752
50753 * term/gfxterm.c: New file.
50754
50755 * term/i386/pc/vesafb.c: Removed file.
50756
50757 * video/video.c: New file.
50758
50759 * video/i386/pc/vbe.c (real2pm): Added new function.
50760 (grub_video_vbe_draw_pixel): Likewise.
50761 (grub_video_vbe_get_video_ptr): Likewise.
50762 (grub_video_vbe_get_pixel): Likewise
50763 (grub_video_vbe_init): Likewise.
50764 (grub_video_vbe_fini): Likewise.
50765 (grub_video_vbe_setup): Likewise.
50766 (grub_video_vbe_get_info): Likewise.
50767 (grub_video_vbe_set_palette): Likewise.
50768 (grub_video_vbe_get_palette): Likewise.
50769 (grub_video_vbe_set_viewport): Likewise.
50770 (grub_video_vbe_get_viewport): Likewise.
50771 (grub_video_vbe_map_color): Likewise.
50772 (grub_video_vbe_map_rgb): Likewise.
50773 (grub_video_vbe_map_rgba): Likewise.
50774 (grub_video_vbe_unmap_color): Likewise.
50775 (grub_video_vbe_fill_rect): Likewise.
50776 (grub_video_vbe_blit_glyph): Likewise.
50777 (grub_video_vbe_blit_bitmap): Likewise.
50778 (grub_video_vbe_blit_render_target): Likewise.
50779 (grub_video_vbe_scroll): Likewise.
50780 (grub_video_vbe_swap_buffers): Likewise.
50781 (grub_video_vbe_create_render_target): Likewise.
50782 (grub_video_vbe_delete_render_target): Likewise.
50783 (grub_video_vbe_set_active_render_target): Likewise.
50784 (grub_vbe_set_pixel_rgb): Remove function.
50785 (grub_vbe_set_pixel_index): Likewise.
50786 (index_color_mode): Remove static variable.
50787 (active_mode): Likewise.
50788 (framebuffer): Likewise.
50789 (bytes_per_scan_line): Likewise.
50790 (grub_video_vbe_adapter): Added new static variable.
50791 (framebuffer): Likewise.
50792 (render_target): Likewise.
50793 (initial_mode): Likewise.
50794 (mode_in_use): Likewise.
50795 (mode_list): Likewise.
50796
50797 2006-03-10 Marco Gerards <marco@gnu.org>
50798
50799 * configure.ac (AC_INIT): Bumped to 1.93.
50800
50801 * DISTLIST: Added `include/grub/hfs.h'.
50802
50803 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50804
50805 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50806 18H, which might help the BIOS falling back to next boot media.
50807
50808 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50809
50810 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50811 Poe Chen <poe.poechen@gmail.com>.
50812
50813 2006-01-17 Marco Gerards <marco@gnu.org>
50814
50815 * include/grub/normal.h: Include <grub/script.h>.
50816 (grub_command_list): Removed struct.
50817 (grub_command_list_t): Removed type.
50818 (grub_menu_entry): Remove members `num' and `command_list'. Add
50819 members `commands' and `sourcecode'.
50820 * include/grub/script.h: Add inclusion guards.
50821 (grub_script_cmd_menuentry): New struct.
50822 (grub_script_execute_menuentry): New prototype.
50823 (grub_script_lexer_record_start): Likewise.
50824 (grub_script_lexer_record_stop): Likewise.
50825 * normal/execute.c (grub_script_execute_menuentry): New function.
50826 * normal/lexer.c (record, recording, recordpos, recordlen): New
50827 variables.
50828 (grub_script_lexer_record_start): New function.
50829 (grub_script_lexer_record_stop): Likewise.
50830 (recordchar): Likewise.
50831 (nextchar): Likewise.
50832 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50833 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50834 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50835 (current_menu): New variable.
50836 (free_menu): Mainly rewritten.
50837 (grub_normal_menu_addentry): New function.
50838 (read_config_file): Rewritten.
50839 * normal/menu.c (run_menu_entry): Mainly rewritten.
50840 * normal/menu_entry.c (make_screen): Rewritten the code to insert
50841 the menu entry.
50842 (run): Mainly rewritten.
50843 * normal/parser.y (menu_entry): New variable.
50844 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50845 (menuentry): New rule.
50846 (command): Add `menuentry'.
50847 (if_statement): Allow additional returns before `fi'.
50848 * normal/script.c (grub_script_create_cmdmenu): New function.
50849
50850 2006-01-03 Marco Gerards <marco@gnu.org>
50851
50852 * INSTALL: GNU Bison is required.
50853 * configure.ac: Rewritten the test to detect Bison.
50854 * Makefile.in (YACC): New variable. Reported by Xun Sun
50855 <xun.sun.cn@gmail.com>.
50856
50857 2006-01-03 Marco Gerards <marco@gnu.org>
50858
50859 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50860 the HFS+ filesystem to filesystem blocks.
50861 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50862 GCC warning is silenced.
50863
50864 2006-01-03 Marco Gerards <marco@gnu.org>
50865
50866 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50867 read from disk from big endian to host byte order.
50868
50869 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50870
50871 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50872 documentation.
50873 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50874 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50875 embedded HFS+ filesystem.
50876 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50877 (grub_hfs_sblock): Move from here...
50878 * include/grub/hfs.h: To here... New file.
50879 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50880 documentation.
50881 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50882 New macros.
50883 (grub_hfsplus_volheader): Change type of member `magic' to
50884 `grub_uint16_t'.
50885 (grub_hfsplus_data): Add new member `embedded_offset'.
50886 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50887 returned block.
50888 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50889 Calculate the offset.
50890
50891 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50892
50893 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50894 Removed.
50895 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50896
50897 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50898
50899 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50900 ENV->NAME is NULL after allocating ENV->VALUE.
50901
50902 2005-12-25 Marco Gerards <marco@gnu.org>
50903
50904 * kern/env.c (grub_env_set): Rewritten the error handling code.
50905
50906 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50907
50908 * geninit.sh: Made more robust, and more portable.
50909
50910 2005-12-25 Marco Gerards <marco@gnu.org>
50911
50912 Add support for Apple HFS+ filesystems.
50913
50914 * fs/hfsplus.c: New file.
50915
50916 * DISTLIST: Added `fs/hfsplus.c'.
50917
50918 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50919 (hfsplus_mod_SOURCES): New variable.
50920 (hfsplus_mod_CFLAGS): Likewise.
50921 (hfsplus_mod_LDFLAGS): Likewise.
50922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50923 (grub_setup_SOURCES): Likewise.
50924 (grub_mkdevicemap_SOURCES): Likewise.
50925 (grub_emu_SOURCES): Likewise.
50926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50927
50928 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50929
50930 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50931
50932 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50933
50934 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50935 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50936 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50937 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50938 normal/lexer.c, normal/parser.y, normal/script.c, and
50939 partmap/gpt.c.
50940 Removed kern/sparc64/cache.c.
50941
50942 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50943 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50944 grub_emu_init.c.
50945
50946 * configure.ac (AC_INIT): Bumped to 1.92.
50947
50948 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50949
50950 * kern/err.c (grub_error_push): Added new function to support error
50951 stacks.
50952 (grub_error_pop): Likewise.
50953 (grub_error_stack_items): New local variable to support error stacks.
50954 (grub_error_stack_pos): Likewise.
50955 (grub_error_stack_assert): Likewise.
50956 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50957 stack depth.
50958 (grub_print_error): Added support to print errors from error stack.
50959
50960 * include/grub/err.h (grub_error_push): Added function prototype.
50961 (grub_error_pop): Likewise.
50962
50963 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50964
50965 * configure.ac: Accept `powerpc64' as host_cpu.
50966 (amd64): Rename to `biarch32'.
50967
50968 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50969 non-cacheline-aligned addresses.
50970
50971 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50972 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50973 if `size' is non-zero.
50974
50975 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
50976
50977 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
50978 and `cd' to make sure the filename is not prefixed with a
50979 directory name.
50980 (pkgdata_MODULES): Add `gpt.mod'.
50981 (gpt_mod_SOURCES): New variable.
50982 (gpt_mod_CFLAGS): Likewise.
50983 (gpt_mod_LDFLAGS): Likewise.
50984
50985 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
50986
50987 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
50988 New macro.
50989
50990 * partmap/gpt.c: New file.
50991
50992 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
50993 GPT partition map is detected.
50994
50995 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
50996
50997 * commands/i386/pc/play.c: New file.
50998 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
50999 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51000 macros.
51001
51002 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
51003
51004 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51005 ((unused))' to silence gcc warning.
51006
51007 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51008
51009 * configure.ac: Correct `AC_PROG_YACC' test.
51010
51011 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51012
51013 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51014 check before installing files.
51015
51016 2005-11-22 Mike Small <smallm@panix.com>
51017
51018 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51019 number regex so multidigit numbers are recognized correctly.
51020
51021 2005-11-22 Mike Small <smallm@panix.com>
51022
51023 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51024 debugging message before attempting to claim memory.
51025 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51026 multiple addresses in case of failure.
51027
51028 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51029
51030 * term/tparm.c (get_space): Remove empty `if' statement.
51031
51032 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51033
51034 * kern/parser.c (check_varstate): Rename `state' to 's'.
51035
51036 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51037
51038 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51039 variable definitions to the beginning of each function. Sort stack
51040 variables by size.
51041 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51042 `buf' argument to `char *'.
51043
51044 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51045
51046 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51047 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51048 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51049 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51050 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51051 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51052 configfile.mod, search.mod, gzio.mod and test.mod.
51053 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51054 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51055 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51056 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51057 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51058 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51059 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51060 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51061 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51062 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51063 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51064 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51065 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51066 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51067 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51068 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51069 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51070 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51071 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51072 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51073 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51074 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51075 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51076
51077 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51078 `grep --include'.
51079 (pkgdata_MODULES): Add test.mod.
51080
51081 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51082
51083 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51084 appending to variables with "+=".
51085 (PModule): Use full pathname to generate *.lst filenames.
51086
51087 * Makefile.in: Fixed list rules moved from genmk.rb.
51088 (.DELETE_ON_ERROR): New special target.
51089 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51090
51091 * conf/i386-pc.rmk: Include conf/common.mk.
51092 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51093 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51094 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51095 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51096 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51097 configfile.mod, search.mod, gzio.mod and test.mod.
51098 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51099 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51100 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51101 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51102 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51103 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51104 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51105 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51106 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51107 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51108 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51109 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51110 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51111 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51112 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51113 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51114 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51115 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51116 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51117 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51118 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51119 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51120 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51121 here...
51122 * conf/common.rmk: ... to here. New file.
51123
51124 * conf/common.mk: New file.
51125
51126 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51127
51128 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51129 (grub_script.tab.c): ... here.
51130
51131 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51132 (grub_script.tab.c): ... here.
51133
51134 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51135 (grub_script.tab.c): ... here.
51136
51137 * normal/command.c (grub_command_find): Fixed a memory leak of
51138 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51139
51140 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51141
51142 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51143 "@" which marks the start of a comment on ARM.
51144 (VARIABLE): Likewise.
51145
51146 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51147
51148 Add support for Linux/ADFS partition tables.
51149
51150 * partmap/acorn.c: New file.
51151
51152 * include/grub/acorn_filecore.h: Likewise.
51153
51154 * DISTLIST: Added `partmap/acorn.c' and
51155 `include/grub/acorn_filecore.h'.
51156
51157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51158 `partmap/acorn.c'.
51159 (pkgdata_MODULES): Add `acorn.mod'.
51160 (acorn_mod_SOURCES): New variable.
51161 (acorn_mod_CFLAGS): Likewise.
51162
51163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51164 `partmap/acorn.c'.
51165 (pkgdata_MODULES): Add `acorn.mod'.
51166 (acorn_mod_SOURCES): New variable.
51167 (acorn_mod_CFLAGS): Likewise.
51168
51169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51170 (pkgdata_MODULES): Add `acorn.mod'.
51171 (acorn_mod_SOURCES): New variable.
51172 (acorn_mod_CFLAGS): Likewise.
51173 (acorn_mod_LDFLAGS): Likewise.
51174
51175 * include/types.h (grub_disk_addr_t): New typedef.
51176
51177 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
51178
51179 * geninit.sh: New file.
51180
51181 * geninitheader.sh: Likewise.
51182
51183 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51184 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51185 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51186 * commands/configfile.c (grub_configfile_init)
51187 (grub_configfile_fini): Likewise.
51188 * commands/default.c (grub_default_init, grub_default_fini):
51189 Likewise.
51190 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51191 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51192 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51193 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51194 Likewise.
51195 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51196 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51197 Likewise.
51198 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
51199 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
51200 Likewise.
51201 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51202 Likewise.
51203 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
51204 Likewise.
51205 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51206 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51207 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51208 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51209 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51210 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51211 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51212 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51213 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51214 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51215 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51216 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51217 * partmap/amiga.c (grub_amiga_partition_map_init)
51218 (grub_amiga_partition_map_fini): Likewise.
51219 * partmap/apple.c (grub_apple_partition_map_init)
51220 (grub_apple_partition_map_fini): Likewise.
51221 * partmap/pc.c (grub_pc_partition_map_init)
51222 (grub_pc_partition_map_fini): Likewise.
51223 * partmap/sun.c (grub_sun_partition_map_init,
51224 grub_sun_partition_map_fini): Likewise.
51225 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51226 Likewise.
51227
51228 * util/grub-emu.c: Include <grub_modules_init.h>.
51229 (main): Don't initialize and de-initialize any modules directly,
51230 use `grub_init_all' and `grub_fini_all' instead.
51231
51232 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51233 `grub_vesafb_mod_init'.
51234 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51235 all users.
51236 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51237 `grub_vga_mod_init'. Updated all users.
51238 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
51239
51240 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51241 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51242 rules.
51243
51244 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51245 Generate a function to initialize the module in utilities.
51246 Updated all callers.
51247 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51248 initialize the module in utilities. Updated all callers.
51249
51250 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51251
51252 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51253 escape sequence and a literal ^L to clear the screen.
51254
51255 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51256 when returning from Open Firmware.
51257
51258 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51259
51260 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51261 (grub_ofconsole_height): Likewise.
51262 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51263 manually insert a '\n'.
51264 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51265 `grub_ofconsole_height'. Return early if these are already set.
51266
51267 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51268
51269 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51270 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51271 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51272 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51273 and `normal/script.c'.
51274 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51275 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51276 (test_mod_SOURCES): New variable.
51277 (test_mod_CFLAGS): Likewise.
51278 (test_mod_LDFLAGS): Likewise.
51279 (pkgdata_MODULES): Add `test.mod'.
51280 (grub_script.tab.c): New rule.
51281 (grub_script.tab.h): Likewise.
51282
51283 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
51284
51285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51286 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51287 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51288 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51289 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51290 (test_mod_SOURCES): New variable.
51291 (test_mod_CFLAGS): Likewise.
51292 (pkgdata_MODULES): Add `test.mod'.
51293 (grub_script.tab.c): New rule.
51294 (grub_script.tab.h): Likewise.
51295
51296 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
51297
51298 Add initial scripting support.
51299
51300 * commands/test.c: New file.
51301 * include/grub/script.h: Likewise.
51302 * normal/execute.c: Likewise.
51303 * normal/function.c: Likewise.
51304 * normal/lexer.c: Likewise.
51305 * normal/parser.y: Likewise.
51306 * normal/script.c: Likewise.
51307
51308 * configure.ac: Add `AC_PROG_YACC' test.
51309
51310 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51311 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51312 `normal/function.c' and `normal/script.c'.
51313 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51314 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51315 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51316 variables.
51317 (pkgdata_MODULES): Add `test.mod'.
51318 (grub_script.tab.c): New rule.
51319 (grub_script.tab.h): Likewise.
51320
51321 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51322
51323 * include/grub/normal.h (grub_test_init): New prototype.
51324 (grub_test_fini): Likewise.
51325
51326 * normal/command.c: Include <grub/script.h>.
51327 (grub_command_execute): Rewritten.
51328
51329 * util/grub-emu.c (main): Call `grub_test_init' and
51330 `grub_test_fini'.
51331
51332 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51333
51334 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51335 to 0.
51336 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51337 there are no pending characters.
51338
51339 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51340
51341 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51342 `grub_strndup' to drop device arguments. Replace unnecessary
51343 `grub_strndup' with `grub_strdup'.
51344
51345 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51346
51347 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51348 `debug' environment variable has been set.
51349
51350 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
51351
51352 * Makefile.in (install-local): Use $(DATA).
51353 (uninstall): Likewise.
51354 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51355 (sbin_UTILITIES): ... to here.
51356 (sbin_SCRIPTS): New variable.
51357 (grub_install_SOURCES): New variable.
51358 * util/powerpc/ieee1275/grub-install.in: New file.
51359 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51360 variable.
51361 (add_segments): Call `grub_util_get_path'.
51362
51363 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51364
51365 From Timothy Baldwin:
51366 * commands/ls.c (grub_ls_list_files): Close FILE with
51367 grub_file_close.
51368 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51369
51370 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
51371
51372 * include/grub/parser.h: New file.
51373
51374 * kern/parser.c: Likewise.
51375
51376 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51377 (grub_setup_SOURCES): Likewise.
51378 (grub_probefs_SOURCES): Likewise.
51379 (grub_emu_SOURCES): Likewise.
51380 (kernel_img_HEADERS): Add `parser.h'.
51381
51382 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51383 (grub_emu_SOURCES): Add `kern/parser.c'.
51384 (grubof_SOURCES): Likewise.
51385
51386 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51387 (grubof_SOURCES): Add `kern/parser.c'.
51388
51389 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51390
51391 * kern/misc.c (grub_split_cmdline): Removed function.
51392
51393 * kern/rescue.c: Include <grub/parser.h>.
51394 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51395 of `grub_split_cmdline'.
51396
51397 * normal/command.c: Include <grub/parser.h>.
51398 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51399 of `grub_split_cmdline'.
51400
51401 * normal/completion.c: Include <grub/parser.h>.
51402 (cmdline_state): New variable.
51403 (iterate_dir): End the filename with a quote depending on the
51404 command line state.
51405 (get_state): new function.
51406 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51407 split the arguments and determine the current argument. When the
51408 argument string is not quoted, escape all spaces.
51409
51410 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51411
51412 * normal/sparc64/setjmp.S: New file.
51413
51414 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51415
51416 * include/grub/sparc64/libgcc.h: New file.
51417 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51418 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51419 normal/sparc64/setjmp.c.
51420
51421 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51422
51423 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51424 * kern/sparc64/cache.S: New file.
51425 * kern/sparc64/cache.c: Removed.
51426 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51427 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51428 -mtune=ultrasparc.
51429 (COMMON_LDFLAGS): Add -melf64_sparc.
51430 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51431 (grubof_SOURCES): Use cache.S instead of cache.c.
51432 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51433 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51434 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51435 commented though.
51436 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51437 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51438 (linux_mod_CFLAGS): Commented out.
51439 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51440 out because module isn't built.
51441 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51442 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51443 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51444 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51445 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51446 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51447 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51448 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51449 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51450 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51451 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51452 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51453 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51454 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51455
51456 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51457
51458 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51459 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51460 longer, because HFS should not be used on PC.
51461
51462 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51463
51464 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51465 consistently within the loop.
51466
51467 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
51468
51469 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51470 directory can not be read.
51471
51472 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51473
51474 * configure.ac (AC_INIT): Increase the version number to 1.91.
51475
51476 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51477 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51478 term/i386/pc/serial.c.
51479
51480 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51481
51482 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51483 file size must be permitted.
51484
51485 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51486 between %ah and %al.
51487
51488 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51489
51490 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51491 grub_uint64_t.
51492 Call the hook with a NUL-terminated filename.
51493 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51494 grub_cpu_to_be32.
51495
51496 * kern/term.c (cursor_state): New variable.
51497 (grub_term_set_current): Reset the cursor state on a new
51498 terminal.
51499 (grub_setcursor): Rewritten to use CURSOR_STATE.
51500 (grub_getcursor): New function.
51501
51502 * include/grub/term.h (grub_getcursor): New prototype.
51503
51504 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51505 integers on ARM. Reported by Timothy Baldwin
51506 <T.E.Baldwin99@members.leeds.ac.uk>.
51507
51508 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
51509
51510 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51511 allocated.
51512 (grub_sfs_dir): Likewise.
51513
51514 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
51515
51516 Add support for the SFS filesystem.
51517
51518 * fs/sfs.c: New file.
51519
51520 * DISTLIST: Added `fs/sfs.c'.
51521
51522 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51523 (grub_probefs_SOURCES): Likewise.
51524 (grub_emu_SOURCES): Likewise.
51525 (pkgdata_MODULES): Add `sfs.mod'.
51526 (sfs_mod_SOURCES): New variable.
51527 (sfs_mod_CFLAGS): Likewise.
51528 (sfs_mod_LDFLAGS): Likewise.
51529
51530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51531 (pkgdata_MODULES): Add `sfs.mod'.
51532 (sfs_mod_SOURCES): New variable.
51533 (sfs_mod_CFLAGS): Likewise.
51534
51535 * util/grub-emu.c (main): Call `grub_sfs_init' and
51536 `grub_sfs_fini'.
51537
51538 * include/grub/fs.h (grub_sfs_init): New prototype.
51539 (grub_sfs_fini): Likewise.
51540
51541 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
51542
51543 Add support for the AFFS filesystem.
51544
51545 * fs/affs.c: New file.
51546
51547 * DISTLIST: Added `fs/affs.c'.
51548
51549 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51550 (grub_probefs_SOURCES): Likewise.
51551 (grub_emu_SOURCES): Likewise.
51552 (pkgdata_MODULES): Add `affs.mod'.
51553 (affs_mod_SOURCES): New variable.
51554 (affs_mod_CFLAGS): Likewise.
51555 (affs_mod_LDFLAGS): Likewise.
51556
51557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51558 (pkgdata_MODULES): Add `affs.mod'.
51559 (affs_mod_SOURCES): New variable.
51560 (affs_mod_CFLAGS): Likewise.
51561
51562 * util/grub-emu.c (main): Call `grub_affs_init' and
51563 `grub_affs_fini'.
51564
51565 * include/grub/fs.h (grub_affs_init): New prototype.
51566 (grub_affs_fini): Likewise.
51567
51568 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51569
51570 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51571
51572 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51573
51574 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51575 `-m32' to CFLAGS.
51576
51577 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51578 linking.
51579
51580 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51581 (COMMON_LDFLAGS): New variable.
51582 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51583 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51584 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51585 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51586 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51587 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51588 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51589 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51590 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51591 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51592 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51593 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51594 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51595 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51596 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51597 variables.
51598 (normal_mod_ASFLAGS): Add `-m32'.
51599
51600 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51601 (grub_host_size_t, grub_host_ssize_t): New types.
51602 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
51603 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
51604 `GRUB_HOST_SIZEOF_VOID_P'.
51605
51606 * include/grub/kernel.h (struct grub_module_header): Type of
51607 member offset changed to `grub_host_off_t'. Type of member size
51608 changed to `grub_host_size_t'.
51609 (struct grub_module_info): Type of member offset changed to
51610 `grub_host_off_t'. Type of member size changed to
51611 `grub_host_size_t'.
51612
51613 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51614
51615 Make GRUB's kernel compliant to Multiboot Specification.
51616
51617 * kern/i386/pc/startup.S (multiboot_header): New label.
51618 (multiboot_entry): Likewise.
51619 (multiboot_trampoline): Likewise.
51620
51621 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51622 Increased to 0x4A0.
51623
51624 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51625 put parentheses after a question mark.
51626 [!GRUB_UTIL] (my_mod): New variable.
51627
51628 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51629
51630 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
51631
51632 Adds support for the XFS filesystem. Btrees are not supported
51633 yet.
51634
51635 * fs/xfs.c: New file.
51636
51637 * DISTLIST: Added `fs/xfs.c'.
51638
51639 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51640 (grub_probefs_SOURCES): Likewise.
51641 (grub_emu_SOURCES): Likewise.
51642 (pkgdata_MODULES): Add `xfs.mod'.
51643 (xfs_mod_SOURCES): New variable.
51644 (xfs_mod_CFLAGS): Likewise.
51645
51646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51647 (pkgdata_MODULES): Add `xfs.mod'.
51648 (xfs_mod_SOURCES): New variable.
51649 (xfs_mod_CFLAGS): Likewise.
51650
51651 * util/grub-emu.c (main): Call `grub_xfs_init' and
51652 `grub_xfs_fini'.
51653
51654 * include/grub/fs.h (grub_xfs_init): New prototype.
51655 (grub_xfs_fini): Likewise.
51656
51657
51658 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51659
51660 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51661 color modes, allow greater than 16 colors to be configured as
51662 a default palette.
51663
51664 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51665
51666 * normal/completion.c (complete_arguments): Add the qualifier
51667 const into OPTIONS.
51668
51669 From Omniflux <omniflux+lists@omniflux.com>:
51670 * include/grub/terminfo.h: New file.
51671 * include/grub/tparm.h: Likewise.
51672 * include/grub/i386/pc/serial.h: Likewise.
51673 * term/terminfo.c: Likewise.
51674 * term/tparm.c: Likewise.
51675 * term/i386/pc/serial.c: Likewise.
51676 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51677 serial.mod.
51678 (terminfo_mod_SOURCES): New variable.
51679 (terminfo_mod_CFLAGS): Likewise.
51680 (serial_mod_SOURCES): Likewise.
51681 (serial_mod_CFLAGS): Likewise.
51682
51683 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51684
51685 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51686 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51687 and kern/powerpc/ieee1275/cmain.c, respectively.
51688
51689 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51690 * kern/powerpc/ieee1275/crt0.S: ... here.
51691
51692 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51693 * kern/powerpc/ieee1275/cmain.c: ... here.
51694
51695 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51696 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51697 instead of boot/powerpc/ieee1275/crt0.S and
51698 boot/powerpc/ieee1275/cmain.c, respectively.
51699
51700 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51701 sectors. It was not used anyway.
51702
51703 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51704
51705 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51706 `unused parameter' warning.
51707
51708 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51709
51710 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51711 function.
51712 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51713 getcharwidth.
51714
51715 2005-08-28 Marco Gerards <metgerards@student.han.nl>
51716
51717 * include/grub/normal.h (enum grub_completion_type): Added
51718 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51719
51720 * normal/cmdline.c (print_completion): Handle
51721 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51722 * normal/menu_entry.c (store_completion): Likewise.
51723
51724 * normal/completion.c (complete_arguments): New function.
51725 (grub_normal_do_completion): Call `complete_arguments' when the
51726 current words start with a dash.
51727
51728 2005-08-27 Marco Gerards <metgerards@student.han.nl>
51729
51730 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51731 `gzio.mod' instead of `io.mod').
51732
51733 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51734
51735 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51736 (DISTDIRS): Added io and video.
51737 Rewrite the search routine to make an output consistently.
51738
51739 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51740 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51741 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51742 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51743 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51744 util/powerpc/ieee1275/misc.c.
51745
51746 * include/grub/gzio.h: New file.
51747 * io/gzio.c: Likewise.
51748
51749 * kern/file.c (grub_file_close): Call grub_device_close only if
51750 FILE->DEVICE is not NULL.
51751
51752 * include/grub/mm.h [!NULL] (NULL): New macro.
51753
51754 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51755
51756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51757 (pkgdata_MODULES): Added gzio.mod.
51758 (gzio_mod_SOURCES): New variable.
51759 (gzio_mod_CFLAGS): Likewise.
51760
51761 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51762 (pkgdata_MODULES): Added gzio.mod.
51763 (gzio_mod_SOURCES): New variable.
51764 (gzio_mod_CFLAGS): Likewise.
51765
51766 * commands/cat.c: Include grub/gzio.h.
51767 (grub_cmd_cat): Use grub_gzfile_open instead of
51768 grub_file_open.
51769
51770 * commands/cmp.c: Include grub/gzio.h.
51771 (grub_cmd_cmp): Use grub_gzfile_open instead of
51772 grub_file_open.
51773
51774 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51775 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51776 grub_file_open.
51777 (grub_rescue_cmd_module): Likewise.
51778
51779 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51780
51781 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51782 kern/sparc64/ieee1275/init.c because it contains _start.
51783 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51784
51785 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51786
51787 * configure.ac: Add support for sparc64 host with ieee1275
51788 firmware.
51789 * configure: Generated from configure.ac.
51790 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51791 instead of int.
51792 (grub_ofdisk_read): Likewise.
51793 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51794 pointers as (void *) to remove a warning.
51795 (grub_ofdisk_close): Likewise.
51796 (grub_ofdisk_read): Likewise.
51797 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51798 returns, so make it return void to remove a warning.
51799 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51800 Corresponding prototype change.
51801 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51802 values, and cast the pointers as (void *) to remove a warning.
51803 (grub_mm_dump): Likewise.
51804 * conf/sparc64-ieee1275.mk: New file.
51805 * conf/sparc64-ieee1275.rmk: Likewise.
51806 * include/grub/sparc64/setjmp.h: Likewise.
51807 * include/grub/sparc64/types.h: Likewise.
51808 * include/grub/sparc64/ieee1275/console.h: Likewise.
51809 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51810 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51811 * include/grub/sparc64/ieee1275/time.h: Likewise.
51812 * kern/sparc64/cache.c: Likewise.
51813 * kern/sparc64/dl.c: Likewise.
51814 * kern/sparc64/ieee1275/init.c: Likewise.
51815 * kern/sparc64/ieee1275/openfw.c: Likewise.
51816
51817 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51818
51819 * util/console.c (grub_ncurses_putchar): If C is greater than
51820 0x7f, set C to a question mark.
51821 (grub_ncurses_getcharwidth): New function.
51822 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51823 getcharwidth.
51824
51825 * normal/menu.c (print_entry): Made aware of Unicode. First,
51826 convert TITLE to UCS-4, and predict the cursor position by
51827 grub_getcharwidth.
51828
51829 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51830 const to SRC.
51831 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51832
51833 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51834
51835 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51836 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51837 grub_strcat.
51838
51839 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51840 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51841 grub_strcpy and grub_strlen. Take it into account that a space
51842 character is inserted as a delimiter.
51843
51844 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51845
51846 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
51847 invalid magic in the error.
51848
51849 * commands/search.c: New file.
51850
51851 * util/grub-emu.c (main): Call grub_search_init and
51852 grub_search_fini.
51853
51854 * kern/rescue.c (grub_rescue_print_disks): Removed.
51855 (grub_rescue_print_devices): New function.
51856 (grub_rescue_cmd_ls): Use grub_device_iterate with
51857 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51858 grub_rescue_print_disks.
51859
51860 * kern/partition.c (grub_partition_iterate): Return the result of
51861 PARTMAP->ITERATE instead of GRUB_ERRNO.
51862
51863 * kern/device.c: Include grub/partition.h.
51864 (grub_device_iterate): New function.
51865
51866 * include/grub/partition.h (grub_partition_iterate): Return int
51867 instead of grub_err_t.
51868
51869 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51870 prototype.
51871 [GRUB_UTIL] (grub_search_fini): Likewise.
51872
51873 * include/grub/device.h (grub_device_iterate): New prototype.
51874
51875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51876 commands/search.c.
51877 (pkgdata_MODULES): Added search.mod.
51878 (search_mod_SOURCES): New variable.
51879 (search_mod_CFLAGS): Likewise.
51880
51881 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51882 (pkgdata_MODULES): Added search.mod.
51883 (search_mod_SOURCES): New variable.
51884 (search_mod_CFLAGS): Likewise.
51885
51886 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51887 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51888 All callers changed.
51889
51890 * DISTLIST: Added commands/search.c.
51891
51892 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51893
51894 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51895 conversion.
51896 (grub_getcharwidth): New function.
51897
51898 * kern/misc.c (grub_utf8_to_ucs4): New function.
51899
51900 * include/grub/term.h (struct grub_term): Added a new member
51901 "getcharwidth".
51902 (grub_getcharwidth): New prototype.
51903
51904 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51905
51906 * term/i386/pc/console.c (map_char): New function. Segregated from
51907 grub_console_putchar.
51908 (grub_console_putchar): Use map_char.
51909 (grub_console_getcharwidth): New function.
51910 (grub_console_term): Specified grub_console_getcharwidth as
51911 getcharwidth.
51912
51913 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51914 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51915
51916 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51917 GRUB_ERRNO.
51918 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51919 on grub_strtoul completely.
51920 (write_char): Declare local variables in the beginning of the
51921 function.
51922 (grub_vesafb_getcharwidth): New function.
51923 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51924 getcharwidth.
51925
51926 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51927
51928 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51929 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51930 commands/i386/pc/vbetest.c.
51931
51932 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51933 call grub_vbe_get_controller_info again, because the returned
51934 information is volatile.
51935 (grub_vbe_set_video_mode): Mostly rewritten.
51936 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51937 grub_vbe_status_t correctly.
51938 (grub_vbe_get_video_mode_info): Likewise.
51939 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51940 several if statements.
51941
51942 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51943 * commands/i386/pc/vbeinfo.c: ... this.
51944
51945 * commands/i386/pc/vbe_test.c: Renamed to ...
51946 * commands/i386/pc/vbetest.c: ... this.
51947
51948 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51949 ...
51950 (grub_cmd_vbeinfo): ... this. Save video modes before
51951 iterating. Skip a video mode, if it is not available, not enough
51952 information is given or it is monochrome. Show the memory
51953 model. Leave the interpretation of MODEVAR to grub_strtoul
51954 completely.
51955 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51956 (GRUB_MOD_FINI): Likewise.
51957
51958 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51959 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51960 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51961 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51962 grub_strtoul completely.
51963 (real2pm): Removed.
51964 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51965 (GRUB_MOD_FINI): Likewise.
51966
51967 * normal/misc.c: Include grub/mm.h.
51968
51969 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51970 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51971 (vbe_list_modes_mod_SOURCES): Removed.
51972 (vbe_list_modes_mod_CFLAGS): Likewise.
51973 (vbe_test_mod_SOURCES): Likewise.
51974 (vbe_test_mod_CFLAGS): Likewise.
51975 (vbeinfo_mod_SOURCES): New variable.
51976 (vbeinfo_mod_CFLAGS): Likewise.
51977 (vbetest_mod_SOURCES): Likewise.
51978 (vbetest_mod_CFLAGS): Likewise.
51979
51980 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
51981
51982 * normal/misc.c: New file.
51983
51984 * DISTLIST: Added normal/misc.c.
51985
51986 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
51987 DISK to HOOK. Call HOOK with DISK.
51988 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51989 * partmap/pc.c (pc_partition_map_iterate): Likewise.
51990 * partmap/sun.c (sun_partition_map_iterate): Likewise.
51991
51992 * normal/menu_entry.c (struct screen): Added a new member
51993 "completion_shown".
51994 (completion_buffer): New global variable.
51995 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
51996 (store_completion): New function.
51997 (complete): Likewise.
51998 (clear_completions): Likewise.
51999 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52000 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52001 a tab, call complete.
52002
52003 * normal/completion.c (disk_dev): Removed.
52004 (print_simple_completion): Likewise.
52005 (print_partition_completion): Likewise.
52006 (print_func): New global variable.
52007 (add_completion): Do not take the arguments WHAT or PRINT any
52008 longer. Added a new argument TYPE. Instead of printing directly,
52009 call PRINT_FUNC if not NULL.
52010 All callers changed.
52011 (complete_device): Use a local variable DEV instead of
52012 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52013 (grub_normal_do_completion): Take a new argument HOOK. Do not
52014 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52015 empty string, return NULL instead.
52016 All callers changed.
52017
52018 * normal/cmdline.c (print_completion): New function.
52019
52020 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52021 to HOOK.
52022 All callers changed.
52023
52024 * kern/disk.c (grub_print_partinfo): Removed.
52025
52026 * include/grub/partition.h (struct grub_partition_map): Add a new
52027 argument DISK into HOOK of ITERATE.
52028 (grub_partition_iterate): Add a new argument DISK to HOOK.
52029
52030 * include/grub/normal.h (enum grub_completion_type): New enum.
52031 (grub_completion_type_t): New type.
52032 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52033 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52034 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52035 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52036 (grub_normal_do_completion): Added a new argument HOOK.
52037 (grub_normal_print_device_info): New prototype.
52038
52039 * include/grub/disk.h (grub_print_partinfo): Removed.
52040
52041 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52042 (normal_mod_SOURCES): Likewise.
52043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52044 (normal_mod_SOURCES): Likewise.
52045
52046 * commands/ls.c (grub_ls_list_disks): Use
52047 grub_normal_print_device_info instead of grub_print_partinfo. Free
52048 PNAME.
52049 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52050 duplicating the code.
52051
52052 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52053
52054 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
52055 follow GCS more precisely.
52056 * commands/i386/pc/vbe_test.c: Likewise.
52057 * include/grub/i386/pc/vbe.h: Likewise.
52058 * term/i386/pc/vesafb.c: Likewise.
52059 * video/i386/pc/vbe.c: Likewise.
52060
52061 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52062
52063 * DISTLIST: Added term/i386/pc/vesafb.c
52064 DISTLIST: Added video/i386/pc/vbe.c
52065 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52066 DISTLIST: Added commands/i386/pc/vbe_test.c.
52067 * commands/i386/pc/vbe_list_modes.c: New file.
52068 * commands/i386/pc/vbe_test.c: Likewise.
52069 * term/i386/pc/vesafb.c: Likewise.
52070 * video/i386/pc/vbe.c: Likewise.
52071 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52072 (grub_vbe_probe) Added prototype.
52073 (grub_vbe_set_video_mode) Likewise.
52074 (grub_vbe_get_video_mode) Likewise.
52075 (grub_vbe_get_video_mode_info) Likewise.
52076 (grub_vbe_set_pixel_rgb) Likewise.
52077 (grub_vbe_set_pixel_index) Likewise.
52078 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52079 (pkgdata_MODULES): Added vesafb.mod.
52080 (pkgdata_MODULES): Added vbe_list_modes.mod.
52081 (pkgdata_MODULES): Added vbe_test.mod.
52082 (vbe_mod_SOURCES): Added.
52083 (vbe_mod_CFLAGS): Likewise.
52084 (vesafb_mod_SOURCES): Likewise.
52085 (vesafb_mod_CFLAGS): Likewise.
52086 (vbe_list_modes_mod_SOURCES): Likewise.
52087 (vbe_list_modes_mod_CFLAGS): Likewise.
52088 (vbe_test_mod_SOURCES): Likewise.
52089 (vbe_test_mod_CFLAGS): Likewise.
52090
52091 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52092
52093 * normal/command.c (grub_command_execute): If INTERACTIVE is
52094 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52095 CMDLINE. Disable the pager if INTERACTIVE is true.
52096 All callers are changed.
52097
52098 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52099 before reading a config file.
52100 * normal/main.c (read_config_file): Even if a command is not
52101 found, register it if it is within an entry.
52102
52103 * util/grub-emu.c: Include sys/types.h and unistd.h.
52104 (options): Added --hold.
52105 (struct arguments): Added a new member "hold".
52106 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52107 missing.
52108 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52109 cleared by a debugger, if it is not zero.
52110
52111 * include/grub/normal.h (grub_command_execute): Add an argument
52112 INTERACTIVE.
52113
52114 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52115
52116 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52117
52118 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52119
52120 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52121 program with another one, because the old one didn't detect a bug
52122 in gcc-3.4. Always use regparm 2, because the new test is still
52123 not enough for gcc-4.0. Someone must investigate a simple test
52124 case which detects a bug in gcc-4.0.
52125
52126 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52127
52128 * DISTLIST: Added normal/completion.c.
52129
52130 * normal/completion.c: New file.
52131
52132 * term/i386/pc/console.c (grub_console_getwh): New function.
52133 (grub_console_term): Assign grub_console_getwh to getwh.
52134
52135 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52136 function is defined in normal/completion.c as
52137 grub_normal_do_completion.
52138 (grub_cmdline_get): Use grub_normal_do_completion instead of
52139 grub_tab_complete.
52140
52141 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52142 returns non-zero, otherwise return 0.
52143 (grub_partition_iterate): First, probe the partition map. Then,
52144 call ITERATE only for this partition map.
52145
52146 * kern/misc.c (grub_strncmp): Rewritten.
52147
52148 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52149 returns non-zero. Otherwise return 0.
52150
52151 * include/grub/partition.h (grub_partition_map_iterate): Return
52152 int instead of void.
52153
52154 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52155
52156 * include/grub/misc.h (grub_strncmp): Change the type of N to
52157 grub_size_t.
52158
52159 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52160 of void.
52161
52162 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
52163 unsigned explicitly before comparing it with I.
52164
52165 * kern/main.c (grub_env_write_root): Add the attribute unused into
52166 VAR.
52167
52168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52169 normal/completion.c.
52170 (normal_mod_SOURCES): Likewise.
52171 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52172 (normal_mod_SOURCES): Likewise.
52173
52174 * normal/command.c (grub_iterate_commands): If ITERATE returns
52175 non-zero, return one immediately.
52176
52177 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52178
52179 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52180 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52181 descriptions.
52182 (grub_vbe_get_controller_info): New function.
52183 (grub_vbe_get_mode_info): Likewise.
52184 (grub_vbe_set_mode): Likewise.
52185 (grub_vbe_get_mode): Likewise.
52186 (grub_vbe_set_memory_window): Likewise.
52187 (grub_vbe_get_memory_window): Likewise.
52188 (grub_vbe_set_scanline_length): Likewise.
52189 (grub_vbe_get_scanline_length): Likewise.
52190 (grub_vbe_set_display_start): Likewise.
52191 (grub_vbe_get_display_start): Likewise.
52192 (grub_vbe_set_palette_data): Likewise.
52193 * include/grub/i386/pc/vbe.h: New file.
52194
52195 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52196
52197 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52198 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52199 * DISTLIST: Likewise.
52200 * kern/ieee1275/of.c: Moved to ...
52201 * kern/ieee1275/ieee1275.c: ... here.
52202
52203 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52204
52205 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52206 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52207 Pass 0 as `end' parameter to grub_strtoul().
52208
52209 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52210
52211 * include/grub/powerpc/ieee1275/console.h: Do not include
52212 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52213 ifdef.
52214 (grub_console_cur_color): Remove i386-specific prototype.
52215 (grub_console_real_putchar): Likewise.
52216 (grub_console_checkkey): Likewise.
52217 (grub_console_getkey): Likewise.
52218 (grub_console_getxy): Likewise.
52219 (grub_console_gotoxy): Likewise.
52220 (grub_console_cls): Likewise.
52221 (grub_console_setcursor): Likewise.
52222 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52223 Include <grub/machine/console.h>.
52224 * term/ieee1275/ofconsole.c: Likewise.
52225
52226 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52227
52228 * Makefile.in (LIBLZO): New variable.
52229
52230 * configure.ac: Check for LZO version 2.
52231
52232 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52233 lzo/lzo1x.h instead of lzo1x.h.
52234
52235 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52236 of -llzo.
52237
52238 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52239 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52240
52241 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52242 copying the data from PARTITION to P.
52243
52244 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52245
52246 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52247 negative, unload the module.
52248
52249 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52250 map is "pc_partition_map" but not "pc".
52251 (usage): Fix the description. The options are --boot-image and
52252 --core-image but not --boot-file or --core-file.
52253 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52254 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52255 DEFAULT_DIRECTORY.
52256
52257 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52258 --core-file. Specify INSTALL_DEVICE as an argument.
52259
52260 * util/console.c: Include config.h.
52261 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52262 [HAVE_NCURSES_H]: Include ncurses.h.
52263 [HAVE_CURSES_H]: Include curses.h.
52264 [!A_NORMAL] (A_NORMAL): Defined as zero.
52265 [!A_STANDOUT] (A_STANDOUT): Likewise.
52266
52267 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52268 -lncurses.
52269 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52270
52271 * configure.ac: Check for curses libraries and headers.
52272
52273 * Makefile.in (LIBCURSES): New variable.
52274
52275 * genmk.rb (Script::rule): Set the executable bits.
52276
52277 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52278 name of the PC partition map is "pc_partition_map" but not "pc".
52279
52280 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52281
52282 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52283 (modules): Likewise.
52284 (usage): Added descriptions for --modules and --grub-probefs.
52285 Handle --modules and --grub-probefs. Save the arguments in MODULES
52286 and GRUB_PROBEFS, respectively.
52287 Auto-detect a filesystem module against GRUBDIR. If the result is
52288 empty and modules are not specified explicitly, abort the
52289 installation. Add the result to MODULES.
52290
52291 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52292 disk/powerpc/ieee1275/ofdisk.c,
52293 include/grub/powerpc/ieee1275/init.h and
52294 term/powerpc/ieee1275/ofconsole.c.
52295 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52296 term/ieee1275/ofconsole.c.
52297
52298 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52299
52300 * COPYING: Upgraded to the latest version. Only the address of the
52301 FSF office has changed.
52302
52303 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52304
52305 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52306 kern/ieee1275.c with kern/ieee1275/of.c.
52307
52308 * kern/ieee1275.c: Moved to ...
52309 * kern/ieee1275/of.c: ... here.
52310
52311 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52312
52313 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
52314 readability.
52315
52316 * config.guess: Updated to the latest version from gnulib.
52317 * config.sub: Likewise.
52318 * install.sh: Likewise.
52319 * mkinstalldirs: Likewise.
52320
52321 * include/grub/console.h: Removed. This file is arch-specific. Do
52322 not put this in include/grub.
52323
52324 * include/grub/i386/pc/console.h: Resurrected.
52325
52326 * util/console.c: Include grub/machine/console.h instead of
52327 grub/console.h.
52328 * util/grub-emu.c: Likewise.
52329
52330 2005-08-04 Marco Gerards <metgerards@student.han.nl>
52331
52332 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52333 hardcoded value.
52334
52335 From Vincent Pelletier <subdino2004@yahoo.fr>
52336 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52337 Redefined to use grub_getwh.
52338 (grub_term): New member named getwh.
52339 (grub_getwh): New prototype.
52340 * kern/term.c (grub_getwh): New function.
52341 * term/i386/pc/console.c (grub_console_getwh): New function.
52342 (grub_console_term): New member `getwh'.
52343 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52344 (grub_vga_term): New member `getwh'.
52345 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
52346 grub_ssize_t.
52347 (grub_ofconsole_getw): New function.
52348 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52349 (grub_ofconsole_term): New field named getwh and new initial
52350 value.
52351
52352 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52353
52354 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52355 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52356 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52357 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52358 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52359 of <grub/machine/ieee1275.h>.
52360 * commands/ieee1275/reboot.c: Likewise.
52361 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52362 * kern/ieee1275.c: ... to here. All users updated. Change all
52363 parameter structs to use new type `grub_ieee1275_cell_t'.
52364 * term/powerpc/ieee1275/ofconsole.c: Move ...
52365 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52366 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52367 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52368 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52369 to return int.
52370 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52371 Remove unused prototypes. All users updated.
52372 * include/grub/powerpc/ieee1275/console.h: Removed.
52373 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52374 `grub_ieee1275_cell_t'.
52375 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52376 Cast comparisons with -1 to the correct type.
52377 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52378 type to match `grub_ieee1275_entry_fn'.
52379
52380 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52381
52382 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52383
52384 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52385 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52386 partmap/sun.c.
52387 (grub_probefs_SOURCES): New variable.
52388
52389 * util/i386/pc/grub-probefs.c: New file.
52390
52391 * util/i386/pc/grub-setup.c (main): Call
52392 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52393 grub_hfs_init and grub_jfs_init to initialize the system. Call
52394 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52395 grub_pc_partition_map_fini to finish the system.
52396
52397 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52398
52399 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52400 function.
52401 (grub_multiboot_load_elf32): Likewise.
52402 (grub_multiboot_is_elf64): Likewise.
52403 (grub_multiboot_load_elf64): Likewise.
52404 (grub_multiboot_load_elf): Likewise.
52405 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52406 an ELF32 or ELF64 file.
52407 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52408
52409 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52410 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52411 NULL before calling FS->LABEL.
52412 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52413 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52414 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52415 before calling FS->LABEL.
52416
52417 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52418
52419 * util/i386/pc/grub-install.in (datadir): New variable.
52420 (libdir): Removed.
52421 (pkgdatadir): New variable.
52422 (pkglibdir): Removed.
52423
52424 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52425
52426 * DISTLIST: Added util/i386/pc/grub-install.in.
52427
52428 * util/i386/pc/grub-install.in: New file.
52429
52430 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52431 (grub_install_SOURCES): Likewise.
52432
52433 * genmk.rb: Added support for scripts.
52434 (Script): New class.
52435 (scripts): New variable.
52436
52437 * Makefile.in (install-local): Install sbin_SCRIPTS by
52438 INSTALL_SCRIPT.
52439 (uninstall): Remove sbin_SCRIPTS.
52440
52441 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52442 device, try to get a GRUB device by
52443 grub_util_biosdisk_get_grub_dev.
52444 Free DEST_DEV.
52445
52446 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52447 description for --device-map.
52448
52449 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52450
52451 Change the semantics of variable hooks. They now return strings
52452 instead of error values.
52453
52454 * util/i386/pc/grub-setup.c: Include grub/env.h.
52455 (setup): Use grub_device_set_root instead of grub_env_set.
52456
52457 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52458 grub_env_get instead of grub_device_set_root and
52459 grub_device_get_root, respectively.
52460
52461 * kern/main.c (grub_env_write_root): New function.
52462 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52463 grub_env_set instead of grub_device_set_root.
52464
52465 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52466 many variables.
52467 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52468 rather than calling ENV->WRITE_HOOK afterwards.
52469 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52470 passing a pointer of a pointer.
52471 (grub_register_variable_hook): Change the types of "read_hook" and
52472 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52473 respectively.
52474 Allocate the default empty string on the heap, because this string
52475 may be freed later.
52476
52477 * kern/device.c: Include grub/env.h.
52478 (grub_device_set_root): Removed.
52479 (grub_device_get_root): Likewise.
52480 (grub_device_open): Use grub_env_get instead of
52481 grub_device_get_root.
52482
52483 * include/grub/env.h (grub_env_read_hook_t): New type.
52484 (grub_env_write_hook_t): Likewise.
52485 (grub_env_var): Change the types of "read_hook" and "write_hook"
52486 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52487 (grub_register_variable_hook): Likewise.
52488
52489 * include/grub/device.h (grub_device_set_root): Removed.
52490 (grub_device_set_root): Likewise.
52491
52492 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52493 make sure that DIRNAME terminates with '/', so that
52494 grub_fat_find_dir will fail if PATH is not a directory.
52495
52496 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52497 from DIRNAME.
52498 Use the qualifier auto for print_files and print_files_long.
52499 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52500 as a regular file.
52501 Put a newline only if there is no error.
52502 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52503 used.
52504
52505 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52506
52507 * kern/partition.c (grub_partition_probe): Initialize PART to
52508 NULL. Otherwise, when no partition map is registered, this returns
52509 a garbage.
52510
52511 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52512
52513 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52514 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52515 valid.
52516
52517 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52518
52519 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52520 information on each device, if it does not have partitions. Print
52521 "Device" instead of "Disk", because this function is not specific
52522 to disk devices.
52523
52524 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52525 static to ensure that it is put on the memory rather than a
52526 register.
52527
52528 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52529
52530 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52531 (grub_cat_init): Likewise.
52532 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52533 (options): Likewise.
52534 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52535 (grub_configfile_init): Likewise.
52536 * font/manager.c (GRUB_MOD_INIT): Likewise.
52537 * commands/help.c (GRUB_MOD_INIT): Likewise.
52538 (grub_help_init): Likewise.
52539 * normal/command.c (grub_command_init): Likewise.
52540 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52541 * disk/loopback.c (grub_loop_init): Likewise.
52542 (GRUB_MOD_INIT): Likewise.
52543 * commands/ls.c (grub_ls_init): Likewise.
52544 (GRUB_MOD_INIT): Likewise.
52545 (options): Likewise.
52546 * commands/boot.c (grub_boot_init): Likewise.
52547 (GRUB_MOD_INIT): Likewise.
52548 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52549 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52550 (GRUB_MOD_INIT): Likewise.
52551 * commands/cmp.c (grub_cmp_init): Likewise.
52552 (GRUB_MOD_INIT): Likewise.
52553
52554 * normal/arg.c: Use <> instead of "" to include header files.
52555 (SHORT_ARG_HELP): New macro.
52556 (SHORT_ARG_USAGE): Likewise.
52557 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52558 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52559 descriptions.
52560 (find_short): Check if C is 'h' or 'u' explicitly.
52561 (grub_arg_show_help): Use space characters instead of tabs. Treat
52562 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52563 are shown with --help and --usage only if they are not used for
52564 the command itself.
52565 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52566 'h' and 'u'.
52567
52568 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52569 const into "longarg". Change the type of "shortarg" to int.
52570
52571 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52572
52573 * boot/i386/pc/boot.S (boot_drive_check): New label.
52574
52575 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52576 macro.
52577
52578 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52579 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52580
52581 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52582
52583 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52584 When turning off Gate A20, skip the check and return immediately,
52585 because this is not fatal usually.
52586
52587 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52588
52589 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52590 be 0x7C00 instead of 0x8000.
52591
52592 * boot/i386/pc/pxeboot.S: Rewritten.
52593
52594 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52595 EXT_C.
52596 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52597 result.
52598
52599 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52600
52601 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52602 robustness. This routine now supports a BIOS call and System
52603 Control Port A to modify the gate A20.
52604
52605 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52606 Increased to 0x440.
52607
52608 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52609
52610 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52611 device path and resulting ihandle.
52612 (grub_ofdisk_close): dprintf the ihandle being closed.
52613 (grub_ofdisk_read): dprintf function parameters.
52614 * kern/mm.c (grub_mm_init_region): Likewise.
52615 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52616 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52617 size, and boot arguments.
52618 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52619 before loading into memory.
52620 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52621 before loading into memory.
52622
52623 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52624
52625 * kern/mm.c: Added much documentation.
52626 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52627 8, set to 5 instead of 8.
52628
52629 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52630
52631 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52632
52633 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52634 (grub_mkdevicemap_SOURCES): New variable.
52635
52636 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52637 lib/device.c of GRUB Legacy.
52638
52639 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52640
52641 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52642 instead of PATH is NULL.
52643
52644 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52645
52646 * commands/cmp.c (BUFFER_SIZE): New macro.
52647 (grub_cmd_cmp): Close the right file at the right time. Compare
52648 only data just read. Don't report files of different size as
52649 identical. Dynamically allocate buffers. Move variable
52650 declarations at the beginning of function.
52651
52652 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
52653
52654 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52655 reverse.
52656
52657 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52658
52659 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52660 when backspace is pressed at beginning of line.
52661
52662 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
52663
52664 * DISTLIST: Added genfslist.sh.
52665
52666 * normal/main.c (fs_module_list): New variable.
52667 (autoload_fs_module): New function.
52668 (read_fs_list): Likewise.
52669 (grub_normal_execute): Call read_fs_list.
52670
52671 * kern/fs.c (grub_fs_autoload_hook): New variable.
52672 (grub_fs_probe): Added support for auto-loading.
52673
52674 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52675 (grub_fs_module_list_t): New type.
52676
52677 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52678 (grub_fs_autoload_hook): New prototype.
52679
52680 * genfslist.sh: New file.
52681
52682 * genmk.rb: Added a rule to generate a filesystem list.
52683
52684 2005-06-30 Marco Gerards <metgerards@student.han.nl>
52685
52686 * configure.ac: Fix the test for cross-compiling.
52687
52688 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52689 define GRUB_UTIL anymore.
52690
52691 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52692 so this function works on other systems than just big endian.
52693 (load_modules): Likewise.
52694 (add_segments): Likewise.
52695
52696 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52697
52698 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52699 contains `l' modifier, get a long from va_arg().
52700
52701 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52702
52703 * kern/mm.c (grub_free): If the next free block which is being
52704 merged is the first free block, set the first block to the block
52705 being freed.
52706 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52707
52708 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52709
52710 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52711 `grub_ieee1275_chosen'.
52712
52713 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52714
52715 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52716 (grub_ieee1275_chosen): New variable.
52717 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52718 `chosen'.
52719 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52720 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52721 Rename first argument to `phandle' for consistency.
52722 (grub_ieee1275_get_property_length): Likewise.
52723 (grub_ieee1275_next_property): Likewise. Change type of first argument
52724 to grub_ieee1275_phandle_t.
52725 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52726 Move export next to declaration.
52727 (grub_ieee1275_chosen): New variable.
52728 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52729 Correct cosmetic typo.
52730 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52731 `grub_ieee1275_chosen'.
52732 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52733 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52734 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52735 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52736 `grub_ieee1275_chosen'.
52737
52738 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52739
52740 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52741 /chosen/bootargs.
52742 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52743 /chosen/bootargs as "variable=value" pairs.
52744
52745 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52746
52747 * include/grub/misc.h (grub_dprintf): New macro.
52748 (grub_real_dprintf): New prototype.
52749 (grub_strword): Likewise.
52750 (grub_iswordseparator): Likewise.
52751 * kern/misc.c (grub_real_dprintf): New function.
52752 (grub_strword): Likewise.
52753 (grub_iswordseparator): Likewise.
52754
52755 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52756
52757 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52758 (roundup): Remove macro.
52759 (grub_ieee1275_flags): Make static.
52760 (grub_ieee1275_realmode): Remove.
52761 (grub_ieee1275_test_flag): New function.
52762 (grub_ieee1275_set_flag): Likewise.
52763 (find_options): Rename to `grub_ieee1275_find_options'; update
52764 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52765 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52766 (cmain): New prototype.
52767 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52768 `grub_ieee1275_flags' directly.
52769 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52770 machine/biosdisk.h.
52771 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52772 Don't include grub/machine/init.h.
52773 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52774 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52775 Remove prototype.
52776 (grub_ieee1275_realmode): Likewise.
52777 (grub_ieee1275_flag): New enum.
52778 (grub_ieee1275_test_flag): New prototype.
52779 (grub_ieee1275_set_flag): New prototype.
52780 * include/grub/powerpc/ieee1275/init.h: Remove file.
52781 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52782 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52783 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52784 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52785 comment.
52786 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52787 `grub_ieee1275_test_flag'.
52788 (grub_ieee1275_encode_devname): Likewise.
52789
52790 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52791
52792 * include/grub/powerpc/ieee1275/ieee1275.h
52793 (grub_ieee1275_encode_devname): New prototype.
52794 (grub_ieee1275_get_filename): Likewise.
52795 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52796 function.
52797 (grub_set_prefix): Likewise.
52798 (grub_machine_init): Call grub_set_prefix.
52799 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52800 (grub_parse_type): New enum.
52801 (grub_ieee1275_get_devargs): New function.
52802 (grub_ieee1275_get_devname): Likewise.
52803 (grub_ieee1275_parse_args): Likewise.
52804 (grub_ieee1275_get_filename): Likewise.
52805 (grub_ieee1275_encode_devname): Likewise.
52806
52807 2005-03-30 Marco Gerards <metgerards@student.han.nl>
52808
52809 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52810 `grub_loader_unset'.
52811
52812 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52813
52814 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52815 instead of grub_ieee1275_interpret.
52816 (grub_halt_init): New function.
52817 (grub_halt_fini): Likewise.
52818 (GRUB_MOD_INIT): Correct message grammar.
52819 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52820 instead of grub_ieee1275_interpret.
52821 (grub_reboot_init): New function.
52822 (grub_reboot_fini): Likewise.
52823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52824 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52825 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52826 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52827 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52828 function.
52829 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52830 Add prototype.
52831 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52832 prototype.
52833 (grub_halt): Likewise.
52834 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52835 (cmain): Remove __attribute__((unused)).
52836 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52837 (grub_heap_len): Likewise.
52838 (grub_machine_fini): New function.
52839 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52840 (grub_halt): Likewise.
52841 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52842 function.
52843 * util/powerpc/ieee1275/misc.c: New file.
52844
52845 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52846
52847 * DISTLIST: New file.
52848 * gendistlist.sh: Likewise.
52849
52850 * Makefile.in (COMMON_DISTFILES): Removed.
52851 (BOOT_DISTFILES): Likewise.
52852 (CONF_DISTFILES): Likewise.
52853 (DISK_DISTFILES): Likewise.
52854 (FS_DISTFILES): Likewise.
52855 (INCLUDE_DISTFILES): Likewise.
52856 (KERN_DISTFILES): Likewise.
52857 (LOADER_DISTFILES): Likewise.
52858 (TERM_DISTFILES): Likewise.
52859 (UTIL_DISTFILES): Likewise.
52860 (DISTFILES): Likewise.
52861 (uninstall): Uninstall files in $(pkgdata_DATA).
52862 (DISTLIST): New target.
52863 (distdir): Use the contents of the file DISTLIST to get a list of
52864 distributed files.
52865
52866 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52867
52868 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52869 descriptor. This is ported from GRUB Legacy.
52870
52871 * gencmdlist.sh: Added an extra semicolon to make it work with
52872 old sed versions. Reported by Robert Bihlmeyer
52873 <robbe@orcus.priv.at>.
52874
52875 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
52876
52877 Automatic loading of commands is supported.
52878
52879 * normal/main.c (read_command_list): New function.
52880 (grub_normal_execute): Call read_command_list.
52881
52882 * normal/command.c (grub_register_command): Return zero or CMD.
52883 Allocate CMD->NAME from the heap.
52884 Initialize CMD->MODULE_NAME to zero.
52885 Find the same name as well. If the same command is found and it is
52886 a dummy command, overwrite members. If it is not a dummy command,
52887 return zero.
52888 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52889 (grub_command_find): If a dummy command is found, load a module
52890 and retry to find a command only once.
52891
52892 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52893 make sure that each command is loaded.
52894
52895 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52896 macro.
52897 (struct grub_command): Remove const from the member `name'.
52898 Add a new member `module_name'.
52899 (grub_register_command): Return grub_command_t.
52900
52901 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52902 sure that each command is loaded.
52903
52904 * genmk.rb (PModule::rule): Specify a module name without the
52905 suffix ".mod" to gencmdlist.sh.
52906
52907 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52908
52909 * gencmdlist.sh: New file.
52910
52911 * genmk.rb (PModule::rule): Generate a rule for a command list.
52912 Clean command.lst.
52913 Generate command.lst from $(COMMANDFILES).
52914
52915 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52916 (DATA): Added $(pkgdata_DATA).
52917 (install-local): Install files in $(pkgdata_DATA).
52918
52919 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52920
52921 * term/i386/pc/vga.c (debug_command): Removed.
52922 (GRUB_MOD_INIT): Do not register the command "debug".
52923
52924 From Hollis Blanchard:
52925 * commands/configfile.c: New file.
52926 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52927 commands/configfile.c.
52928 (pkgdata_MODULES): Added configfile.mod.
52929 (configfile_mod_SOURCES): New variable.
52930 (configfile_mod_CFLAGS): Likewise.
52931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52932 commands/configfile.c.
52933 (pkgdata_MODULES): Added configfile.mod.
52934 (configfile_mod_SOURCES): New variable.
52935 (configfile_mod_CFLAGS): Likewise.
52936 * util/grub-emu.c (main): Call grub_configfile_init and
52937 grub_configfile_fini.
52938 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52939 prototype.
52940 [GRUB_UTIL] (grub_configfile_fini): Likewise.
52941
52942 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52943
52944 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52945 address.
52946
52947 * commands/help.c (grub_cmd_help): Do not print newlines after
52948 the last command in print_command_help.
52949
52950 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52951
52952 * commands/default.h: New file.
52953 * commands/timeout.h: Likewise.
52954 * normal/context.c: Likewise.
52955
52956 * util/misc.c: Do not include sys/times.h.
52957 Include sys/time.h and grub/machine/time.h.
52958 (grub_get_rtc): Rewritten with gettimeofday.
52959
52960 * util/grub-emu.c (main): Call grub_default_init and
52961 grub_timeout_init before grub_normal_init, and call
52962 grub_timeout_fini and grub_default_fini after grub_main.
52963
52964 * util/console.c (grub_ncurses_checkkey): Return the read
52965 character or -1.
52966
52967 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52968 timeouts.
52969
52970 * normal/main.c (read_config_file): Push MENU. If this fails,
52971 print an error and wait for a user input.
52972 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52973 If a menu is empty or an error occurs, pop MENU.
52974 (grub_normal_execute): Pop and free MENU after grub_menu_run
52975 returns.
52976
52977 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
52978
52979 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
52980 include time.h.
52981 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52982 without GRUB_UTIL.
52983 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
52984 time.h.
52985 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
52986 without GRUB_UTIL.
52987
52988 * include/grub/normal.h (struct grub_menu_list): New struct.
52989 (grub_menu_list_t): New type.
52990 (struct grub_context): New struct.
52991 (grub_context_t): New type.
52992 (grub_register_command): Got rid of EXPORT_FUNC.
52993 (grub_unregister_command): Likewise.
52994 (grub_context_get): New prototype.
52995 (grub_context_get_current_menu): Likewise.
52996 (grub_context_push_menu): Likewise.
52997 (grub_context_pop_menu): Likewise.
52998 [GRUB_UTIL] (grub_default_init): Likewise.
52999 [GRUB_UTIL] (grub_default_fini): Likewise.
53000 [GRUB_UTIL] (grub_timeout_init): Likewise.
53001 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53002
53003 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53004 commands/timeout.c and normal/context.c.
53005 (pkgdata_MODULES): Added default.mod and timeout.mod.
53006 (normal_mod_SOURCES): Added normal/context.c.
53007 (default_mod_SOURCES): New variable.
53008 (default_mod_CFLAGS): Likewise.
53009 (timeout_mod_SOURCES): Likewise.
53010 (timeout_mod_CFLAGS): Likewise.
53011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53012 conf/i386-pc.rmk.
53013 (pkgdata_MODULES): Added default.mod and timeout.mod.
53014 (normal_mod_SOURCES): Added normal/context.c.
53015 (default_mod_SOURCES): New variable.
53016 (default_mod_CFLAGS): Likewise.
53017 (timeout_mod_SOURCES): Likewise.
53018 (timeout_mod_CFLAGS): Likewise.
53019
53020 * Makefile.in (all-local): Added $(MKFILES).
53021
53022 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53023
53024 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53025 (grub_emu_SOURCES): Likewise.
53026 (pkgdata_MODULES): Add `sun.mod'.
53027 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53029 `partmap/sun.c'.
53030 (pkgdata_MODULES): Add `sun.mod'.
53031 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53032 * include/grub/partition.h (grub_sun_partition_map_init): New
53033 prototype.
53034 (grub_sun_partition_map_fini): Likewise.
53035 * partmap/sun.c: New file.
53036 * util/grub-emu.c (main): Initialize and de-initialize the sun
53037 partitionmap support.
53038
53039 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53040
53041 This implements an Emacs-like menu entry editor.
53042
53043 * normal/menu_entry.c: New file.
53044
53045 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53046 characters to ASCII.
53047 (saved_char): New variable.
53048 (grub_ncurses_checkkey): Rewritten completely.
53049 (grub_ncurses_getkey): Likewise.
53050 (grub_ncurses_init): Call raw instead of cbreak.
53051
53052 * normal/menu.c (print_entry): Do not put a space.
53053 (init_page): Renamed to ...
53054 (grub_menu_init_page): ... this. All callers changed.
53055 (edit_menu_entry): Removed.
53056 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53057
53058 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53059
53060 * kern/misc.c (grub_vprintf): Call grub_refresh.
53061
53062 * normal/menu.c (DISP_LEFT): Renamed to ...
53063 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53064 * normal/menu.c (DISP_UP): Renamed to ...
53065 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53066 * normal/menu.c (DISP_RIGHT): Renamed to ...
53067 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53068 * normal/menu.c (DISP_DOWN): Renamed to ...
53069 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53070 * normal/menu.c (DISP_HLINE): Renamed to ...
53071 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53072 * normal/menu.c (DISP_VLINE): Renamed to ...
53073 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53074 * normal/menu.c (DISP_UL): Renamed to ...
53075 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53076 * normal/menu.c (DISP_UR): Renamed to ...
53077 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53078 * normal/menu.c (DISP_LL): Renamed to ...
53079 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53080 * normal/menu.c (DISP_LR): Renamed to ...
53081 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53082 * normal/menu.c (TERM_WIDTH): Renamed to ...
53083 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53084 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53085 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53086 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53087 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53088 * normal/menu.c (TERM_MARGIN): Renamed to ...
53089 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53090 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53091 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53092 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53093 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53094 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53095 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53096 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53097 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53098 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53099 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53100 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53101 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53102 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53103 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53104 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53105 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53106 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53107 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53108 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53109 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53110 All callers changed.
53111
53112 * include/grub/normal.h: New prototype.
53113
53114 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53115 normal/menu_entry.c.
53116 (normal_mod_SOURCES): Likewise.
53117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53118 (normal_mod_SOURCES): Likewise.
53119
53120 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53121
53122 * include/grub/normal.h (grub_halt_init): New prototype.
53123 (grub_halt_fini): Likewise.
53124 (grub_reboot_init): Likewise.
53125 (grub_reboot_fini): Likewise.
53126
53127 * util/grub-emu.c: Include signal.h.
53128 (main_env): New global variable.
53129 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53130 catch C-c.
53131 (grub_machine_fini): New function.
53132 (main): Call grub_halt_init and grub_reboot_init before
53133 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53134 Call setjmp with MAIN_ENV to go back afterwards.
53135 Call grub_machine_fini right before return.
53136
53137 * include/grub/util/misc.h: Include setjmp.h.
53138 (main_env): New prototype.
53139
53140 * include/grub/kernel.h (grub_machine_fini): New prototype.
53141 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53142 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53143
53144 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53145 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53146 * term/i386/pc/console.c (grub_console_fini): Likewise.
53147
53148 * util/i386/pc/misc.c: New file.
53149
53150 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53151 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53152 commands/i386/pc/reboot.c.
53153
53154 2005-02-14 Guillem Jover <guillem@hadrons.org>
53155
53156 * include/grub/dl.h (grub_dl_check_header): New prototype.
53157 (grub_arch_dl_check_header): Change return type to grub_err_t,
53158 remove size parameter and export function. Update all callers.
53159 * kern/dl.c (grub_dl_check_header): New function.
53160 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53161 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53162 are inside the core.
53163 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53164 independent ELF header checks.
53165 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53166 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53167 `grub_dl_check_header' instead of explicit checks. Check for the
53168 ELF type.
53169 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53170 `grub_dl_check_header' instead of explicit checks. Remove arch
53171 specific ELF header checks.
53172
53173 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53174 argument SIZE.
53175
53176 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53177
53178 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53179 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53180
53181 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53182
53183 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
53184 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
53185 (part_map_iterate): Clear `grub_errno' and return 0 if
53186 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
53187 * partmap/amiga.c (amiga_partition_map_iterate): Return
53188 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53189 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53190
53191 2005-02-01 Guillem Jover <guillem@hadrons.org>
53192
53193 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53194 help info.
53195
53196 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53197
53198 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53199 Removed prototype.
53200 (grub_rescue_cmd_linux): New prototype.
53201 (grub_rescue_cmd_initrd): Likewise.
53202 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53203 `bi_rec'.
53204 (grub_linux_release_mem): Release the memory for the initrd.
53205 (grub_load_linux): Renamed from this...
53206 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53207 Changed `entry' not to be static. Loop over memory regions to
53208 find another one when the default fails.
53209 (grub_rescue_cmd_initrd): New function.
53210 (grub_linux_init): Remove function.
53211 (grub_linux_fini): Likewise.
53212 (GRUB_MOD_INIT): Register `initrd'.
53213 (GRUB_MOD_FINI): Unregister `initrd'.
53214 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53215 Function removed.
53216 (grub_linux_normal_fini): Likewise.
53217 (GRUB_MOD_INIT): Register `initrd'.
53218 (GRUB_MOD_FINI): Unregister `initrd'.
53219
53220 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53221
53222 * commands/help.c: New file.
53223 * normal/arg.c (show_help): Renamed to...
53224 (grub_arg_show_help): ... this.
53225 * commands/i386/pc/halt.c: New file.
53226 * commands/i386/pc/reboot.c: Likewise.
53227 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53228 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53229 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53230 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53231 variables.
53232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53233 `commands/help.c'.
53234 (pkgdata_MODULES): Add `help.mod'.
53235 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53236 * grub/i386/pc/init.h (grub_reboot): New prototype.
53237 (grub_halt): Likewise.
53238 * include/grub/normal.h (grub_arg_show_help): New prototype.
53239 (grub_help_init): Likewise.
53240 (grub_help_fini): Likewise.
53241 * util/grub-emu.c (main): Initialize and deinitialize the help
53242 command.
53243
53244 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53245
53246 * normal/command.c (grub_command_init): Fixed the description of
53247 the `set' and `unset' commands.
53248
53249 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53250
53251 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53252 function.
53253 * commands/ieee1275/halt.c: New file.
53254 * commands/ieee1275/reboot.c: Likewise.
53255 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53256 `__attribute__ ((unused))'. Some GCS related fixed.
53257 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53258 (grub_suspend_fini): Likewise.
53259 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53260 and `halt.mod'.
53261 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53262 (halt_mod_CFLAGS): New variables.
53263 * include/grub/powerpc/ieee1275/ieee1275.h
53264 (grub_ieee1275_interpret): New prototype.
53265
53266 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53267
53268 * include/grub/misc.h (memmove): New prototype.
53269 (memcpy): Likewise.
53270
53271 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53272
53273 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53274 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53275
53276 2005-01-22 Marco Gerards <metgerards@student.han.nl>
53277
53278 * kern/misc.c (grub_strndup): Function rewritten.
53279
53280 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53281
53282 * normal/menu.c (TERM_WIDTH): Macro redefined.
53283 (TERM_TOP_BORDER_Y): Likewise.
53284 (draw_border): Replaced while-loop by a for-loop. Make the number
53285 of lines consistent with the number of lines displayed in
53286 print_entries. Added a margin below the rectangle.
53287 (print_entry): Make the entry fit in the rectangle.
53288 (print_entries): Display the scroll arrows next to the right
53289 border.
53290
53291 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53292
53293 * fs/minix.c (grub_minix_find_file): Reserve more space for
53294 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53295 `grub_strncpy' to copy `path' into it.
53296
53297 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53298
53299 Add the loopback device, a device via which files can be accessed
53300 as devices.
53301
53302 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53303 (pkgdata_MODULES): Add loopback.mod.
53304 (loopback_mod_SOURCES): New variable.
53305 (loopback_mod_CFLAGS): Likewise.
53306 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53307 `disk/loopback.c'.
53308 (pkgdata_MODULES): Add loopback.mod.
53309 (loopback_mod_SOURCES): New variable.
53310 (loopback_mod_CFLAGS): Likewise.
53311 * disk/loopback.c: new file.
53312 * include/grub/normal.h (grub_loop_init): New prototype.
53313 (grub_loop_fini): New prototype.
53314 * util/grub-emu.c (main): Initialize and de-initialize loopback
53315 support.
53316 * include/grub/disk.h (grub_disk_dev_id): Add
53317 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53318
53319 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53320
53321 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53322 function.
53323 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53324 (suspend_mod_SOURCES): New variable.
53325 (suspend_mod_CFLAGS): Likewise.
53326 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53327 New prototype.
53328 * commands/ieee1275/suspend.c: New file.
53329
53330 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53331
53332 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
53333 ((unused))' to `__attribute__ ((used))'.
53334 (GRUB_MOD_FINI): Likewise.
53335 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53336 * genmk.rb (PModule): Assign space to common symbols when linking
53337 modules.
53338
53339 2005-01-20 Marco Gerards <metgerards@student.han.nl>
53340
53341 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53342 `unsigned' arguments to `grub_size_t'.
53343 (grub_malloc): Likewise.
53344 (grub_realloc): Likewise.
53345 (grub_memalign): Likewise.
53346 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53347 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53348 * util/misc.c (grub_malloc): Likewise.
53349 (grub_realloc): Likewise.
53350 * kern/mm.c (get_header_from_pointer): Change the casts to
53351 `unsigned' into a cast to `grub_size_t'.
53352
53353 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53354 point to `currnode' when `currnode' is changed.
53355
53356 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53357 Schottelius <nico-linux@schottelius.org>.
53358
53359 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53360
53361 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53362 (note_path): Remove variable.
53363 (GRUB_IEEE1275_NOTE_NAME): New macro.
53364 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53365 (grub_ieee1275_note_hdr): New structure.
53366 (grub_ieee1275_note_desc): Likewise.
53367 (grub_ieee1275_note): Likewise.
53368 (load_note): Remove `dir' argument. All callers updated. Remove
53369 `note_img' and `path'. Do not load a file from `note_path'.
53370 Initialize a struct grub_ieee1275_note and write that to `out'.
53371 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53372
53373 2005-01-05 Marco Gerards <metgerards@student.han.nl>
53374
53375 * util/misc.c (grub_util_read_image): Revert last change. It
53376 called `grub_util_read_at', which seeks from the beginning of the
53377 file.
53378
53379 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53380
53381 * TODO: Add note about endianness in grub-mkimage.
53382 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53383 section.
53384 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53385 (grub_mkimage_SOURCES): New target.
53386 * include/grub/kernel.h (grub_start_addr): Remove variable.
53387 (grub_end_addr): Likewise.
53388 (grub_total_module_size): Likewise.
53389 (grub_kernel_image_size): Likewise.
53390 (GRUB_MODULE_MAGIC): New constant.
53391 (grub_module_info): New structure.
53392 (grub_arch_modules_addr): New prototype.
53393 (grub_get_end_addr): Remove prototype.
53394 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53395 * include/grub/powerpc/ieee1275/kernel.h: New file.
53396 * include/grub/util/misc.h (grub_util_get_fp_size): New
53397 prototype.
53398 (grub_util_read_at): Likewise.
53399 (grub_util_write_image_at): Likewise.
53400 * kern/main.c (grub_get_end_addr): Remove function.
53401 (grub_load_modules): Call grub_arch_modules_addr instead of using
53402 grub_end_addr. Look for a grub_module_info struct in memory. Use
53403 the grub_module_info fields instead of calling grub_get_end_addr
53404 as loop conditions. Move grub_add_unused_region code here.
53405 (grub_add_unused_region): Remove function.
53406 * kern/i386/pc/init.c: Include grub/cache.h.
53407 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53408 one call to add_mem_region.
53409 (grub_arch_modules_addr): New function.
53410 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53411 (grub_total_module_size): Likewise.
53412 Include grub/machine/kernel.h.
53413 (grub_arch_modules_addr): New function.
53414 * util/grub-emu.c (grub_end_addr): Remove variable.
53415 (grub_total_module_size): Likewise.
53416 (grub_arch_modules_addr): New function.
53417 * util/misc.c: Include unistd.h.
53418 (grub_util_get_fp_size): New function.
53419 (grub_util_read_at): Likewise.
53420 (grub_util_write_image_at): Likewise.
53421 (grub_util_read_image): Call grub_util_read_at.
53422 (grub_util_write_image): Call grub_util_write_image_at.
53423 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53424 additional memory in kernel_img for a struct grub_module_info.
53425 Fill in that grub_module_info.
53426 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53427
53428 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53429
53430 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53431 New function.
53432 * include/grub/powerpc/ieee1275/ieee1275.h
53433 (grub_ieee1275_milliseconds): New prototype.
53434 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53435 Change to 1000.
53436 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53437 grub_ieee1275_milliseconds.
53438
53439 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53440
53441 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53442 variable.
53443 (find_options): New function.
53444 (cmain): Call find_options.
53445 * include/grub/powerpc/ieee1275/ieee1275.h
53446 (grub_ieee1275_realmode): New extern variable.
53447 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53448 grub_map if grub_ieee1275_realmode is false.
53449
53450 2004-12-29 Marco Gerards <metgerards@student.han.nl>
53451
53452 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53453 lines are inserted and make it work like readline. Reported by
53454 Vincent Pelletier <subdino2004@yahoo.fr>.
53455
53456 2004-12-28 Marco Gerards <metgerards@student.han.nl>
53457
53458 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53459
53460 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53461 `kern/powerpc/cache.S'.
53462
53463 2004-12-27 Marco Gerards <metgerards@student.han.nl>
53464
53465 * genmk.rb: Handle the `Program' class in the main loop. Written
53466 by Johan Rydberg <jrydberg@gnu.org>.
53467 (Program): New class.
53468 (programs): New variable.
53469 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53470 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53471 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53472 (help_arch): Function removed.
53473 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53474 `powerpc/libgcc.h' and `loader.h'.
53475 (pkgdata_PROGRAMS): New variable.
53476 (sbin_UTILITIES): Variable removed.
53477 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53478 (grubof_SOURCES): Variable re-defined so it only includes the
53479 core functionality.
53480 (grubof_CFLAGS): Remove `-DGRUBOF'.
53481 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53482 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53483 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53484 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53485 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53486 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53487 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53488 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53489 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53490 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53491 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53492 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53493 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53494 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53495 (pc_mod_CFLAGS): New variables.
53496 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53497 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53498 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53499 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53500 Moved from here...
53501 * include/grub/i386/pc/init.h (grub_os_area_addr)
53502 (rub_os_area_size): ... to here.
53503 * include/grub/powerpc/ieee1275/ieee1275.h
53504 (grub_ieee1275_entry_fn): Export symbol.
53505 * include/grub/powerpc/ieee1275/init.h: New file.
53506 * include/grub/powerpc/libgcc.h: Likewise.
53507 * include/grub/cache.h: Likewise.
53508 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53509 <hollis@penguinppc.org>.
53510 * kern/dl.c: Include <grub/cache.h>.
53511 (grub_dl_flush_cache): New function.
53512 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53513 for this module.
53514 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53515 (grub_console_init): Removed prototypes.
53516 (grub_machine_init): Don't initialize the modules anymore.
53517 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53518 static.
53519 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53520 Macro undef removed.
53521 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53522 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53523 relocation `R_PPC_REL32'. Return an error when the relocation is
53524 unknown.
53525 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53526 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53527 * util/misc.c (grub_arch_sync_caches): Likewise.
53528
53529 2004-12-19 Marco Gerards <metgerards@student.han.nl>
53530
53531 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53532 `symlist.c', add `grubof_symlist.c'.
53533 (symlist.c): Variable removed.
53534 (grubof_HEADERS): Variable added.
53535 (grubof_symlist.c): New target.
53536 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53537 `kernel_img_HEADERS'.
53538 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53539 * kern/powerpc/dl.c: New file.
53540 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53541 Function removed.
53542 (grub_arch_dl_relocate_symbols): Likewise.
53543 (grub_register_exported_symbols): Likewise.
53544
53545 2004-12-13 Marco Gerards <metgerards@student.han.nl>
53546
53547 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53548 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53549 to fail instead. Reported by Vincent Pelletier
53550 <subdino2004@yahoo.fr>.
53551
53552 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53553 it is not allocated. Reported by Vincent Pelletier
53554 <subdino2004@yahoo.fr>.
53555
53556 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53557 output so the output looks better.
53558
53559 2004-12-04 Marco Gerards <metgerards@student.han.nl>
53560
53561 Modulize the partition map support and add support for the amiga
53562 partition map.
53563
53564 * commands/ls.c: Include <grub/partition.h> instead of
53565 <grub/machine/partition.h>.
53566 * kern/disk.c: Likewise.
53567 * kern/rescue.c: Likewise.
53568 * loader/i386/pc/chainloader.c: Likewise.
53569 * normal/cmdline.c: Likewise.
53570 * kern/powerpc/ieee1275/init.c: Likewise.
53571 (grub_machine_init): Call `grub_pc_partition_map_init',
53572 `grub_amiga_partition_map_init' and
53573 `grub_apple_partition_map_init'.
53574 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53575 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53576 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53577 `partition.h' and `pc_partition.h'.
53578 (grub_setup_SOURCES): Remove
53579 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53580 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53581 (grub_emu_SOURCES): Likewise.
53582 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53583 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53584 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53586 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53587 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53588 (grubof_SOURCES): Likewise.
53589 * disk/i386/pc/partition.c: File removed.
53590 * disk/powerpc/ieee1275/partition.c: Likewise.
53591 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53592 * include/grub/i386/pc/partition.h: Likewise.
53593 * kern/partition.c: New file.
53594 * partmap/amiga.c: Likewise.
53595 * partmap/apple.c: Likewise.
53596 * partmap/pc.c: Likewise.
53597 * include/grub/partition.h: Likewise..
53598 * include/grub/pc_partition.h: Likewise.
53599 * util/grub-emu.c: Include <grub/partition.h> instead of
53600 <grub/machine/partition.h>.
53601 (main): Call `grub_pc_partition_map_init',
53602 `grub_amiga_partition_map_init' and
53603 `grub_apple_partition_map_init' and deinitialize afterwards.
53604 * util/i386/pc/biosdisk.c: Include `#include
53605 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53606 `<grub/machine/partition.h>'.
53607 * util/i386/pc/grub-setup.c: Likewise.
53608 * util/i386/pc/biosdisk.c: Likewise.
53609 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53610 partition information in case of a PC partition.
53611 * util/i386/pc/grub-setup.c: Include `#include
53612 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53613 `<grub/machine/partition.h>'.
53614 (setup): Only access the PC specific partition information in case
53615 of a PC partition.
53616
53617 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
53618
53619 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53620 (grub_longjmp): Likewise.
53621 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53622 20.
53623 * normal/powerpc/setjmp.S: New file.
53624 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53625 `normal/powerpc/setjmp.S'.
53626 (grubof_CFLAGS): Add `-DGRUBOF'.
53627 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53628 [GRUB_UTIL && !GRUBOF].
53629
53630 2004-11-16 Marco Gerards <metgerards@student.han.nl>
53631
53632 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53633 property named `name'. Correctly handle the error returned by
53634 `grub_ieee1275_finddevice' if a device can not be opened.
53635
53636 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53637
53638 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53639 `actual' for negativity.
53640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53641 kern/fshelp.c.
53642
53643 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53644
53645 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53646 (PAGE_OFFSET): New macro.
53647 (CRTC_ADDR_PORT): Likewise.
53648 (CRTC_DATA_PORT): Likewise.
53649 (START_ADDR_HIGH_REGISTER): Likewise.
53650 (START_ADDR_LOW_REGISTER): Likewise.
53651 (GRAPHICS_ADDR_PORT): Likewise.
53652 (GRAPHICS_DATA_PORT): Likewise.
53653 (READ_MAP_REGISTER): Likewise.
53654 (INPUT_STATUS1_REGISTER): Likewise.
53655 (INPUT_STATUS1_VERTR_BIT): Likewise.
53656 (page): New variable.
53657 (wait_vretrace): New function.
53658 (set_read_map): Likewise.
53659 (set_start_address): Likewise.
53660 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53661 the right page.
53662 (check_vga_mem): Take the page into account.
53663 (write_char): Likewise.
53664 (write_cursor): Likewise.
53665 (scroll_up): Likewise. Copy the page to the page that is not
53666 shown and switch between both pages.
53667 (grub_vga_putchar): Fix off by one error.
53668 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53669 account.
53670
53671 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53672
53673 Add support for iso9660 (including rockridge).
53674
53675 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53676 (iso9660_mod_SOURCES): New variable.
53677 (iso9660_mod_CFLAGS): Likewise.
53678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53679 * include/grub/fs.h (grub_iso9660_init): New prototype.
53680 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53681 * fs/iso9660.c: New file.
53682
53683 * include/grub/misc.h (grub_strncat): New prototype.
53684 * kern/misc.c (grub_strncat): New function.
53685
53686 * fs/hfs.c (grub_hfs_mount): Translate the error
53687 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53688 * fs/jfs.c (grub_jfs_mount): Likewise.
53689 * fs/ufs.c (grub_ufs_mount): Likewise.
53690
53691 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53692
53693 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53694 which initialized BAT registers.
53695 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53696 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53697 Move from here...
53698 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53699 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53700 ... to here.
53701 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53702 (grub_mapclaim): Likewise.
53703 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53704 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53705 hand.
53706
53707 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53708
53709 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53710 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53711 -ffreestanding and -msoft-float.
53712
53713 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53714
53715 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53716 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53717 set in grub_ieee1275_flags.
53718
53719 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53720
53721 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53722 prototype.
53723 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53724 grub_console_init first.
53725 Change the memory range used for grub_ieee1275_claim and
53726 grub_mm_init_region.
53727 Print an error message if the claim fails.
53728 Include <grub/misc.h>.
53729
53730 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53731
53732 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53733 Call grub_children_iterate for device nodes of type `scsi',
53734 `ide', or `ata'.
53735 (grub_ofdisk_open): Remove manual device alias resolution.
53736 Fix memory leak when device cannot be opened.
53737 * include/grub/powerpc/ieee1275/ieee1275.h
53738 (grub_children_iterate): New prototype.
53739 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53740 New function.
53741 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53742 Return -1 if args.size was -1.
53743
53744 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53745
53746 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53747 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53748 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53749 Open Firmware's memory for it; claim memory from _start to _end.
53750 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53751 (_end): New extern.
53752 (_start): Zero BSS from __bss_start to _end.
53753 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53754 New extern.
53755 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53756
53757 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53758
53759 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53760 -1 if args.base was -1.
53761
53762 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53763
53764 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53765 escape sequence instead of a literal ^L. Also call
53766 grub_ofconsole_gotoxy.
53767
53768 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53769
53770 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53771 void * arguments to grub_addr_t. All callers updated. Also make
53772 the `result' argument optional.
53773 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53774 All callers updated.
53775
53776 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53777
53778 * commands/ls.c (grub_ls_list_files): Use the string following the
53779 initial ')', if present, as the filesystem path.
53780 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53781
53782 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53783
53784 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53785
53786 Make the source code of the menu interface more readable.
53787
53788 * normal/menu.c: Include grub/mm.h.
53789 (TERM_WIDTH): New macro.
53790 (TERM_HEIGHT): Likewise.
53791 (TERM_INFO_HEIGHT): Likewise.
53792 (TERM_MARGIN): Likewise.
53793 (TERM_SCROLL_WIDTH): Likewise.
53794 (TERM_TOP_BORDER_Y): Likewise.
53795 (TERM_LEFT_BORDER_X): Likewise.
53796 (TERM_BORDER_WIDTH): Likewise.
53797 (TERM_MESSAGE_HEIGHT): Likewise.
53798 (TERM_BORDER_HEIGHT): Likewise.
53799 (TERM_NUM_ENTRIES): Likewise.
53800 (TERM_FIRST_ENTRY_Y): Likewise.
53801 (TERM_ENTRY_WIDTH): Likewise.
53802 (TERM_CURSOR_X): Likewise.
53803 (draw_border): Use macros instead of magic numbers.
53804 (print_entry): Likewise.
53805 (print_entries): Likewise.
53806 (run_menu): Likewise. Also, handle the key 'e'.
53807 (run_menu_entry): Ignore empty command lines.
53808 (print_message): Added a new argument EDIT. If EDIT is true,
53809 print a different message.
53810 (init_page): Likewise.
53811 (edit_menu_entry): New function. Not implemented yet.
53812
53813 2004-09-17 Marco Gerards <metgerards@student.han.nl>
53814
53815 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53816 can be loaded from normal mode.
53817
53818 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53819 `multiboot.mod'.
53820 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53821 (multiboot_mod_CFLAGS): New variables.
53822 * loader/i386/pc/linux_normal.c: New file.
53823 * loader/i386/pc/multiboot_normal.c: Likewise.
53824
53825 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53826 attribute `unused'.
53827
53828 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53829 `fdiro' to read the mode information from instead of `diro'.
53830
53831 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53832 looking up a symlink.
53833
53834 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53835 macro.
53836 * normal/command.c (grub_command_execute): Don't parse the
53837 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53838 flags of the command.
53839
53840 * normal/menu.c (grub_menu_run): Fix typo.
53841
53842 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53843
53844 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53845
53846 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53847 `y + 1' instead of `y - 1'.
53848
53849 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
53850
53851 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53852
53853 From Hollis Blanchard <hollis@penguinppc.org>:
53854 * kern/misc.c (memmove): New alias for grub_memmove.
53855 (memcmp): New alias for grub_memcmp.
53856 (memset): New alias for grub_memset.
53857 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53858 Change "int handle" to "grub_ieee1275_phandle_t handle".
53859 * include/grub/powerpc/ieee1275/ieee1275.h
53860 (grub_ieee1275_get_property): Likewise.
53861
53862 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53863
53864 Added normal mode command `chainloader' as module chain.mod, which
53865 depends on normal.mod and _chain.mod.
53866
53867 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53868 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53869 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53870 Deleted prototype.
53871 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53872 but arguments parsing moved to ...
53873 (grub_chainloader_cmd): ... here. New function.
53874 * include/grub/i386/pc/chainloader.h: New file.
53875 * loader/i386/pc/chainloader_normal.c: Likewise.
53876
53877 2004-09-11 Marco Gerards <metgerards@student.han.nl>
53878
53879 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53880 (grub_mkimage_LDFLAGS): Likewise.
53881 (grub_emu_SOURCES): Likewise.
53882 (kernel_img_HEADERS): Added fshelp.h.
53883 * fs/ext2.c: Include <grub/fshelp.h>.
53884 (FILETYPE_REG): New macro.
53885 (FILETYPE_INO_REG): Likewise.
53886 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53887 Changed all users.
53888 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53889 all users.
53890 (grub_fshelp_node): New struct.
53891 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53892 to a pointer.
53893 (grub_ext2_get_file_block): Removed function.
53894 (grub_ext2_read_block): New function.
53895 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53896 This function was written.
53897 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53898 (grub_ext2_find_file): Removed function.
53899 (grub_ext2_read_symlink): New function.
53900 (grub_ext2_iterate_dir): Likewise.
53901 (grub_ext2_open): Rewritten.
53902 (grub_ext2_dir): Rewritten.
53903 * include/grub/fshelp.h: New file.
53904 * fs/fshelp.c: Likewise.
53905
53906 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53907
53908 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53909 (print_message): Add a missing newline.
53910 (run_menu): Added timeout support.
53911 (run_menu_entry): New local function.
53912 (grub_menu_run): Added support for booting.
53913
53914 * kern/loader.c (grub_loader_is_loaded): New function.
53915
53916 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53917 (grub_get_rtc): Exported.
53918
53919 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53920 (grub_get_rtc): Exported.
53921
53922 * include/grub/normal.h (struct grub_command_list): Remove
53923 constant from the member `command'.
53924
53925 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53926
53927 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53928
53929 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53930
53931 2004-08-28 Marco Gerards <metgerards@student.han.nl>
53932
53933 Add support for the JFS filesystem.
53934
53935 * fs/jfs.c: New file.
53936 * include/grub/fs.h (grub_jfs_init): New prototype.
53937 (grub_jfs_fini): New prototype.
53938 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53939 (grub_emu_SOURCES): Likewise.
53940 (pkgdata_MODULES): Add jfs.mod.
53941 (jfs_mod_SOURCES): New variable.
53942 (jfs_mod_CFLAGS): Likewise.
53943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53944 (grubof_SOURCES): Likewise.
53945 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53946
53947 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53948 endian to the host endian.
53949 (grub_fat_utf16_to_utf8): Move function from there...
53950 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
53951 the endianness of the source string anymore.
53952 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53953
53954 2004-08-24 Marco Gerards <metgerards@student.han.nl>
53955
53956 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53957 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53958 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53959 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
53960
53961 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53962 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53963 for `node_found' and `it_dir'.
53964 (grub_hfs_dir): Add prototype for `dir_hook'.
53965
53966 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53967 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53968 and `indir32' to silence a gcc warning.
53969
53970 * include/grub/fs.h (grub_hfs_init): New prototype.
53971 (grub_hfs_fini): Likewise.
53972
53973
53974 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
53975
53976 Each disk device has its own id now. This is useful to make use
53977 of multiple disk devices.
53978
53979 * include/grub/disk.h (grub_disk_dev_id): New enum.
53980 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
53981 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
53982
53983 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
53984 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53985
53986 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
53987 GRUB_DISK_DEVICE_OFDISK_ID as an id.
53988
53989 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
53990 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
53991
53992 * include/grub/disk.h (struct grub_disk_dev): Added a new member
53993 "id" which is used by the cache manager.
53994
53995 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
53996 of just "GRUB".
53997
53998 2004-08-18 Marco Gerards <metgerards@student.han.nl>
53999
54000 * fs/hfs.c: New file.
54001 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54002 (grub_emu_SOURCES): Likewise.
54003 (pkgdata_MODULES): Add hfs.mod.
54004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54005 (grubof_SOURCES): Likewise.
54006 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54007
54008 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54009 * kern/misc.c (grub_strncasecmp): Add function.
54010
54011 2004-08-14 Marco Gerards <metgerards@student.han.nl>
54012
54013 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54014 with parentheses.
54015
54016 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54017 (grub_ext2_dir): In case the directory entry type is unknown, read
54018 it from the inode.
54019
54020 2004-08-02 Peter Bruin <pjbruin@dds.nl>
54021
54022 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54023 grub_load_linux instead of grub_rescue_cmd_linux as second
54024 argument of grub_rescue_register_command.
54025
54026 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54027
54028 2004-07-27 Marco Gerards <metgerards@student.han.nl>
54029
54030 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54031 function.
54032 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54033 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54034 `loader/powerpc/ieee1275/linux.c',
54035 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54036 * include/grub/powerpc/ieee1275/ieee1275.h
54037 (grub_ieee1275_release): New prototype.
54038 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54039 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54040 normal, boot, linux and linux_normal.
54041 * loader/powerpc/ieee1275/linux.c: New file.
54042 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54043
54044 2004-07-12 Marco Gerards <metgerards@student.han.nl>
54045
54046 * normal/arg.c (grub_arg_parse): Correct error handling after
54047 reallocating the argumentlist (check if `argl' is not null instead
54048 of checking if `args' is not null).
54049 * kern/mm.c (grub_realloc): Return the same pointer when using the
54050 same region, instead of returning the header address.
54051
54052 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54053
54054 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54055 one block instead of two when looking for the initial partition.
54056 (grub_partition_probe): Initialize the local variable `p' with 0.
54057 Use base 10 for the grub_strtoul call.
54058 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54059 need for one local variable.
54060 (grub_strtoul): Don't add the new value to `num', instead of that
54061 just assign it.
54062
54063 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54064
54065 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54066 (pxeboot_img_SOURCES): New variable.
54067 (pxeboot_img_ASFLAGS): Likewise.
54068 (pxeboot_img_LDFLAGS): Likewise.
54069 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54070 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54071 <lode_leroy@hotmail.com>.
54072
54073 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54074
54075 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54076 there was no input.
54077
54078 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54079
54080 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54081 the history buffer logic.
54082
54083 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54084
54085 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54086 (FILETYPE_INO_SYMLINK): New macros.
54087 (grub_ext2_find_file): Check if the node is a directory using the
54088 inode stat information instead of using the filetype in the
54089 dirent. Exclude the first character of an absolute symlink.
54090 (grub_ext2_dir): Mask out the filetype part of the mode member of
54091 the inode.
54092
54093 2004-05-24 Marco Gerards <metgerards@student.han.nl>
54094
54095 Add support for UFS version 1 and 2. Add support for the minix
54096 filesystem version 1 and 2, both the variants with 14 and 30 long
54097 filenames.
54098
54099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54100 fs/minix.c.
54101 (grub_emu_SOURCES): Likewise.
54102 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54103 (ufs_mod_SOURCES): New variable.
54104 (ufs_mod_CFLAGS): Likewise.
54105 (minix_mod_SOURCES): Likewise.
54106 (minix_mod_CFLAGS): Likewise.
54107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54108 fs/minix.c.
54109 (grubof_SOURCES): Likewise.
54110 * fs/ufs.c: New file.
54111 * fs/minix.c: New file.
54112 * include/grub/fs.h (grub_ufs_init): New prototype.
54113 (grub_ufs_fini): Likewise.
54114 (grub_minix_init): Likewise.
54115 (grub_minix_fini): Likewise.
54116 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54117 minix fs.
54118
54119 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54120
54121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54122 commands/ls.c, commands/terminal.c, commands/boot.c,
54123 commands/cmp.c and commands/cat.c.
54124 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54125
54126 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54127 "env.h"
54128
54129 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54130
54131 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54132 and grub_, respectively. Because the conversion is trivial and
54133 mechanical, I omit the details here. Please refer to the CVS
54134 if you need more information.
54135
54136 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54137
54138 * include/pupa: Renamed to ...
54139 * include/grub: ... this.
54140 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54141 * util/i386/pc/grub-mkimage.c: ... this.
54142 * util/i386/pc/pupa-setup.c: Renamed to ...
54143 * util/i386/pc/grub-setup.c: ... this.
54144 * util/pupa-emu.c: Renamed to ...
54145 * util/grub-emu.c: ... this.
54146
54147 2004-03-29 Marco Gerards <metgerards@student.han.nl>
54148
54149 Add support for the newworld apple macintosh (PPC). This has been
54150 tested on the powerbook 2000 only. It only adds support for
54151 generic ieee1275 functions, console and disk support. This should
54152 be easy to port to other architectures with support for Open
54153 Firmware.
54154
54155 * configure.ac: Accept the powerpc as host_cpu. In the case of
54156 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54157 specific tests are only executed while building for the i386.
54158 Inverse test for crosscompile.
54159 * genmk.rb (Utility): Allow assembler files.
54160 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54161 * conf/powerpc-ieee1275.rmk: New file.
54162 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54163 * disk/powerpc/ieee1275/partition.c: Likewise.
54164 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54165 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54166 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54167 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54168 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54169 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54170 * include/pupa/powerpc/ieee1275/loader.h
54171 * include/pupa/powerpc/setjmp.h: Likewise.
54172 * include/pupa/powerpc/types.h: Likewise.
54173 * kern/powerpc/ieee1275/init.c: Likewise.
54174 * kern/powerpc/ieee1275/openfw.c: Likewise.
54175 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54176
54177 These files were written by Johan Rydberg
54178 (jrydberg@night.trouble.net) and I only modified them slightly.
54179
54180 * boot/powerpc/ieee1275/cmain.c: New file.
54181 * boot/powerpc/ieee1275/crt0.S: Likewise.
54182 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54183 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54184
54185 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54186
54187 * Makefile.in: Update copyright.
54188 * genmodsrc.sh: Likewise.
54189 * gensymlist.sh: Likewise.
54190 * term/i386/pc/vga.c: Indent correctly.
54191
54192 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54193 bugreporting address.
54194 * util/i386/pc/pupa-setup.c (usage): Likewise,
54195 (main): Call pupa_ext2_init and pupa_ext2_fini.
54196
54197 * fs/fat.c (log2): Renamed to ...
54198 (fat_log2): ... this.
54199 All callers changed.
54200 * kern/misc.c (memcpy): Alias to pupa_memmove.
54201 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54202 lvalue cast.
54203 * util/console.c (pupa_ncurses_fini): Return 0.
54204
54205 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54206 Move fail label here.
54207 [__GNU__]: Don't warn when using stat.
54208 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54209 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54210 long int. Use strtol instead of strtoul.
54211
54212 2004-03-14 Marco Gerards <metgerards@student.han.nl>
54213
54214 * commands/boot.c: New file.
54215 * commands/cat.c: Likewise.
54216 * commands/cmp.c: Likewise.
54217 * commands/ls.c: Likewise.
54218 * commands/terminal.c: Likewise.
54219 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54220 (pupa_register_command): Changed interface to match the new
54221 argument parser.
54222 (pupa_command_execute): Changed (almost rewritten) so it uses
54223 pupa_split_command. Added support for setting variables using the
54224 syntax `foo=bar'.
54225 (rescue_command): Changed to work with the new argument parser.
54226 (terminal_command): Moved from here to commands/terminal.c.
54227 (set_command): New function.
54228 (unset_command): New function.
54229 (insmod_command): New function.
54230 (rmmod_command): New function.
54231 (lsmod_command): New function.
54232 (pupa_command_init): Don't initialize the command terminal
54233 anymore. Initialize the commands set, unset, insmod, rmmod and
54234 lsmod.
54235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54236 (kernel_img_HEADERS): Add arg.h and env.h.
54237 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54238 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54239 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54240 normal/arg.c.
54241 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54242 terminal.mod.
54243 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54244 (boot_mod_SOURCES): New variable.
54245 (terminal_mod_SOURCES): Likewise.
54246 (ls_mod_SOURCES): Likewise.
54247 (cmp_mod_SOURCES): Likewise.
54248 (cat_mod_SOURCES): Likewise.
54249
54250 * normal/arg.c: New file.
54251 * kern/env.c: Likewise.
54252 * include/pupa/arg.h: Likewise.
54253 * include/pupa/env.h: Likewise.
54254 * font/manager.c (font_command): Changed to match argument parsing
54255 interface changes.
54256 (PUPA_MOD_INIT): Likewise.
54257 * hello/hello.c (pupa_cmd_hello): Likewise.
54258 (PUPA_MOD_INIT): Likewise.
54259 * include/pupa/disk.h: Include <pupa/device.h>.
54260 (pupa_print_partinfo): New prototype.
54261 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54262 (pupa_dl_get_prefix): Likewise.
54263 * include/pupa/misc.h: Include <pupa/err.h>.
54264 (pupa_isgraph): New prototype.
54265 (pupa_isdigit): Likewise.
54266 (pupa_split_cmdline): Likewise.
54267 * include/pupa/normal.h: Include <pupa/arg.h>.
54268 (pupa_command): Changed the prototype of the member `func' to
54269 match the argument parsing interface. Added member `options'.
54270 (pupa_register_command): Updated to match function.
54271 (pupa_arg_parse): New prototype.
54272 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54273 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54274 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54275 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54276 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54277 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54278 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54279 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54280 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54281 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54282 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54283 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54284 * kern/disk.c: Include <pupa/file.h>.
54285 (pupa_print_partinfo): New function.
54286 * kern/dl.c: Include <pupa/env.h>.
54287 (pupa_dl_dir): Variable removed.
54288 (pupa_dl_load): Use the environment variable `prefix' instead of
54289 the variable pupa_dl_dir.
54290 (pupa_dl_set_prefix): Function removed.
54291 (pupa_dl_get_prefix): Likewise.
54292 * kern/i386/pc/init.c: Include <pupa/env.h>.
54293 (pupa_machine_init): Use the environment variable `prefix' instead of
54294 using pupa_dl_set_prefix to set the prefix.
54295 * kern/main.c: Include <pupa/env.h>.
54296 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54297 using pupa_dl_get_prefix to get the prefix.
54298 * kern/misc.c: Include <pupa/env.h>.
54299 (pupa_isdigit): New function.
54300 (pupa_isgraph): Likewise.
54301 (pupa_ftoa): Likewise.
54302 (pupa_vsprintf): Added support for printing values of the type
54303 `double'. Make it possible to format variable output when using
54304 formatting like `%1.2%f'.
54305 (pupa_split_cmdline): New function.
54306 * kern/rescue.c: Include <pupa/env.h>.
54307 (next_word): Removed function.
54308 (pupa_rescue_cmd_prefix): Likewise.
54309 (pupa_rescue_cmd_set): New function.
54310 (pupa_rescue_cmd_unset): New function.
54311 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54312 split the command line instead of splitting it here. Added
54313 support for setting variables using the syntax `foo=bar'. Don't
54314 initialize the prefix command anymore. Initialized the set and
54315 unset commands.
54316 * normal/cmdline.c: Include <pupa/env.h>.
54317 (pupa_tab_complete): Added prototypes for print_simple_completion,
54318 print_partition_completion, add_completion, iterate_commands,
54319 iterate_dev, iterate_part and iterate_dir. Moved code to print
54320 partition information from here to kern/disk.c.
54321 (pupa_cmdline_run): Don't check if the function exists anymore.
54322 * normal/main.c: Include <pupa/env.h>.
54323 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54324 instead of using pupa_dl_get_prefix to get the prefix.
54325 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54326 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54327 warning.
54328 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54329 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54330 ((unused))' to silence a gcc warning.
54331 (pupa_vga_setcolor): Likewise.
54332 (debug_command): Changed to match argument parsing
54333 interface changes.
54334 * util/pupa-emu.c: Include <pupa/env.h>.
54335 (options): Added 0's for unused fields to silence a gcc warning.
54336 (argp): Likewise.
54337 (main): Use the environment variable `prefix' instead of using
54338 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54339 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54340 and terminal.
54341
54342 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54343 * util/misc.c: Include <malloc.h>.
54344 (pupa_malloc): Rewritten so errors are correctly reported.
54345 (pupa_realloc): Likewise.
54346 (pupa_memalign): Likewise.
54347 (pupa_mm_init_region): Declare unused variables with
54348 `__attribute__ ((unused))' to silence a gcc warning.
54349 * normal/i386/setjmp.S: Remove tab at the end of the file to
54350 silence a gcc warning.
54351 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54352 variables with `__attribute__ ((unused))' to silence a gcc
54353 warning.
54354 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54355 local variable i unsigned to silence a gcc warning.
54356
54357 * kern/term.c: Include <pupa/misc.h>.
54358 (pupa_more_lines): New variable.
54359 (pupa_more): Likewise.
54360 (pupa_putcode): When the pager is active pause at the end of every
54361 screen.
54362 (pupa_set_more): New function.
54363 * include/pupa/term.h (pupa_set_more): New prototype.
54364
54365
54366 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54367
54368 Now this project is GRUB 2 rather than PUPA. The location of
54369 the CVS repository was moved to GRUB's.
54370
54371 * configure.ac: Use bug-grub as the reporting address.
54372 Use GRUB instead of PUPA.
54373 Change the version number to 1.90.
54374
54375 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54376
54377 * genkernsyms.sh: Updated copyright information.
54378 * genmk.rb: Likewise.
54379 * genmodsrc.sh: Likewise.
54380 * gensymlist.sh: Likewise.
54381 * boot/i386/pc/boot.S: Likewise.
54382 * boot/i386/pc/diskboot.S: Likewise.
54383 * disk/i386/pc/biosdisk.c: Likewise.
54384 * disk/i386/pc/partition.c: Likewise.
54385 * font/manager.c: Likewise.
54386 * fs/ext2.c: Likewise.
54387 * fs/fat.c: Likewise.
54388 * include/pupa/boot.h: Likewise.
54389 * include/pupa/device.h: Likewise.
54390 * include/pupa/disk.h: Likewise.
54391 * include/pupa/dl.h: Likewise.
54392 * include/pupa/elf.h: Likewise.
54393 * include/pupa/err.h: Likewise.
54394 * include/pupa/file.h: Likewise.
54395 * include/pupa/font.h: Likewise.
54396 * include/pupa/fs.h: Likewise.
54397 * include/pupa/kernel.h: Likewise.
54398 * include/pupa/loader.h: Likewise.
54399 * include/pupa/misc.h: Likewise.
54400 * include/pupa/mm.h: Likewise.
54401 * include/pupa/net.h: Likewise.
54402 * include/pupa/normal.h: Likewise.
54403 * include/pupa/rescue.h: Likewise.
54404 * include/pupa/setjmp.h: Likewise.
54405 * include/pupa/symbol.h: Likewise.
54406 * include/pupa/term.h: Likewise.
54407 * include/pupa/types.h: Likewise.
54408 * include/pupa/i386/setjmp.h: Likewise.
54409 * include/pupa/i386/types.h: Likewise.
54410 * include/pupa/i386/pc/biosdisk.h: Likewise.
54411 * include/pupa/i386/pc/boot.h: Likewise.
54412 * include/pupa/i386/pc/console.h: Likewise.
54413 * include/pupa/i386/pc/init.h: Likewise.
54414 * include/pupa/i386/pc/kernel.h: Likewise.
54415 * include/pupa/i386/pc/linux.h: Likewise.
54416 * include/pupa/i386/pc/loader.h: Likewise.
54417 * include/pupa/i386/pc/memory.h: Likewise.
54418 * include/pupa/i386/pc/multiboot.h: Likewise.
54419 * include/pupa/i386/pc/partition.h: Likewise.
54420 * include/pupa/i386/pc/time.h: Likewise.
54421 * include/pupa/i386/pc/vga.h: Likewise.
54422 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54423 * include/pupa/util/getroot.h: Likewise.
54424 * include/pupa/util/misc.h: Likewise.
54425 * include/pupa/util/resolve.h: Likewise.
54426 * kern/device.c: Likewise.
54427 * kern/disk.c: Likewise.
54428 * kern/dl.c: Likewise.
54429 * kern/err.c: Likewise.
54430 * kern/file.c: Likewise.
54431 * kern/fs.c: Likewise.
54432 * kern/loader.c: Likewise.
54433 * kern/main.c: Likewise.
54434 * kern/misc.c: Likewise.
54435 * kern/mm.c: Likewise.
54436 * kern/rescue.c: Likewise.
54437 * kern/term.c: Likewise.
54438 * kern/i386/dl.c: Likewise.
54439 * kern/i386/pc/init.c: Likewise.
54440 * kern/i386/pc/lzo1x.S: Likewise.
54441 * kern/i386/pc/startup.S: Likewise.
54442 * loader/i386/pc/chainloader.c: Likewise.
54443 * loader/i386/pc/linux.c: Likewise.
54444 * loader/i386/pc/multiboot.c: Likewise.
54445 * normal/cmdline.c: Likewise.
54446 * normal/command.c: Likewise.
54447 * normal/main.c: Likewise.
54448 * normal/menu.c: Likewise.
54449 * normal/i386/setjmp.S: Likewise.
54450 * term/i386/pc/console.c: Likewise.
54451 * term/i386/pc/vga.c: Likewise.
54452 * util/console.c: Likewise.
54453 * util/genmoddep.c: Likewise.
54454 * util/misc.c: Likewise.
54455 * util/pupa-emu.c: Likewise.
54456 * util/resolve.c: Likewise.
54457 * util/unifont2pff.rb: Likewise.
54458 * util/i386/pc/biosdisk.c: Likewise.
54459 * util/i386/pc/getroot.c: Likewise.
54460 * util/i386/pc/pupa-mkimage.c: Likewise.
54461 * util/i386/pc/pupa-setup.c: Likewise.
54462
54463 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54464
54465 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54466 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54467 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54468 reading and reset it after reading.
54469 (pupa_ext2_close): Return PUPA_ERR_NONE.
54470
54471 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54472 Correct value.
54473 (struct linux_kernel_header): Add kernel_version and
54474 initrd_addr_max.
54475 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54476 pupa_file_read succeeds.
54477 (pupa_rescue_cmd_initrd): Implement.
54478
54479 2003-12-03 Marco Gerards <metgerards@student.han.nl>
54480
54481 * fs/ext2.c (pupa_ext2_label): New function.
54482 (pupa_ext2_fs): Added label.
54483 * fs/fat.c (pupa_fat_label): New function.
54484 (pupa_fat_fs): Added label.
54485 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54486
54487 * kern/misc.c (pupa_strndup): New function.
54488 * include/pupa/misc.h (pupa_strndup): New prototype.
54489
54490 * include/pupa/normal.h: Include <pupa/err.h>.
54491 (pupa_set_history): New prototype.
54492 (pupa_iterate_commands): New prototype.
54493 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54494 <pupa/disk.h>, <pupa/file.h>.
54495 (hist_size): New variable.
54496 (hist_lines): Likewise.
54497 (hist_end): Likewise.
54498 (hist_used): Likewise.
54499 (pupa_set_history): New function.
54500 (pupa_history_get): Likewise.
54501 (pupa_history_add): Likewise.
54502 (pupa_history_replace): Likewise.
54503 (pupa_tab_complete): Likewise.
54504 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54505 completion shows partitionnames while completing partitions, this
54506 feature was suggested by Jeff Bailey.
54507 * normal/command.c (pupa_iterate_commands): New function.
54508 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54509 (pupa_normal_init): Initialize history buffer.
54510 (PUPA_MOD_INIT): Likewise.
54511 (pupa_normal_fini): Free the history buffer.
54512 (PUPA_MOD_FINI): Likewise.
54513
54514 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54515 key.
54516
54517 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54518 * configure.ac [i386]: Check for regparam bug.
54519 (NESTED_FUNC_ATTR) [! i386]: Defined.
54520
54521 2003-11-17 Marco Gerards <metgerards@student.han.nl>
54522
54523 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54524 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54525 (pupa_emu_SOURCES): New variable.
54526 (pupa_emu_LDFLAGS): Likewise.
54527 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54528 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54529 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54530 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54531 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54532 (pupa_jmp_buf): New typedef.
54533 (pupa_setjmp) [PUPA_UTIL]: New macro.
54534 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54535 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54536 (pupa_refresh): New prototype.
54537 * include/pupa/util/getroot.h: New file.
54538 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54539 it.
54540 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54541 (pupa_rescue_cmd_cat): Likewise.
54542 (pupa_rescue_cmd_ls): Likewise.
54543 (pupa_rescue_cmd_testload): Likewise.
54544 (pupa_rescue_cmd_lsmod): Likewise.
54545 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54546 * normal/menu.c (run_menu): Likewise.
54547 * kern/term.c (pupa_cls): Likewise.
54548 (pupa_refresh): New function.
54549 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54550 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54551 * util/console.c: New file.
54552
54553 * util/i386/pc/getroot.c: New file.
54554 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54555 (pupa_putchar): New function.
54556 (pupa_refresh): Likewise.
54557 (xgetcwd): Function moved to ...
54558 (strip_extra_slashes): Likewise.
54559 (get_prefix): Likewise.
54560 * util/i386/pc/getroot.c: ... here.
54561 (find_root_device): Function moved and renamed to...
54562 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54563 Changed all callers.
54564 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54565 and renamed to...
54566 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54567 Changed all callers.
54568 * util/misc.c (pupa_memalign): New function.
54569 (pupa_mm_init_region): Likewise.
54570 (pupa_register_exported_symbols): Likewise.
54571 (pupa_putchar): Function removed.
54572 * util/pupa-emu.c: New file.
54573
54574 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54575
54576 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54577 (_multiboot_mod_SOURCES): New variable.
54578 (_multiboot_mod_CFLAGS): Likewise.
54579 * loader/i386/pc/multiboot.c: New file.
54580 * include/pupa/i386/pc/multiboot.h: Likewise.
54581 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54582 (pupa_multiboot_real_boot): New function.
54583 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54584 (pupa_multiboot_real_boot): New prototype.
54585 (pupa_rescue_cmd_multiboot): Likewise
54586 (pupa_rescue_cmd_module): Likewise.
54587
54588 * kern/loader.c (pupa_loader_set): Continue when
54589 pupa_loader_unload_func() fails.
54590 (pupa_loader_unset): New function.
54591 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54592
54593 * kern/misc.c (pupa_stpcpy): New function.
54594 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54595
54596 2003-11-12 Marco Gerards <metgerards@student.han.nl>
54597
54598 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54599 for available extensions.
54600
54601 * include/pupa/i386/pc/time.h: New file.
54602 * kern/disk.c: Include <pupa/machine/time.h>.
54603 (PUPA_CACHE_TIMEOUT): New macro.
54604 (pupa_last_time): New variable.
54605 (pupa_disk_open): Flush the cache when there was a timeout.
54606 (pupa_disk_close): Reset the timer.
54607 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54608 pupa_currticks.
54609 * util/misc.c: Include <sys/times.h>
54610 (pupa_get_rtc): New function.
54611
54612 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54613
54614 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54615 as blocks.
54616 (pupa_ext2_get_file_block): Use blocks member.
54617
54618 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54619 first block. Return -1 instead of pupa_errno on error.
54620
54621 2003-10-27 Marco Gerards <metgerards@student.han.nl>
54622
54623 * README: In the pupa-mkimage example use _chain instead of chain
54624 and ext2 instead of fat.
54625 * TODO: Replace ext2fs with jfs as an example. Add an item for
54626 adding journal playback for ext2fs.
54627 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54628 (pkgdata_MODULES): Added ext2.mod.
54629 (ext2_mod_SOURCES): New variable.
54630 (ext2_mod_CFLAGS): Likewise.
54631 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54632 * include/pupa/misc.h (pupa_strncpy): New prototype.
54633 (pupa_strcat): Likewise.
54634 (pupa_strncmp): Likewise.
54635 * kern/misc.c (pupa_strcat): Enable function.
54636 (pupa_strncpy): New function.
54637 (pupa_strncmp): Likewise.
54638 * fs/ext2.c: New file.
54639
54640 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54641 when the read failed before retrying.
54642 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54643 (_FILE_OFFSET_BITS): Likewise.
54644 * configure.ac: Added AC_SYS_LARGEFILE.
54645
54646 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54647
54648 * genmk.rb (PModule#rule): Make sure to get only symbol names
54649 from the output of nm.
54650 Reported by Robert Millan <rmh.grub@aybabtu.com>.
54651
54652 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54653
54654 I forgot to check in these changes for a long time. This adds
54655 incomplete support for VGA console, and this is still very
54656 buggy. Also, a lot of consideration is required for I18N,
54657 UNICODE, and VGA font issues. Therefore, assume that this is
54658 such that "better than nothing".
54659
54660 * font/manager.c: New file.
54661 * include/pupa/font.h: Likewise.
54662 * include/pupa/i386/pc/vga.h: Likewise.
54663 * term/i386/pc/vga.c: Likewise.
54664 * util/unifont2pff.rb: Likewise.
54665
54666 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54667 (pkgdata_MODULES): Added vga.mod and font.mod.
54668 (vga_mod_SOURCES): New variables.
54669 (vga_mod_CFLAGS): Likewise.
54670 (font_mod_SOURCES): Likewise.
54671 (font_mod_CFLAGS): Likewise.
54672
54673 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54674
54675 * include/pupa/term.h: Include pupa/err.h.
54676 (struct pupa_term): Added init and fini.
54677 Changed the argument of putchar to pupa_uint32_t.
54678
54679 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54680 (pupa_console_real_putchar): New prototype.
54681 (pupa_console_putchar): Removed.
54682 (pupa_console_checkkey): Exported.
54683 (pupa_console_getkey): Likewise.
54684
54685 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54686 characters.
54687
54688 * kern/term.c (pupa_term_set_current): Rewritten.
54689 (pupa_putchar): Likewise.
54690 (pupa_putcode): New function.
54691
54692 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54693 (pupa_console_real_putchar): ... this.
54694 (pupa_vga_set_mode): New function.
54695 (pupa_vga_get_font): Likewise.
54696
54697 * normal/command.c: Include pupa/term.h.
54698 (terminal_command): New function.
54699 (pupa_command_init): Register the command "terminal".
54700
54701 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54702 (DISP_UP): Likewise.
54703 (DISP_RIGHT): Likewise.
54704 (DISP_DOWN): Likewise.
54705 (DISP_HLINE): Likewise.
54706 (DISP_VLINE): Likewise.
54707 (DISP_UL): Likewise.
54708 (DISP_UR): Likewise.
54709 (DISP_LL): Likewise.
54710 (DISP_LR): Likewise.
54711
54712 * term/i386/pc/console.c (pupa_console_putchar): New function.
54713
54714 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54715
54716 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54717 FIX. Reverse the path_list.
54718
54719 * include/pupa/normal.h: Export pupa_register_command and
54720 pupa_unregister_command.
54721
54722 * hello/hello.c (pupa_cmd_hello): New module.
54723 * conf/i386-pc.rmk: Added hello.mod.
54724
54725 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54726
54727 * kern/i386/pc/lzo1x.S: New file.
54728
54729 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54730 (compress_kernel): New variable.
54731 (generate_image): Heavily modified to support compressing a
54732 large part of the core image.
54733
54734 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54735 leak.
54736 (pupa_util_load_image): New function.
54737
54738 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54739 (pupa_compressed_size): New variable.
54740 (codestart): Enable Gate A20 here.
54741 Decompress the compressed part of the core image.
54742 Rearrange the code to put functions and variables which are
54743 required for initialization in the non-compressed part.
54744 Include lzo1x.S.
54745
54746 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54747 here.
54748
54749 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54750
54751 * include/pupa/i386/pc/kernel.h
54752 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54753 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54754 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54755 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54756 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54757
54758 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54759
54760 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54761 (Utility#rule): Likewise.
54762
54763 * configure.ac: Check if LZO is available.
54764
54765 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54766
54767 * include/pupa/normal.h: New file.
54768 * include/pupa/setjmp.h: Likewise.
54769 * include/pupa/i386/setjmp.h: Likewise.
54770 * normal/cmdline.c: Likewise.
54771 * normal/command.c: Likewise.
54772 * normal/main.c: Likewise.
54773 * normal/menu.c: Likewise.
54774 * normal/i386/setjmp.S: Likewise.
54775
54776 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54777 (pupa_rescue_cmd_initrd): Likewise.
54778
54779 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54780 Likewise.
54781
54782 * kern/i386/pc/startup.S (translation_table): New variable.
54783 (translate_keycode): New function.
54784 (pupa_console_getkey): Call translate_keycode.
54785
54786 * kern/rescue.c (attempt_normal_mode): New function.
54787 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54788 it failed, print a message.
54789
54790 * kern/mm.c (pupa_real_malloc): Print more information when a
54791 free magic is broken.
54792 (pupa_free): If the first free header is not free actually, set
54793 it to P.
54794
54795 * kern/main.c (pupa_load_normal_mode): Just load the module
54796 "normal".
54797 (pupa_main): Don't print the message
54798 "Entering into rescue mode..." here.
54799
54800 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54801 Declared.
54802 (pupa_rescue_cmd_initrd): Likewise.
54803 (pupa_rescue_cmd_initrd): Likewise.
54804
54805 * include/pupa/symbol.h (FUNCTION): Specify the type.
54806 (VARIABLE): Likewise.
54807
54808 * include/pupa/err.h (pupa_err_t): Added
54809 PUPA_ERR_UNKNOWN_COMMAND.
54810
54811 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54812 (pupa_dl_get_prefix): Likewise.
54813
54814 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54815 Added _chain.mod and _linux.mod instead of chain.mod and
54816 linux.mod.
54817 (chain_mod_SOURCES): Renamed to ...
54818 (_chain_mod_SOURCES): ... this.
54819 (chain_mod_CFLAGS): Renamed to ...
54820 (_chain_mod_CFLAGS): ... this.
54821 (linux_mod_SOURCES): Renamed to ...
54822 (_linux_mod_SOURCES): ... this.
54823 (linux_mod_CFLAGS): Renamed to ...
54824 (_linux_mod_CFLAGS): ... this.
54825 (normal_mod_SOURCES): New variable.
54826 (normal_mod_CFLAGS): Likewise.
54827 (normal_mod_ASFLAGS): Likewise.
54828
54829 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54830
54831 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54832 possible.
54833
54834 * kern/dl.c (pupa_dl_ref): Refer depending modules
54835 recursively.
54836 (pupa_dl_unref): Unrefer depending modules recursively.
54837 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54838 a module is unloaded before one depending on that module is
54839 unloaded.
54840 (pupa_dl_unload): Unload depending modules explicitly,
54841 if possible.
54842
54843 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54844
54845 * include/pupa/i386/pc/linux.h: New file.
54846 * loader/i386/pc/linux.c: Likewise.
54847
54848 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54849 Removed.
54850 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54851 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54852 of PUPA_CHAINLOADER_BOOT_SECTOR.
54853
54854 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54855 (pupa_linux_prot_size): New variable.
54856 (pupa_linux_tmp_addr): Likewise.
54857 (pupa_linux_real_addr): Likewise.
54858 (pupa_linux_boot_zimage): New function.
54859 (pupa_linux_boot_bzimage): Likewise.
54860
54861 * kern/i386/pc/init.c (struct mem_region): New structure.
54862 (MAX_REGIONS): New macro.
54863 (mem_regions): New variable.
54864 (num_regions): Likewise.
54865 (pupa_os_area_addr): Likewise.
54866 (pupa_os_area_size): Likewise.
54867 (pupa_lower_mem): Likewise.
54868 (pupa_upper_mem): Likewise.
54869 (add_mem_region): New function.
54870 (compact_mem_regions): Likewise.
54871 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54872 the size of the conventional memory and that of so-called upper
54873 memory (before the first memory hole).
54874 Instead of adding each found region to free memory, use
54875 add_mem_region and add them after removing overlaps.
54876 Also, add only 1/4 of the upper memory to free memory. The rest
54877 is used for loading OS images. Maybe this is ad hoc, but this
54878 makes it much easier to relocate OS images when booting.
54879
54880 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54881 (pupa_enter_rescue_mode): Don't register initrd and module.
54882
54883 * kern/mm.c: Include pupa/dl.h.
54884
54885 * kern/main.c: Include pupa/file.h and pupa/device.h.
54886
54887 * kern/loader.c (pupa_loader_load_module_func): Removed.
54888 (pupa_loader_load_module): Likewise.
54889
54890 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54891 ``.o''.
54892
54893 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54894 (pupa_linux_tmp_addr): Likewise.
54895 (pupa_linux_real_addr): Likewise.
54896 (pupa_linux_boot_zimage): Likewise.
54897 (pupa_linux_boot_bzimage): Likewise.
54898
54899 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54900 (pupa_upper_mem): Likewise.
54901 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54902 module is too dangerous.
54903
54904 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54905 (pupa_os_area_size): Likewise.
54906 (pupa_loader_set): Remove the first argument. Loader doesn't
54907 manage modules or initrd any longer.
54908 (pupa_loader_load_module): Removed.
54909
54910 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54911 (linux_mod_SOURCES): New variable.
54912 (linux_mod_CFLAGS): Likewise.
54913
54914 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54915
54916 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54917 the length of a blocklist correctly.
54918
54919 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54920 Use ioctl only if the OS file is a block device.
54921 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54922 not very useful for normal files.
54923
54924 * kern/main.c (pupa_set_root_dev): New function.
54925 (pupa_load_normal_mode): Likewise.
54926 (pupa_main): Call those above.
54927
54928 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54929 pupa_uint16_t.
54930
54931 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54932
54933 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54934
54935 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54936 (setup): Configure the installed partition information and the
54937 dl prefix.
54938
54939 * loader/i386/pc/chainloader.c (my_mod): New variable.
54940 (pupa_chainloader_unload): New function.
54941 (pupa_rescue_cmd_chainloader): Refer itself.
54942 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54943
54944 * kern/i386/pc/startup.S (install_partition): Removed.
54945 (version_string): Likewise.
54946 (config_file): Likewise.
54947 (pupa_install_dos_part): New variable.
54948 (pupa_install_bsd_part): Likewise.
54949 (pupa_prefix): Likewise.
54950 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54951
54952 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54953 and pupa/misc.h.
54954 (make_install_device): New function.
54955 (pupa_machine_init): Set the dl prefix.
54956
54957 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54958 (buf): Renamed to ...
54959 (linebuf): ... this.
54960 (pupa_rescue_cmd_prefix): New function.
54961 (pupa_rescue_cmd_insmod): Likewise.
54962 (pupa_rescue_cmd_rmmod): Likewise.
54963 (pupa_rescue_cmd_lsmod): Likewise.
54964 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54965 rmmod and lsmod.
54966
54967 * kern/mm.c (pupa_memalign): If failed even after invalidating
54968 disk caches, unload unneeded modules and retry.
54969
54970 * kern/misc.c (pupa_memmove): New function.
54971 (pupa_memcpy): Removed.
54972 (pupa_strcpy): New function.
54973 (pupa_itoa): Made static.
54974
54975 * kern/dl.c (pupa_dl_iterate): New function.
54976 (pupa_dl_ref): Likewise.
54977 (pupa_dl_unref): Likewise.
54978 (pupa_dl_unload): Return if succeeded or not.
54979 (pupa_dl_unload_unneeded): New function.
54980 (pupa_dl_unload_all): Likewise.
54981 (pupa_dl_init): Renamed to ...
54982 (pupa_dl_set_prefix): ... this.
54983 (pupa_dl_get_prefix): New function.
54984
54985 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
54986 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
54987 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54988 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54989 (pupa_install_dos_part): Declared.
54990 (pupa_install_bsd_part): Likewise.
54991 (pupa_prefix): Likewise.
54992 (pupa_boot_drive): Likewise.
54993
54994 * include/pupa/types.h: Fix a typo.
54995
54996 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
54997 pupa_memmove.
54998 (pupa_memmove): Declared.
54999 (pupa_strcpy): Likewise.
55000
55001 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55002 pupa_mod_init takes one argument, its own module.
55003 (pupa_dl_unload_unneeded): Declared.
55004 (pupa_dl_unload_all): Likewise.
55005 (pupa_dl_ref): Likewise.
55006 (pupa_dl_unref): Likewise.
55007 (pupa_dl_iterate): Likewise.
55008 (pupa_dl_init): Renamed to ...
55009 (pupa_dl_set_prefix): ... this.
55010 (pupa_dl_get_prefix): Declared.
55011
55012 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
55013 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
55014 unloaded.
55015 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55016 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55017
55018 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55019 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55020
55021 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55022
55023 * util/i386/pc/pupa-setup.c (setup): Define the internal
55024 function find_first_partition_start at the top level, because GCC
55025 3.0.x cannot compile internal functions in deeper scopes
55026 correctly.
55027 (find_root_device): Use lstat instead of stat.
55028 Don't follow symbolic links.
55029 Fix the path-constructing code.
55030
55031 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55032 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55033 by a BLKGETSIZE ioctl first, because block devices don't fill
55034 the member st_mode of the structure stat on Linux.
55035 [__linux__] (linux_find_partition): Use a temporary buffer
55036 REAL_DEV for the working space. Copy it to DEV before returning.
55037 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55038 buffer cache consistent.
55039 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55040 strncmp. The previous value was merely wrong.
55041 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55042
55043 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55044 FAT size is 12. The previous value was merely wrong.
55045
55046 * kern/main.c (pupa_main): Don't split the starting message from
55047 newlines.
55048
55049 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55050 LF, because BIOS goes crazy about character attributes in this
55051 case.
55052
55053 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55054
55055 * include/i386/pc/util/biosdisk.h: New file.
55056 * util/i386/pc/biosdisk.c: Likewise.
55057 * util/i386/pc/pupa-setup.c: Likewise.
55058
55059 * Makefile.in (INCLUDE_DISTFILES): Added
55060 include/pupa/i386/pc/util/biosdisk.h.
55061 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55062 directory util/i386/pc.
55063 (install-local): Added a rule for sbin_UTILITIES.
55064 (uninstall): Likewise.
55065
55066 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55067
55068 * util/misc.c (xrealloc): New function.
55069 (pupa_malloc): Likewise.
55070 (pupa_free): Likewise.
55071 (pupa_realloc): Likewise.
55072 (pupa_stop): Likewise.
55073 (pupa_putchar): Likewise.
55074
55075 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55076
55077 * include/pupa/util/misc.h (xrealloc): Declared.
55078
55079 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55080 macro.
55081 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55082 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55083
55084 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55085 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55086
55087 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55088 way should be implemented.
55089 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55090
55091 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55092 the size of NAME for safety.
55093 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55094 0x88.
55095
55096 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55097 (pupa_setup_SOURCES): Likewise.
55098
55099 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55100
55101 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55102
55103 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55104 bunch of pushl's from pusha, because this destroys the return
55105 value.
55106
55107 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55108
55109 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55110 This means that any missing prototypes could be fatal. Also, you
55111 must take care when writing assembly code. See the comments at
55112 the beginning of startup.S, for more details.
55113
55114 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55115 compilation mechanism.
55116 (pupa_chainloader_real_boot): Likewise.
55117 (pupa_biosdisk_rw_int13_extensions): Likewise.
55118 (pupa_biosdisk_rw_standard): Likewise.
55119 (pupa_biosdisk_check_int13_extensions): Likewise.
55120 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55121 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55122 (pupa_get_memsize): Likewise.
55123 (pupa_get_mmap_entry): Likewise.
55124 (pupa_console_putchar): Likewise.
55125 (pupa_console_setcursor): Likewise.
55126 (pupa_getrtsecs): Use pushl instead of push.
55127
55128 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55129 memory instead of the stack for a mmap entry, because some
55130 BIOSes may ignore the maximum size and overflow.
55131
55132 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55133
55134 * genmk.rb (PModule#rule): Compile automatically generated
55135 sources with module-specific CFLAGS as well as other sources.
55136
55137 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55138
55139 * configure.ac: Check ld.
55140 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55141 respectively, before checking endianness and sizes.
55142
55143 * Makefile.in (LD): New variable.
55144
55145 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55146
55147 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55148
55149 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55150
55151 * Changelog: New file.
55152