]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
[grub2.git] / ChangeLog
1 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4 mingw32 as well based on grub_util_get_disk_size.
5 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
6 grub_util_get_fd_size.
7 (sync): Removed.
8 (fsync): Moved to ...
9 * grub-core/kern/emu/misc.c (fsync): ... here.
10
11 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * include/grub/mm.h (grub_extend_alloc): Remove.
14 * grub-core/loader/i386/pc/plan9.c: Use own version of
15 grub_extend_alloc with appropriate types.
16
17 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
20
21 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * util/getroot.c: Include sys/wait.h only when we need waitpid.
24
25 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Fix dependencies on cygwin.
28
29 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
30 dependencies when used and defined.
31 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
32
33 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
36 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
37
38 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
41 implementation available to cause compile-time rather than runtime
42 error.
43
44 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * util/grub-fstest.c: Don't check for symlinks on windows.
47
48 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * INSTALL: Mention unavailability of man pages when cross-compiling.
51
52 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
55 and gcry_log_bug.
56 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
57
58 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * INSTALL: Document cross-compilation.
61 * acinclude.m4: Determine whether nm support -P and --defined-only.
62 * configure.ac: Add TARGET_ to all variables pertaining to target
63 that don't have it yet.
64 * gentpl.py: Likewise.
65 * grub-core/Makefile.am: Likewise.
66 * grub-core/genmod.sh.in: Likewise.
67 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
68 as well.
69
70 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
71
72 * configure.ac: Remove -Wempty-body. It's not essential and needs
73 recent gcc.
74
75 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
76
77 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
78 * util/getroot.c: Likewise.
79
80 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/disk/ahci.c: Add needed explicit cast.
83 * grub-core/lib/backtrace.c: Likewise.
84 * grub-core/net/ip.c: Likewise.
85 * grub-core/net/tcp.c: Likewise.
86 * grub-core/net/udp.c: Likewise.
87
88 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
91
92 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * util/import_gcry.py: Add final newline in visibility.h.
95
96 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * conf/Makefile.common: Fix typo.
99
100 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
103
104 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * Makefile.am (widthspec.h): Fix typo.
107 * util/grub-gen-widthspec.c: Likewise.
108
109 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
110
111 Move ascii.h and widthspec.h generation to a separate build-time-only
112 tool.
113
114 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
115
116 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
117 Always fill bootdisk info and improve check for NetBSD disklabel.
118
119 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * conf/Makefile.extra-dist: Add util/bin2h.c.
122 Reported by: floppym.
123
124 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
127
128 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * configure.ac: Disable unifont and starfield if no freetype was found.
131
132 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
135 on NetBSD and OpenBSD.
136
137 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
138
139 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
140
141 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
142
143 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
144 reduced. Inheritant options are processed during the theme loading.
145
146 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
147
148 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
149
150 2013-08-14 Avik Sil <aviksil@in.ibm.com>
151
152 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
153
154 2013-08-14 Avik Sil <aviksil@in.ibm.com>
155
156 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
157 using qemu.
158
159 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
160
161 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
162 remove-potcdate.sed.
163
164 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
165
166 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
167 unused attribute from pull argument.
168
169 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
170
171 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
172 memory leak.
173
174 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
175
176 * util/getroot.c (pull_lvm_by_command): add --separator option
177 to vgs call to disable padding of output to 10 characters.
178
179 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
182 here ...
183 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
184 here.
185
186 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
189 length.
190
191 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
192
193 Fix handling of build-time grub-bin2h and grub-mkfont when doing
194 full Canadian cross. Tested with build=x86_64, host=arm,
195 target=ppc-ieee1275.
196
197 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * configure.ac: Error if no $BUILD_CC could be found.
200 Reported by: DevHC.
201
202 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
205 i386-multiboot.
206
207 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
210 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
211
212 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
213
214 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
215 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
216 falling back to the partition device, otherwise a later call to this
217 function may fail spuriously.
218 Reported by Axel Beckert. Fixes Debian bug #708614.
219
220 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
221
222 * autogen.sh: Replace find -not by the POSIX-compliant find !.
223
224 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
225
226 Prevent shadowing of stdlib's devname(3) on BSD.
227
228 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
229 and devlast to diskname and disklast, respectively.
230
231 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
232
233 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
234
235 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
236
237 * docs/grub.texi: Introduce terminal window position options:
238 terminal-left: terminal window's left position
239 terminal-top: terminal window's top position
240 terminal-width: terminal window's width
241 terminal-height: terminal window's height
242 terminal-border: terminal window's border width
243 * grub-core/gfxmenu/theme-loader.c: Likewise.
244 * include/grub/gfxmenu_view.h: Likewise.
245 * po/exlude.pot: Likewise.
246 * grub-core/gfxmenu/view.c: Likewise.
247 Also updated minimal window size.
248 Also terminal_sanity_check function has been introduced.
249 * grub-core/tests/checksums.h: Update (terminal window height
250 is adjusted now for low resolution screen)
251
252 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
255 position).
256
257 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * po/exclude.pot: Add few recent exceptions.
260
261 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * tests/grub_func_test.in: Add unicode.pf2.
264
265 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
268 standard rather than noral color, in line with other terminals.
269
270 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
273 analysis.
274
275 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/loader/arm/linux.c: Change printf to dprintf.
278
279 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
282 inappropriate printf.
283
284 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
285
286 * .bzrignore: Remove grub-core/lib/dtc-grub,
287 grub-core/Makefile.libfdt.def
288 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
289
290 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * include/grub/video.h (grub_video_register): Keep double-linked as
293 well as single-linked invariants.
294 Reported by: qwertial.
295
296 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/commands/nativedisk.c (get_uuid): Handle
299 GRUB_DISK_DEVICE_UBOOTDISK_ID.
300
301 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
302
303 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
304 maximum of NW, N, NE heights instead of N's height and maximum of
305 NW, W, SW widths instead of W's width. (So the box will be always
306 correctly drawn)
307
308 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
309
310 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
311 Fix misuse of variable count.
312
313 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
314 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
315 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
316
317 New ports to arm-uboot and arm-efi.
318 Mostly by Leif Lindholm with some additions from
319 Francesco Lavra and cleanup by Vladimir Serbinenko.
320
321 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
324 and not before.
325 Reported by: Leon Drugi.
326
327 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
330 Reported by: Paulo Flabiano Smorigo.
331
332 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
333
334 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
335
336 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
337
338 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
339
340 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
343
344 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
347
348 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
349
350 * grub-core/net/bootp.c: Export net_* variables.
351 * grub-core/net/net.c: Likewise.
352
353 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
356
357 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
360
361 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
364
365 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
368
369 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
370
371 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
372 <= 0.
373
374 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
375
376 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
377 functions.
378
379 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
380
381 * grub-core/fs/zfs/zfs_lz4.c: New file.
382 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
383
384 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
385
386 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
387
388 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
389
390 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
391 (check_pool_label): Likewise.
392 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
393
394 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
395
396 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
397
398 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
399
400 * docs/grub.texi (Commands): Document postition parameters
401 for menuentry command.
402
403 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
404
405 * util/grub-mknetdir.in: Remove stray line from help output.
406
407 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
408
409 Remove early sm712 init as there is no reason for it (the "watchdog"
410 effect was due to wrong GPIO map).
411
412 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/commands/pcidump.c: Remove static variables.
415
416 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * grub-core/commands/sleep.c: Refresh screen before sleeping.
419
420 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * configure.ac: Move delimiter after the infos.
423
424 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
427
428 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
431 not filling whole 8x16 space.
432
433 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
436
437 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * configure.ac: Indicate which liblzma is used if any.
440
441 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
442 2013-06-21 Craig Sanders <savannah@taz.net.au>
443
444 * util/grub-reboot.in: Document submenu usage.
445
446 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
447
448 * .bzrignore: Update with a number of new test-related files.
449
450 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
451
452 * util/grub-script-check.c: Fail on scripts containing no
453 commands, to guard against corrupted grub-mkconfig setups that
454 produce no useful output.
455 * tests/grub_script_no_commands.in: New test.
456 * Makefile.util.def (grub_script_no_commands): Add.
457 Reported by Hans Putter. Fixes Debian bug #713886.
458
459 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
460
461 * grub-core/disk/diskfilter.c: Forgot to remove comment
462 from previous commit.
463
464 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
465
466 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
467 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
468
469 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
470
471 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
472
473 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
474
475 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
476 rescan diskfilter devices until nothing new is found.
477
478 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
479
480 Fix casts when compiling coreboot-specific code for 64-bit EFI.
481
482 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
483
484 Don't try to detect cbfs on *-emu.
485
486 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/term/gfxterm.c: USe right background color when scrolling.
489
490 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Add support for processed coreboot payload chainloading.
493
494 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
495
496 Enable coreboot information commands even when not loaded as
497 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
498
499 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
500
501 Support for cbfs. Also factor out the part which is common
502 for all archives to a separate module. This splits tar from cpio
503 as they are very different but keeps cpio, cpio_be, odc and newc
504 together since they're very similar.
505
506 2013-06-15 David Michael <fedora.dm0@gmail.com>
507
508 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
509 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
510
511 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * tests/grub_script_eval.in: Really add the eval test.
514
515 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
516
517 Move flavour-specific parts out of common cpio.c file and
518 rename remaining to cpio_common.c
519
520 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
521
522 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
523 off new function grub_script_execute_new_scope. Change callers to use
524 either of them as appropriate.
525 * grub-core/commands/eval.c: New command eval.
526 * docs/grub.texi (Commands): Document it.
527
528 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
529
530 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
531 to fetch values when listing.
532
533 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
534
535 Fix make dist on non-pc.
536
537 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
538
539 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
540 without a device name.
541
542 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
543
544 Remove enable_executable_check as it's not needed anymore.
545 Reported by: dougray.
546
547 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
550 ambigouos RAID before discovering RAIDs on top of it.
551 Reported by: bodom.
552
553 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Fix typo (failback vs fallback).
556
557 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
558
559 * util/grub.d/30_os-prober.in: Add support for probing EFI
560 System Partition (as of os-prober 1.58).
561
562 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * configure.ac: Add yet another path to unifont. For parabola.
565
566 2013-05-30 Josh Triplett <josh@joshtriplett.org>
567
568 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
569 handling to copy the killed characters to the kill buffer as
570 UCS4 stored as grub_uint32_t rather than as 8-bit characters
571 stored as char. Eliminates UCS4 truncation and corruption
572 observed when killing characters with Ctrl-u and yanking them
573 back with Ctrl-y.
574
575 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
576
577 Detach optional parts of gfxterm and integrate in with coreboot init.
578
579 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
580
581 Move blit and fill dispatcher to appropriate files to decrease export
582 and relocation overhead.
583
584 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/font/font.c, include/grub/font.h: Inline simple font
587 functions.
588
589 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/Makefile.am: Fix compilation problem with some
592 automake versions.
593
594 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
597
598 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
601 automake versions.
602
603 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
606 SSDT.
607
608 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
609
610 * grub-core/partmap/dfly.c: New partition map.
611
612 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
615 checking.
616 Reported by: Francesco Lavra.
617
618 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
619
620 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
621 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
622 false conditions.
623 * conf/Makefile.common: define dist_grubconf_DATA
624
625 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
626
627 Progressively skip menu elements on small terminals rather
628 than crashing.
629
630 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
633 to avoid losing last column.
634
635 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * po/exclude.pot: Add missing string "%C".
638
639 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
642 after the test.
643
644 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/grub-install.in: Gettextize "Not found" message.
647
648 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
649
650 Fix distfiles list.
651 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
652
653 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
654
655 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
656 present.
657 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
658
659 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
662
663 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
666 attribute since structure is not necessarily aligned.
667
668 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
669
670 * docs/grub.texi (Device syntax): Clarify description of network
671 drives.
672
673 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
676 for vasprintf presence.
677
678 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * util/grub-install.in: Handle efibootmgr presence check.
681 Reported by: Leif Lindholm.
682
683 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
686 new strings to translate.
687
688 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
691 yet another string (pun intended) to translate.
692
693 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * po/POTFILES-shell.in: Autogenerate it.
696
697 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
700
701 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
704 misnomer.
705
706 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
707
708 * docs/grub.texi (Network): Add description of net_default_interface,
709 net_default_ip and net_default_mac. Rewrite variables description
710 to emphasize that they are per-interface.
711
712 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
713
714 New test: cmdline and cat.
715
716 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/commands/cat.c: Show UTF-8 characters.
719
720 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * conf/Makefile.common: Poison float and double on non-emu.
723
724 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * configure.ac: Don't disable extended registers on emu.
727
728 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * configure.ac: Don't use extended registers on x86_64.
731 Reported by: Peter Jones.
732
733 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/term/efi/console.c: Fix compile error.
736
737 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
738
739 Compressed HFS+ support.
740
741 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
744 pixel".
745
746 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
747
748 Menu color test.
749
750 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/tests/setjmp_test.c: New test.
753
754 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
755
756 New variables 'net_default_*' to determine MAC/IP of default interface.
757
758 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * tests/gettext_strings_test.in: A test to check for strings not
761 marked for translation.
762
763 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * autogen.sh: Exclude unused libgcrypt files from translation.
766
767 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
768
769 Simplify few strings.
770
771 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
772
773 Mark few forgotten strings for translation.
774
775 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
778 rather than printf.
779
780 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
783 rather than printf.
784 * grub-core/video/readers/tga.c: Likewise.
785
786 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * tests/priority_queue_unit_test.cc: New test.
789
790 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
793 than printf.
794
795 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
796
797 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
798 variable for one time boot menu entry.
799
800 2013-05-05 Bean <bean123ch@gmail.com>
801
802 * grub-core/commands/testspeed.c: New command testspeed.
803
804 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
805
806 Factor-out human-size printing.
807
808 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
809
810 Agglomerate more mallocs to speed-up gfxterm.
811
812 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
813
814 Speed-up gfxterm by slightly agglomerating mallocs.
815
816 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
817
818 More video checks.
819
820 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
821
822 Speed-up gfxterm by saving intermediate results in index+alpha
823 format.
824
825 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
828 test.
829
830 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
833 line of timeout as it may contain the rest of long line.
834
835 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/normal/main.c: Fix freed memory dereference.
838
839 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Fix several memory leaks.
842
843 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
846
847 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
850
851 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
852
853 Fix test -a and -o precedence.
854 Reported by: adrian15.
855
856 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
859
860 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
861
862 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
863 and add it as source to functional_test module.
864
865 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
868
869 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
870
871 New series of tests for gfxterm and gfxmenu.
872
873 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
876 the theme path relative to $prefix/themes.
877
878 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
881 Fix order bug.
882 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
883
884 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
887 descriptor.
888
889 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
892 grub_gfxmenu_timeout_notifications.
893 (grub_gfxmenu_view_destroy): Likewise.
894
895 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
898
899 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Several fixes to ieee1275 and big-endian video.
902
903 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
904
905 Add missing exports on mips.
906
907 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
910 if no unifont is found.
911 Restore original keyboard.
912
913 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
916 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
917
918 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
919
920 First automated video test (running videotest and comparing results)
921
922 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
925 instead of 2 to have full RGB/CMY test pattern.
926
927 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
928
929 Add few more tests.
930
931 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * include/grub/arc/arc.h: Account for missing "other" peripheral on
934 ARCS. All users updated.
935
936 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
939
940 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/partmap/amiga.c: Fix size of checksummed block.
943
944 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
947 Reported by: qwertial.
948
949 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
950
951 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
952 with syntax "XXX deg"/"XXX °".
953
954 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
955
956 Make PCI init in i386-qemu port more robust.
957
958 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
959
960 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
961 cached view is reused.
962 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
963 open boot menus.
964
965 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
966
967 Unify more code in grub-install_header.
968
969 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Add few new tests.
972
973 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Enforce disabling of firmware disk drivers when native drivers kick in.
976
977 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/commands/nativedisk.c: Customize the list of modules on
980 platform. Don't try to search for disks already using native drivers.
981
982 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
985 platforms.
986
987 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
990 handling of variables containing backslash.
991
992 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
995 dereference.
996 Reported by: qwertial.
997
998 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1001
1002 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1005 dereference.
1006 Reported by: qwertial.
1007
1008 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1011
1012 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1015
1016 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 New command `nativedisk'.
1019
1020 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1023 * grub-core/loader/i386/bsd.c: Likewise.
1024
1025 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1028
1029 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1032 grub_get_unaligned16 rather than shifts.
1033
1034 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/kern/file.c: Use const char * rather than casting to
1037 non-const.
1038
1039 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/commands/probe.c: Add missing grub_device_close.
1042
1043 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * INSTALL: Document linguas.sh.
1046
1047 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 Remove POTFILES.in and regenerate it in autogen.sh.
1050
1051 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Move --directory/--override-directorry to grub-install_header and unify.
1054
1055 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/term/morse.c: Macroify dih and dah.
1058
1059 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1060
1061 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1062
1063 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/term/ns8250.c: Systematically probe ports by writing
1066 to SR before using them.
1067
1068 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1069
1070 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1071 disks.
1072 (check_sas): Get sas_adress info.
1073
1074 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1077 ports.
1078
1079 2013-04-27 Leon Drugi <eyak>
1080
1081 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1082 BSS clearing.
1083
1084 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Core compression test.
1087
1088 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Implement grub_machine_get_bootlocation for ARC.
1091
1092 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 Improve AHCI detection and command issuing.
1095
1096 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 Fix pseries test.
1099
1100 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Make 'make check' work on emu.
1103
1104 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 Replace libcurses with our own vt100 handling for the ease of testing
1107 and decreasing prerequisites.
1108
1109 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1112
1113 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1116 compile when not needed.
1117
1118 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * tests/pseries_test.in: New test.
1121
1122 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Add test to check that different boot mediums work.
1125
1126 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1129 ofw limited ISO support.
1130
1131 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * configure.ac: Fix loongson conditional.
1134
1135 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 Enable mipsel-arc.
1138
1139 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 Add serial on ARC platform.
1142
1143 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1146 commit.
1147
1148 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * tests/partmap_test.in: Add missing double semicolon.
1151
1152 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * util/grub-mkrescue.in: Fix loongson filename.
1155
1156 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * util/grub-mkrescue.in: Move all files that don't have a location
1159 set in stone under /boot/grub. Use ISO hard links rather than copies
1160 to save some space.
1161
1162 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1165 bogus SLOF values.
1166
1167 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Make check work on mips-arc.
1170
1171 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * util/grub-mkrescue.in: Alias sashARCS as sash.
1174
1175 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1178 it's serial.
1179
1180 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * util/grub-install.in: Fix target fo qemu_mips.
1183 Fix extension on EFI.
1184
1185 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1188 in front of chosen entry to mark it even if highlighting is lost.
1189
1190 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1193 gfxpayload=keep if cbfb is active.
1194
1195 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1198
1199 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 Add missing video ids to coreboot and ieee1275 video.
1202
1203 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * util/grub-mkrescue.in: Add mips-arc support.
1206
1207 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1210
1211 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Move mips-arc link address. Previous link address was chosen
1214 in belief that RAM on SGI platforms grows down while in fact it
1215 grows up from an unusual base.
1216
1217 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1220 Fix a type which prevented CD-ROM and floppy boot.
1221
1222 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 Support coreboot framebuffer.
1225
1226 * grub-core/video/i386/coreboot/cbfb.c: New file.
1227
1228 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1231 detecting too small regions.
1232
1233 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1236
1237 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1240 Remove dprintf.
1241 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1242
1243 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1246 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1247 * grub-core/loader/powerpc/ieee1275/linux.c
1248 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1249
1250 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1253 Look for /boot-rom as well as /rom/boot-rom.
1254
1255 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1258 handling when creating text_layer failed.
1259 * grub-core/video/video.c (grub_video_create_render_target):
1260 Set result to 0 on error.
1261 (grub_video_delete_render_target): Do not dereference NULL.
1262
1263 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1266 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1267 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1268 (grub_linux_load64): Mask out 2 high bits.
1269
1270 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1271
1272 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1273 more place.
1274
1275 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 Add support for pseries and other bootinfo machines to grub-mkrescue.
1278
1279 Tested by: Paulo Flabiano Smorigo.
1280
1281 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * util/grub-mkrescue.in: Add GPT for EFI boot.
1284
1285 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1288 It improves performance in qemu.
1289
1290 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * build-aux/snippet: Add missing gnulib files.
1293
1294 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1295
1296 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1297
1298 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1299
1300 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1301
1302 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1303 2013-04-15 Peter Jones <pjones@redhat.com>
1304
1305 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1306 sectors.
1307 Based on patch by Peter Jones.
1308
1309 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 Fix DMRAID partition handling.
1312
1313 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * tests/grub_cmd_date.in: Skip on sparc64.
1316
1317 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1320 firmware error messages.
1321
1322 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1325 source and destination differ.
1326
1327 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1330 detection.
1331
1332 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1335 match config-util.h to avoid warnings and increase compatibility.
1336
1337 2013-04-14 Szymon Janc <szymon@janc.net.pl>
1338 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 Add option to compress files on install/image creation.
1341
1342 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * docs/grub-dev.texi: Rearrange menu to match the section order.
1345 Reported by: Bryan Hundven.
1346
1347 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1350
1351 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 Move GRUB out of system area when using xorriso 1.2.9 or later.
1354
1355 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * tests/grub_cmd_date.in: Add missing exit 1.
1358
1359 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * tests/partmap_test.in: Skip on sparc64.
1362
1363 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 Support grub-shell on sparc64.
1366
1367 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Support mkrescue on sparc64.
1370
1371 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1374 Needed on OpenBIOS due to incomplete device tree.
1375
1376 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1379 would be otherwise excluded.
1380
1381 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1384 Inline name defines used only once.
1385
1386 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 Fix memory leaks in ofnet.
1389 Reported by: Francesco Lavra.
1390
1391 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * docs/man/grub-glue-efi.h2m: Add missing file.
1394
1395 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1398
1399 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 Better support Apple Intel Macs on CD.
1402
1403 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 Replace stpcpy with grub_stpcpy in tools.
1406
1407 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Handle Japanese special keys.
1410 Reported by: Hiroyuki YAMAMORI.
1411 Codes supplied by: Hiroyuki YAMAMORI.
1412
1413 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * util/grub-mkimage.c: Document memdisk implying --prefix.
1416
1417 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1420 much we can do about it anyway.
1421
1422 2013-04-12 Aleš Nesrsta <starous@volny.cz>
1423
1424 Fix handling of split transfers.
1425
1426 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/net/http.c: Fix bad free.
1429
1430 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1433 than buffer size.
1434
1435 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1438
1439 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * tests/util/grub-shell.in: Fix it on powerpc.
1442
1443 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 Turn off QEMU ACPI-way since new releases don't have shutdown port
1446 anymore.
1447
1448 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * docs/grub.texi: Update coreboot status info.
1451
1452 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * tests/grub_cmd_date.in: New test for datetime.
1455
1456 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * tests/partmap_test.in: Fix missing qemudisk setting.
1459
1460 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 Support i386-ieee1275 grub-mkrescue and make check on it.
1463
1464 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1467 feature for it.
1468
1469 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1472 GRUB_CMDLINE_XEN_DEFAULT.
1473 Reported by: Marc Warne (GigaTux) <gigatux>
1474
1475 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 Import new gnulib.
1478
1479 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 Use ACPI shutdown intests as traditional port was removed.
1482
1483 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1484
1485 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1486 distinction.
1487
1488 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1491 Fix few warining messages and leaks while on it.
1492
1493 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1494
1495 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1496 links under grub-core/lib/libgcrypt-grub/mpi.
1497
1498 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 Fix ia64-efi image generation on big-endian machines. Deduplicate
1501 some code while on it.
1502 Reported by: Leif Lindholm.
1503
1504 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1505
1506 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1507 as extra_dist.
1508
1509 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1510
1511 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1512
1513 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1514
1515 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1516 texinfo-5.1.
1517
1518 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/normal/term.c: Few more fixes for menu entry editor
1521 rendering.
1522 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1523
1524 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/normal/term.c: Few more fixes for menu entry editor
1527 rendering.
1528 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1529
1530 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1531
1532 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1533 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1534
1535 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1536
1537 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1538 instead of hardcoding grub.mo.
1539
1540 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1541
1542 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1543
1544 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1547 grub-core/disk/geli.c.
1548
1549 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * util/grub-mkfont.c: Prefer enum to #define.
1552
1553 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1556
1557 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1560
1561 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1564
1565 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1568
1569 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * include/grub/bsdlabel.h: Use enums.
1572
1573 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 Move GRUB_CHAR_BIT to types.h.
1576
1577 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1578
1579 * docs/grub.texi: Document more user commands.
1580
1581 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1582
1583 * docs/grub.texi: Document menuentry --id option.
1584
1585 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1586
1587 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1588
1589 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 Unify file copying setup across different install scripts. Add
1592 options for performing partial install.
1593
1594 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1595 2013-04-04 Peter Jones <pjones@redhat.com>
1596
1597 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
1598
1599 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 Use TSC as a possible time source on i386-ieee1275.
1602
1603 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
1606 Init err.
1607
1608 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * util/grub-setup.c (setup): Handle some corner cases.
1611
1612 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
1615
1616 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/commands/verify.c: Save verified file to avoid it being
1619 tampered with after verification was done.
1620
1621 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
1624 reported width by one to compensate for curesor algorithm problem.
1625
1626 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 Fix screen corruption in menu entry editor and simplify the code
1629 flow while on it.
1630
1631 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
1632
1633 * util/grub-mount.c (fuse_init): Return error if fuse_main
1634 failed.
1635
1636 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
1637
1638 * include/grub/elf.h: Add missing ARM relocation codes and fix
1639 existing ones.
1640
1641 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1642
1643 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
1644
1645 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1646 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
1649 into account when calculating radius.
1650
1651 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1652
1653 * grub-core/gfxmenu/view.c: Fix off-by-one error.
1654
1655 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1656
1657 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
1658
1659 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1660
1661 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
1662 missing closing bracket.
1663
1664 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1665
1666 * INSTALL: Mention xorriso requirement.
1667
1668 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
1669
1670 * grub-core/commands/verify.c: Fix hash algorithms values for
1671 the first three hashes - they start with 1, not with 0.
1672
1673 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
1676 Try terminating EFI services several times due to quirks in some
1677 implementations.
1678
1679 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
1680
1681 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
1682 skipping Event, Device, Processor, PowerRes, ThermalZone, and
1683 BankField extended opcodes.
1684 (get_sleep_type): Add minimal scope handling (just enough to
1685 handle setting the scope to the root path).
1686 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
1687 * include/grub/acpi.h: Add enumeration values for Event, Device,
1688 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
1689
1690 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
1691
1692 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
1693 memory leak.
1694
1695 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/disk/ahci.c: Give more time for AHCI request.
1698
1699 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
1702 command.
1703
1704 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 Replace the region at 0 from coreboot tables to available in BSD
1707 memory map.
1708
1709 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
1712 non-BIOS platforms.
1713
1714 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
1717 platforms.
1718
1719 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1722 handling of multi-device filesystems.
1723
1724 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
1727 platforms.
1728
1729 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 Add new 'proc' filesystem framework and put luks_script into it.
1732
1733 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
1736 and qemu.
1737
1738 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
1741
1742 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 Add ability to generate newc additions on runtime.
1745
1746 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
1749 description.
1750
1751 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * po/POTFILES.in: Regenerate.
1754
1755 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/commands/verify.c (hashes): Add several hashes
1758 from the spec.
1759
1760 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Slight improve in USB-related boot-time checkpoints.
1763
1764 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/commands/boottime.c: Fix copyright header.
1767
1768 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
1771 coreboot tables content. Support for cbmemc.
1772
1773 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 Fix a conflict between ports structures with 2 controllers of
1776 same kind.
1777
1778 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * include/grub/boottime.h: Add missing file.
1781
1782 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 Initialize USB ports in parallel to speed-up boot.
1785
1786 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Fix USB devices not being detected when requested
1789 due to delayed attach.
1790
1791 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 Implement boot time analysis framework.
1794
1795 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Remove get_endpoint_descriptor and change all functions needing
1798 descriptor to just receive it as argument rather than endpoint
1799 address.
1800
1801 2013-03-19 Aleš Nesrsta <starous@volny.cz>
1802
1803 Better estimate the maximum USB transfer size.
1804
1805 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 Resend a packet if we got the wrong buffer in status.
1808
1809 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
1812 multiplication rather than division.
1813
1814 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
1817 than divisions.
1818
1819 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
1822 operations to have intended shifts and not divisions.
1823
1824 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
1827 intended shifts rather than division.
1828
1829 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
1832 computation for some years before epoch. Avode confusing division
1833 while on it.
1834
1835 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/video/i386/pc/vbe.c
1838 (grub_video_vbe_print_adapter_specific_info): Replace division by
1839 shifts.
1840
1841 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Adjust types in gdb module to have intended unsigned shifts rather than
1844 signed divisions.
1845
1846 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
1849 maximum size is 4G - 1 on hfs
1850
1851 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
1854
1855 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
1858 function.
1859
1860 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
1861
1862 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
1863 causing gcc error with gcc 4.7.1.
1864
1865 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1866
1867 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
1868 dereference null pointer. While the code is technically correct, gcc
1869 may eliminate a null check if pointer is already dereferenced.
1870
1871 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1872
1873 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
1874 OOM check.
1875 * grub-core/normal/term.c (read_terminal_list): Likewise.
1876
1877 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 Lift up core size limits on some platforms. Fix potential memory
1880 corruption with big core on small memory systems. Document remaining
1881 limits.
1882
1883 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
1886 gotoxy to 0,0.
1887
1888 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 Remove all trampoline support. Add -Wtrampolines when
1891 present. Remove symbols used for trampolines to make
1892 link fail if trampolines are present.
1893
1894 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
1897 append out of its parent.
1898
1899 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
1902 parent.
1903
1904 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
1907 all vars to a macro. All users updated.
1908
1909 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/disk/ieee1275/nand.c: Fix compilation on
1912 i386-ieee1275.
1913
1914 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
1917
1918 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
1921
1922 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 Move to more hookless approach in IEEE1275 devices handling.
1925
1926 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/kern/term.c (grub_term_normal_color),
1929 (grub_term_highlight_color): Add back lost defaults.
1930
1931 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 Make elfload not use hooks. Opt for flags and iterators instead.
1934
1935 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
1938 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
1939
1940 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/script/execute.c (gettext_append): Remove nested functions.
1943
1944 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
1947 hook pass-through parameter. All users updated and unnested.
1948
1949 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
1952 out of its parent.
1953
1954 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/fs/hfs.c: Remove nested functions.
1957
1958 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
1961 the context through.
1962 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
1963
1964 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * util/grub-editenv.c (list_variables): Move print_var out of its
1967 parent.
1968
1969 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
1972 function.
1973
1974 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/gentrigtables.c: Make tables const.
1977
1978 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 Remove nested functions from videoinfo iterators.
1981
1982 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
1985 for 64-bit platforms.
1986
1987 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
1990 a FOR_CHILDREN macro.
1991
1992 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
1995 platform from firmware path.
1996
1997 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 Enable linux16 on non-BIOS systems for i.a. memtest.
2000
2001 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2002 correctly.
2003 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2004
2005 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2008 Fix end of table condition.
2009
2010 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2013 out of its parent.
2014
2015 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/fs/jfs.c: Remove nested functions.
2018
2019 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/fs/minix.c: Remove nested functions.
2022
2023 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/fs/iso9660.c: Remove nested functions.
2026
2027 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2030 of parent function.
2031
2032 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * util/grub-fstest.c: Remove nested functions.
2035
2036 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/loader/machoXX.c: Remove nested functions.
2039
2040 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
2041
2042 Remove nested functions from disk and file read hooks.
2043
2044 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2045 (struct grub_disk): Add read_hook_data member.
2046 * include/grub/file.h (struct grub_file): Likewise.
2047 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2048 argument.
2049
2050 Update all callers.
2051
2052 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2053
2054 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2055 Fix off by one error in enumerating extended partitions.
2056
2057 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2058
2059 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2060 memory leak if device name is not found.
2061
2062 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2063
2064 * grub-core/normal/menu_entry.c (update_screen): remove
2065 unused variable `off' which caused scroll down arrow to be always shown.
2066
2067 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2068
2069 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2070 access to unallocated memory.
2071
2072 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2073
2074 * Makefile.util.def: Add partmap/msdos.c to common library.
2075 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2076 * grub-core/disk/ldm.c: Check for existence of
2077 GRUB_PC_PARTITION_TYPE_LDM.
2078
2079 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2082 sizes and display sector size.
2083
2084 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 Implement new command cmosdump.
2087
2088 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2089
2090 Support Openfirmware disks with non-512B sectors.
2091
2092 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2093 size of the disk.
2094 * (grub_ofdisk_get_block_size): New function.
2095 * (grub_ofdisk_prepare): Use the correct block size.
2096 * (grub_ofdisk_read): Likewise.
2097 * (grub_ofdisk_write): Likewise.
2098 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2099 New proto.
2100
2101 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2104
2105 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2108 on first error.
2109
2110 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2113 freeing it.
2114
2115 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Implement USBDebug (full USB stack variant).
2118
2119 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2122 unless they have unexpected values.
2123
2124 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2127 grub_print_error.
2128
2129 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2132 zero-out of port structure.
2133
2134 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2137 of extended attributes.
2138
2139 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2140
2141 * util/grub-install.in: change misleading comment about
2142 device.map creation
2143
2144 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2147 when menu highlight color isn't set.
2148
2149 2013-01-27 C. Masloch <pushbx@38.de>
2150
2151 Improve FreeDOS direct loading support compatibility.
2152
2153 * include/grub/i386/relocator.h (grub_relocator16_state):
2154 New member ebp.
2155 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2156 variable.
2157 (grub_relocator16_boot): Handle %ebp.
2158 * grub-core/lib/i386/relocator16.S: Likewise.
2159 * grub-core/loader/i386/pc/freedos.c:
2160 Load BPB to pass kernel which partition to load from.
2161 Check that kernel file is not too large.
2162 Set register dl to BIOS unit number as well.
2163
2164 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
2165
2166 * util/grub-reboot.in (usage): Document the need for
2167 GRUB_DEFAULT=saved.
2168 * util/grub-set-default.in (usage): Likewise.
2169 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2170
2171 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2174 than defining WORDS_BIGENDIAN manually.
2175
2176 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2179 invariants.
2180
2181 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
2182
2183 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2184 nested.
2185 (blit_comb: add_device_width): Likewise.
2186
2187 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
2188
2189 Remove nested functions from USB iterators.
2190
2191 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2192 (grub_usb_controller_iterate_hook_t): Likewise.
2193 (grub_usb_iterate): Add hook_data argument.
2194 (grub_usb_controller_iterate): Likewise.
2195 (struct grub_usb_controller_dev.iterate): Likewise.
2196
2197 Update all implementations and callers.
2198
2199 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2202 margin when not needed.
2203
2204 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 Make color variables global instead of it being per-terminal.
2207
2208 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2211 asterisk.
2212
2213 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
2214
2215 Fix powerpc and sparc64 build failures caused by un-nesting memory
2216 map iterators.
2217
2218 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
2219
2220 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2221 parameter declarations.
2222
2223 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2226
2227 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Improve spkmomdem reliability by adding a separator between bytes.
2230
2231 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
2232
2233 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2234 an Acer registration utility with several sightings in the wild.
2235 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2236
2237 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
2238
2239 Remove nested functions from filesystem directory iterators.
2240
2241 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2242 (struct grub_fs.dir): Add hook_data argument.
2243
2244 Update all implementations and callers.
2245
2246 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
2247
2248 * docs/grub.texi (Multi-boot manual config): Fix typo for
2249 "recommended".
2250
2251 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2252
2253 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2254 until after its use in generate_image.
2255
2256 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
2257
2258 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2259 initrd size to addr_min, since the initrd will be allocated after
2260 this address.
2261
2262 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2263
2264 * conf/Makefile.common: Fix autogen rules to pass definition
2265 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2266
2267 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2268
2269 * include/grub/elf.h: Update ARM definitions based on binutils.
2270
2271 2013-01-20 Aleš Nesrsta <starous@volny.cz>
2272
2273 Split long USB transfers into short ones.
2274
2275 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2276
2277 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2278 is interrupted by ESC.
2279
2280 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * util/grub-script-check.c (main): Uniform the error message.
2283
2284 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
2285
2286 Remove nested functions from ELF iterators.
2287
2288 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
2289
2290 Remove nested functions from device iterators.
2291
2292 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2293 (grub_arc_iterate_devs): Add hook_data argument.
2294 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2295 (struct grub_ata_dev.iterate): Add hook_data argument.
2296 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2297 (grub_device_iterate): Add hook_data argument.
2298 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2299 (struct grub_disk_dev.iterate): Add hook_data argument.
2300 (grub_disk_dev_iterate): Likewise.
2301 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2302 Likewise.
2303 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2304 Likewise.
2305 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2306 type.
2307 (struct grub_partition_map.iterate): Add hook_data argument.
2308 (grub_partition_iterate): Likewise.
2309 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2310 (struct grub_scsi_dev.iterate): Add hook_data argument.
2311
2312 Update all callers.
2313
2314 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
2315
2316 Fix typos for "developer" and "development".
2317
2318 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 Add license header to spkmodem-recv.c.
2321
2322 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Rewrite spkmodem to use PIT for timing. Double the speed.
2325
2326 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 Add new command pcidump.
2329
2330 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 New terminal outputs using serial: morse and spkmodem.
2333
2334 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 Improve bidi handling in entry editor.
2337
2338 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2341 argument to prevent name collision.
2342
2343 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
2344
2345 Remove nested functions from script reading and parsing.
2346
2347 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2348 getline_data argument, passed to getline.
2349 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2350 getline_data argument, passed to grub_parser_split_cmdline.
2351 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2352 lexerstate->getline_data to lexerstate->getline.
2353 (grub_script_lexer_init): Add getline_data argument, saved in
2354 lexerstate->getline_data.
2355 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2356 argument, passed to grub_script_parse.
2357 * grub-core/script/script.c (grub_script_parse): Add getline_data
2358 argument, passed to grub_script_lexer_init.
2359 * include/grub/parser.h (grub_parser_split_cmdline): Update
2360 prototype. Update all callers to pass appropriate getline data.
2361 (struct grub_parser.parse_line): Likewise.
2362 (grub_rescue_parse_line): Likewise.
2363 * include/grub/reader.h (grub_reader_getline_t): Add void *
2364 argument.
2365 * include/grub/script_sh.h (struct grub_lexer_param): Add
2366 getline_data member.
2367 (grub_script_parse): Update prototype. Update all callers to pass
2368 appropriate getline data.
2369 (grub_script_lexer_init): Likewise.
2370 (grub_normal_parse_line): Likewise.
2371
2372 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2373 data argument.
2374 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2375 static instead of nested. Rename to ...
2376 (grub_parser_execute_getline): ... this.
2377 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2378 data argument.
2379 * grub-core/normal/main.c (read_config_file: getline): Make static
2380 instead of nested. Rename to ...
2381 (read_config_file_getline): ... this.
2382 (grub_normal_read_line): Add unused data argument.
2383 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2384 getline): Make static instead of nested. Rename to ...
2385 (grub_script_execute_sourcecode_getline): ... this.
2386 * util/grub-script-check.c (main: get_config_line): Make static
2387 instead of nested.
2388
2389 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
2390
2391 Remove nested functions from memory map iterators.
2392
2393 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2394 argument, passed to hook.
2395 * grub-core/kern/i386/coreboot/mmap.c
2396 (grub_linuxbios_table_iterate): Likewise.
2397 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2398 instead of nested.
2399 (grub_machine_mmap_iterate): Add hook_data argument.
2400 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2401 Add hook_data argument, passed to hook.
2402 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2403 Likewise.
2404 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2405 Likewise.
2406 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2407 Likewise.
2408 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2409 Likewise.
2410 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2411 Likewise.
2412 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2413 Likewise.
2414 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2415 (grub_machine_mmap_iterate): Likewise.
2416 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2417 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2418 prototype.
2419 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2420 Remove NESTED_FUNC_ATTR from here and from all users.
2421 (grub_mmap_iterate): Update prototype.
2422 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2423 pass appropriate hook data.
2424 (grub_machine_mmap_iterate): Likewise.
2425
2426 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2427 static instead of nested.
2428 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2429 Rename to ...
2430 (lsmmap_hook): ... this.
2431 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2432 Likewise.
2433 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2434 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2435 heap_init): Likewise.
2436 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2437 Rename to ...
2438 (mmap_iterate_hook): ... this.
2439 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2440 Likewise.
2441 * grub-core/lib/ieee1275/relocator.c
2442 (grub_relocator_firmware_get_max_events: count): Likewise.
2443 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2444 to ...
2445 (grub_relocator_firmware_fill_events_iter): ... this.
2446 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2447 hook): Likewise. Rename to ...
2448 (grub_relocator_alloc_chunk_align_iter): ... this.
2449 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2450 Rename to ...
2451 (generate_e820_mmap_iter): ... this.
2452 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2453 Rename to ...
2454 (count_hook): ... this.
2455 (grub_linux_boot: hook): Likewise. Rename to ...
2456 (grub_linux_boot_mmap_find): ... this.
2457 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2458 (grub_linux_boot_mmap_fill): ... this.
2459 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2460 hook): Likewise. Rename to ...
2461 (grub_fill_multiboot_mmap_iter): ... this.
2462 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2463 hook): Likewise. Rename to ...
2464 (count_hook): ... this.
2465 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2466 hook): Likewise. Rename to ...
2467 (grub_fill_multiboot_mmap_iter): ... this.
2468 * grub-core/loader/powerpc/ieee1275/linux.c
2469 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2470 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2471 Likewise. Rename to ...
2472 (alloc_phys_choose): ... this.
2473 (determine_phys_base: get_physbase): Likewise.
2474 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2475 find_hook): Likewise.
2476 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2477 (malloc_hook: count_hook): Likewise.
2478 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2479 Likewise. Rename to ...
2480 (lower_hook): ... this.
2481 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2482 (upper_hook): ... this.
2483 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2484 (post64_hook): ... this.
2485 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2486 Likewise. Rename to ...
2487 (lower_hook): ... this.
2488 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2489 (upper_hook): ... this.
2490 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2491 (grub_mmap_iterate: fill_hook): Likewise.
2492 (fill_mask): Pass addr and mask within a single struct.
2493 (grub_cmd_badram: hook): Make static instead of nested. Rename
2494 to ...
2495 (badram_iter): ... this.
2496 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2497 (cutmem_iter): ... this.
2498
2499 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2502 delimit path in strings using quotes.
2503 * util/getroot.c (grub_guess_root_devices): Likewise.
2504 (grub_make_system_path_relative_to_its_root): Likewise.
2505 * util/grub-probe.c (probe): Likewise.
2506 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2507 (xrealpath): Likewise.
2508
2509 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 Fix compilation with older compilers.
2512
2513 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2514 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2515 declarations.
2516 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2517 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2518 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2519 identifier with b.
2520 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2521 * include/grub/crypto.h: Add type defines.
2522 * util/import_gcrypth.sed: Remove duplicate type defines.
2523
2524 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 New command list_trusted.
2527
2528 * grub-core/commands/verify.c (grub_cmd_list): New function.
2529
2530 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
2531
2532 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2533 info message.
2534
2535 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
2536
2537 Remove nested functions from PCI iterators.
2538
2539 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2540 passed to hook. Update all callers to pass appropriate hook data.
2541 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2542 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2543 Remove NESTED_FUNC_ATTR from here and from all users.
2544 (grub_pci_iterate): Update prototype.
2545 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2546 instead of nested. Rename to ...
2547 (grub_cs5536_find_iter): ... this.
2548 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2549 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2550 Likewise.
2551 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2552 Likewise.
2553 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2554 Likewise.
2555 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2556 Likewise.
2557 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2558 * grub-core/video/radeon_fuloong2e.c
2559 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2560 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2561 find_card): Likewise.
2562 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2563 Likewise.
2564
2565 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/commands/verify.c: Mark messages for translating.
2568
2569 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2572 fatal.
2573
2574 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2577 fatal.
2578
2579 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * autogen.sh: Do not try to delete nonexistant files.
2582 * util/import_gcrypth.sed: Add some missing header removals.
2583
2584 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
2585
2586 Clean up dangling references to grub-setup.
2587 Fixes Ubuntu bug #1082045.
2588
2589 * docs/grub.texi (Images): Refer generally to grub-install rather
2590 than directly to grub-setup.
2591 (Installing GRUB using grub-install): Remove direct reference to
2592 grub-setup.
2593 (Device map) Likewise.
2594 (Invoking grub-install): Likewise.
2595 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2596 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2597 * util/grub-install.in (usage): Likewise.
2598
2599 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
2600 Apply to grub-bios-setup and grub-sparc64-setup rather than to
2601 grub-setup.
2602 * configure.ac: Remove grub_setup output variable.
2603
2604 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
2605 to grub-bios-setup.
2606 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
2607 grub-setup to grub-sparc64-setup.
2608
2609 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 Import gcrypt public-key cryptography and implement signature checking.
2612
2613 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * grub-core/fs/ntfs.c: Ue more appropriate types.
2616 * grub-core/fs/ntfscomp.c: Likewise.
2617 * include/grub/ntfs.h: Likewise.
2618
2619 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Support Apple FAT binaries on non-Apple platforms.
2622
2623 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
2624 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
2625 Likewise.
2626 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
2627 Apple FAT binaries.
2628
2629 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
2632 sector devices.
2633
2634 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
2635
2636 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
2637 explicitly zeroing elements.
2638 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
2639 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
2640 of elements in a structure already allocated using grub_zalloc.
2641 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2642
2643 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
2644
2645 * docs/grub.texi (grub_cpu): New subsection.
2646 (grub_platform): Likewise.
2647
2648 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
2651
2652 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
2655 divisions.
2656
2657 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
2660 * grub-core/fs/ntfscomp.c: Likewise.
2661 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
2662 (grub_ntfs_comp): Likewise.
2663
2664 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
2667 Rename to ...
2668 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
2669 of groups_per_block. All users updated.
2670
2671 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
2674 grub_error properly.
2675 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
2676 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
2677
2678 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
2681 always in /boot/zfs.
2682 Reported by: Yuta Satoh.
2683
2684 2013-01-03 Yuta Satoh <nigoro>
2685
2686 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
2687 ${grub_probe}
2688
2689 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * configure.ac: Extend -Wno-trampolines to host.
2692
2693 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
2696 entry->len = 0.
2697
2698 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
2699
2700 * docs/grub.texi (Invoking grub-mkrelpath): New section.
2701 (Invoking grub-script-check): Likewise.
2702
2703 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
2704
2705 * docs/grub.texi (Invoking grub-mount): New section.
2706 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
2707
2708 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
2709
2710 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
2711 test failures, so that a failing unit test correctly causes 'make
2712 check' to fail.
2713
2714 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
2715
2716 Fix failing printf test.
2717
2718 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
2719 '$' in the correct order when collecting type information.
2720
2721 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
2722
2723 * docs/grub.texi (configfile): Explain environment variable
2724 handling.
2725 (source): New section.
2726 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
2727
2728 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
2729
2730 Remove several trivially-unnecessary uses of nested functions.
2731
2732 * grub-core/commands/i386/pc/sendkey.c
2733 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
2734 instead of nested.
2735 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
2736 Rename to ...
2737 (legacy_file_getline): ... this.
2738 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
2739 Likewise.
2740 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
2741 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
2742 to ...
2743 (probe_dummy_iter): ... this.
2744 * grub-core/kern/i386/coreboot/mmap.c
2745 (grub_linuxbios_table_iterate: check_signature): Likewise.
2746 * grub-core/kern/parser.c (grub_parser_split_cmdline:
2747 check_varstate): Likewise. Mark inline.
2748 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
2749 an additional parameter.
2750 (find_long: fnd_long): Likewise. Pass two additional parameters.
2751 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
2752 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
2753 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
2754 Likewise. Rename to ...
2755 (grub_cmos_find_port_iter): ... this.
2756 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
2757 Rename to ...
2758 (find_rtc_iter): ... this.
2759
2760 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
2761 function directly into the function body, since it is only called
2762 once.
2763
2764 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
2765
2766 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
2767 __attribute__ ((unused)).
2768 * grub-core/video/bochs.c (find_card): Likewise.
2769 * grub-core/video/cirrus.c (find_card): Likewise.
2770 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
2771 * grub-core/video/sis315pro.c (find_card): Likewise.
2772 * grub-core/video/sm712.c (find_card): Likewise.
2773
2774 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
2775
2776 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
2777 Fixes Savannah bug #37821.
2778
2779 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
2780
2781 Apply program name transformations at build-time rather than at
2782 run-time. Fixes Debian bug #696465.
2783
2784 * acinclude.m4 (grub_TRANSFORM): New macro.
2785 * configure.ac: Create output variables with transformed names for
2786 most programs.
2787 * util/bash-completion.d/grub-completion.bash.in: Use
2788 pre-transformed variables for program names.
2789 * util/grub-install.in: Likewise.
2790 * util/grub-kbdcomp.in: Likewise.
2791 * util/grub-mkconfig.in: Likewise.
2792 * util/grub-mkconfig_lib.in: Likewise.
2793 * util/grub-mknetdir.in: Likewise.
2794 * util/grub-mkrescue.in: Likewise.
2795 * util/grub-mkstandalone.in: Likewise.
2796 * util/grub-reboot.in: Likewise.
2797 * util/grub-set-default.in: Likewise.
2798 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2799 * tests/util/grub-shell-tester.in: Remove unused assignment.
2800 * tests/util/grub-shell.in: Likewise.
2801 * util/grub.d/00_header.in: Likewise.
2802
2803 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
2804
2805 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
2806
2807 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
2808 HAVE_RAW_DECL_GETS.
2809 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
2810
2811 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
2814 Reported by: Eriks Latosheks <foresterlv>.
2815
2816 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * docs/grub.texi (Network): Update instructions on generating netboot
2819 image.
2820
2821 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
2824 around device name if necessarry.
2825
2826 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2827
2828 * util/grub-install.in: Follow the symbolic link parameter added
2829 to the file command.
2830
2831 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
2832
2833 * util/grub-install.in: Remove stale TODO.
2834
2835 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2836
2837 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
2838 dynamic allocation for the bootpath buffer.
2839
2840 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
2841
2842 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
2843 window too small.
2844
2845 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
2848 argument rather than font name. All users updated.
2849 (grub_gfxterm_set_window): Likewise.
2850
2851 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2852
2853 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
2854 from working.
2855
2856 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * util/getroot.c (convert_system_partition_to_system_disk): Support
2859 nbd disks.
2860
2861 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
2864 infinite loop on corrupted FS.
2865
2866 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Fix big-endian mtime.
2869
2870 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
2871 together sec and usec.
2872 (grub_ufs_dir): Use correct byteswapping for UFS time.
2873
2874 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 Support big-endian UFS1.
2877
2878 * Makefile.util.def (libgrubmods): Add ufs_be.c
2879 * grub-core/Makefile.core.def (ufs1_be): New module.
2880 * grub-core/fs/ufs_be.c: New file.
2881 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
2882 the file.
2883
2884 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
2885
2886 * include/grub/types.h: Fix functionality unaffecting typo in
2887 GRUB_TARGET_WORDSIZE conditional macro.
2888
2889 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2890
2891 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
2892
2893 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2894
2895 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
2896 that /netbsd appears first (when it exists).
2897
2898 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
2899
2900 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
2901 Fixes Savannah bug #37558.
2902
2903 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
2904
2905 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
2906 description of extract_entries_configfile.
2907
2908 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
2909
2910 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
2911 preferred_address.
2912 (grub_cmd_linux): Likewise.
2913 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
2914 preferred_lifetime. Update all users.
2915
2916 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
2917
2918 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
2919 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
2920
2921 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
2922
2923 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
2924 errors from grub-probe to /dev/null, not stdout.
2925
2926 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
2929 sector 1.
2930
2931 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
2932
2933 * util/grub-install.in: Make the error message if $source_dir
2934 doesn't exist more useful.
2935
2936 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
2937
2938 Fix grub-emu build on FreeBSD.
2939
2940 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
2941 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
2942 headers on Linux.
2943 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
2944 implementation is currently Linux-specific.
2945 * util/getroot.c (exec_pipe): Define only on Linux or when either
2946 libzfs or libnvpair is unavailable.
2947 (find_root_devices_from_poolname): Remove unused path variable.
2948
2949 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
2950
2951 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
2952 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
2953 should fit before end == 63.
2954
2955 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
2956
2957 * util/grub-setup.c (write_rootdev): Remove unused core_img
2958 parameter. Update all callers.
2959 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
2960 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
2961 GRUB_SETUP_BIOS.
2962
2963 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * util/grub-mkconfig_lib.in (grub_tab): New variable.
2966 (grub_add_tab): New function.
2967 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
2968 * util/grub.d/10_illumos.in: Likewise.
2969 * util/grub.d/10_kfreebsd.in: Likewise.
2970 * util/grub.d/10_linux.in: Likewise.
2971 * util/grub.d/10_netbsd.in: Likewise.
2972 * util/grub.d/10_windows.in: Likewise.
2973 * util/grub.d/10_xnu.in: Likewise.
2974 * util/grub.d/20_linux_xen.in: Likewise.
2975 * util/grub.d/30_os-prober.in: Likewise.
2976
2977 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2980 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
2981 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
2982 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
2983 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
2984 ieee1275-nocursor.
2985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2986 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
2987
2988 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
2991 le-conversion.
2992 Reported by: BURETTE, Bernard.
2993
2994 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
2995
2996 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
2997 from comment.
2998
2999 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
3000
3001 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3002 IEEE1275 machines. Fixes powerpc-emu compilation.
3003 * include/grub/terminfo.h: Likewise.
3004
3005 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3008 a const pointer.
3009 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3010 const pointer.
3011 (efiemu_set_variable): Make vendor_guid a const pointer.
3012
3013 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 Don't require grub-mkconfig_lib to generate manpages for programs.
3016
3017 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3018 dependencies, don't add grub-mkconfig_lib.
3019 (program): Pass empty adddeps.
3020 (script): Pass grub-mkconfig_lib as adddeps.
3021
3022 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3025 * util/getroot.c (grub_find_device): Likewise.
3026 (get_mdadm_uuid): Likewise.
3027 (grub_util_is_imsm): Likewise.
3028 (grub_util_pull_device): Likewise.
3029 * util/grub-probe.c (probe): Likewise.
3030
3031 2012-09-10 Benoit Gschwind <gschwind>
3032
3033 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3034 (devs): Add devpath_8.
3035
3036 2012-09-08 Peter Jones <pjones@redhat.com>
3037
3038 * grub-core/Makefile.core.def (efifwsetup): New module.
3039 * grub-core/commands/efi/efifwsetup.c: New file.
3040 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3041 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3042 New define.
3043 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3044
3045 2012-09-05 Jiri Slaby <jslaby@suse.cz>
3046
3047 * configure.ac: Add SuSe path.
3048
3049 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
3050
3051 * NEWS: Fix typo.
3052
3053 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
3054
3055 * util/import_gcry.py: Sort cipher_files, to make build system
3056 generation more deterministic.
3057
3058 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3061 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3062 (grub_set_datetime): Likewise.
3063
3064 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3067 warnings.
3068
3069 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3072
3073 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3076
3077 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
3078
3079 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3080 required for checkouts from bzr, but it may be useful for users or
3081 distributors wishing to update translations against a tarball
3082 distribution, and it can be helpful for the tarball to be a superset
3083 of what's in bzr.
3084
3085 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
3086
3087 * Makefile.am (EXTRA_DIST): Add
3088 grub-core/tests/boot/linux.init-mips.S,
3089 grub-core/tests/boot/linux.init-ppc.S, and
3090 grub-core/tests/boot/linux-ppc.cfg.
3091
3092 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
3093
3094 * grub-core/mmap/mips/loongson: Remove empty directory.
3095
3096 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
3097
3098 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3099 gone.
3100
3101 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
3102
3103 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3104 grub-sparc64-setup.
3105
3106 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3107
3108 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3109
3110 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3111
3112 * po/POTFILES.in: Regenerated.
3113
3114 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3115
3116 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3117 (NetBSD): New subsection.
3118
3119 2012-07-22 Ales Nesrsta <starous@volny.cz>
3120
3121 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3122 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3123
3124 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3127 * util/grub.d/10_hurd.in: Add missing quoting.
3128 * util/grub.d/10_illumos.in: Likewise.
3129 * util/grub.d/10_kfreebsd.in: Likewise.
3130 * util/grub.d/10_linux.in: Likewise.
3131 * util/grub.d/20_linux_xen.in: Likewise.
3132
3133 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 New command `lsefi'.
3136
3137 * grub-core/Makefile.core.def (lsefi): New module.
3138 * grub-core/commands/efi/lsefi.c: New file.
3139 * include/grub/efi/api.h: Add more GUIDs.
3140
3141 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3144 (grub_bsd_elf32_hook): Likewise.
3145 (grub_bsd_elf64_size_hook): Likewise.
3146 (grub_bsd_elf64_hook): Likewise.
3147 (grub_bsd_load_elf): Likewise.
3148
3149 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3152 if hash function is unavailable.
3153 (dec_stream_header): Likewise.
3154
3155 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3158 filter state.
3159
3160 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Fix coreboot compilation.
3163
3164 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3165 (grub_vga_text_init_real): ... this.
3166 (grub_vga_text_fini): Rename to ...
3167 (grub_vga_text_fini_real): ... this.
3168
3169 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3172
3173 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/lib/legacy_parse.c: Support clear and testload.
3176
3177 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3180
3181 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3184
3185 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/net/tftp.c (ack): Fix endianness problem.
3188 (tftp_receive): Likewise.
3189 Reported by: Michael Davidsaver.
3190
3191 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3194
3195 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3198 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3199 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3200
3201 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3204 efi_mmap_size.
3205 Reported by: Stuart Hayes.
3206
3207 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3210
3211 * grub-core/Makefile.core.def (mda_text): New module.
3212 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3213 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3214 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3215 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3216 here.
3217 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3218 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3219 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3220 here.
3221 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3222 to ..
3223 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3224 ... here
3225 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3226 here.
3227 * grub-core/term/i386/vga_common.c: Removed.
3228 * include/grub/i386/vga_common.h: Likewise.
3229 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3230 (grub_vga_cr_bw_read): Likewise.
3231 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3232 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3233 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3234 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3235 grub_vga_cr_read/grub_vga_cr_write.
3236 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3237
3238 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * configure.ac: Bump version to 2.00.
3241 * grub-core/normal/main.c (features): Add feature_200_final.
3242
3243 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3244 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3245
3246 * NEWS: Fix unclarity and language mistakes.
3247
3248 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3251 additional size to 3 pages.
3252 Reported by: Stuart Hayes.
3253
3254 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * NEWS: Add 2.00 entry.
3257
3258 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3261 put explicit "/" for empty path.
3262 (wildcard_expand): Improve dprintf.
3263
3264 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3267 it's equal to currnode. This can happen with "" symlink.
3268
3269 2012-06-27 Yves Blusseau <blusseau@zetam.org>
3270
3271 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3272 echo shell command by printf command.
3273
3274 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3277 the value returned by firmware is the maximal position, not diumension.
3278 (grub_terminfo_output_state): Use a more sane fallback.
3279
3280 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3283
3284 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3287 frequency to 150 MHz.
3288
3289 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Apple fixes.
3292
3293 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3294 __APPLE_
3295 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3296 definition.
3297 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3298
3299 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 Handle slash in HFS label.
3302
3303 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3304 (grub_hfs_dir): Tanslate slash.
3305 (grub_hfs_label): Don't translate slash.
3306
3307 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3310 network protocol listing since it introduces problematic dependency on
3311 net module.
3312
3313 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3316
3317 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Init video early on yeeloong to avoid being rebooted by watchdog.
3320
3321 * grub-core/Makefile.am (gensm712): New target.
3322 (sm712_start.S): Likewise.
3323 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3324 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3325 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3326 description.
3327 * include/grub/vga.h: Move registry definitions to...
3328 * include/grub/vgaregs.h: ... here.
3329
3330 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3333 signedness.
3334
3335 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3338 platforms with firmware disk drivers in the core.
3339
3340 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3343 informative verbose message.
3344 (read_lv): Handle 64-bit segment size.
3345
3346 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3349
3350 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3353 character but still remove trainling spaces.
3354 (grub_fat_label): Ignore archive flag.
3355
3356 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3359 cast between linux_kernel_header and linux_kernel_params.
3360
3361 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3364 type for size.
3365 (grub_raid6_recover_func_t): Likewise.
3366 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3367 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3368
3369 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3372
3373 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3374
3375 Fix overflow.
3376
3377 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3378 [__NetBSD__]: Add explicit cast before bitshift.
3379
3380 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * configure.ac: Bump to 2.00~rc1.
3383
3384 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3387 half of $a0.
3388
3389 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3390 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3391
3392 * docs/grub.texi: Fix search syntax.
3393 (Multi-boot manual config): Put msdos rather than GPT example.
3394 Grammar corrections.
3395
3396 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3399
3400 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3403
3404 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3407 message on double free. Put the value of magic in case of mismatch.
3408
3409 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 Speed-up video on yeeloong.
3412
3413 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3414 add cached_ptr.
3415 (grub_video_sm712_video_fini): Unmap cached_ptr.
3416 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3417 (grub_video_sm712_set_active_render_target): Removed.
3418 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3419 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3420 sync caches.
3421
3422 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 Avoid flushing the same line multiple times on loongson.
3425
3426 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3427 Step in 32 bytes and not 1 byte.
3428 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3429 Likewise.
3430
3431 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3434 subvolumes.
3435
3436 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 Implement flow control for http.
3439
3440 * grub-core/net/http.c (parse_line): Handle response 206.
3441 (http_receive): Stall if too many packets are in the queue.
3442 (http_establish): Fix range header.
3443 (http_seek): Fix double free.
3444 (http_close): Likewise.
3445 (http_packets_pulled): New function.
3446 (grub_http_protocol): Set http_seek
3447 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3448 (ack_real): Set window depending on i_stall.
3449 (grub_net_send_tcp_packet): Likewise.
3450 (grub_net_tcp_stall): New function.
3451 (grub_net_tcp_unstall): Likewise.
3452 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3453 (grub_net_tcp_unstall): Likewise.
3454
3455 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3458
3459 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3462
3463 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * tests/util/grub-shell.in: Fix a typo.
3466
3467 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Implement flow control for tftp.
3470
3471 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3472 packets but stop only if stop condition is satisfied.
3473 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3474 `stall' instead of `eof' as stop condition.
3475 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3476 (http_err): Likewise.
3477 * grub-core/net/tftp.c (ack): Replace the first argument with data
3478 instead of socket.
3479 (tftp_receive): Stall if too many packets are in wait queue.
3480 (tftp_packets_pulled): New function.
3481 (grub_tftp_protocol): Set packets_pulled.
3482 * include/grub/net.h (grub_net_packets): New field count.
3483 (grub_net_put_packet): Increment count.
3484 (grub_net_remove_packet): Likewise.
3485 (grub_net_app_protocol): New field `packets_pulled'.
3486 (grub_net): New field `stall'.
3487
3488 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3491 sync part to handle them.
3492
3493 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3496 * grub-core/net/drivers/ieee1275/ofnet.c
3497 (grub_ieee1275_net_config_real): Likewise.
3498
3499 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3502 the direct route for server/gateway.
3503
3504 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3507 IP address to server name since we may not hame the DNS.
3508
3509 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3512 freeing random buffer on failure.
3513 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3514
3515 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3518
3519 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3522 reserved bytes.
3523 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3524 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3525 Handle malloc error correctly.
3526
3527 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3530 blocks.
3531
3532 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3535 increment.
3536
3537 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3540 none is explicitly specified.
3541
3542 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3545 while reallocating.
3546
3547 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 Respect netmask from bootp/dhcp.
3550
3551 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3552 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3553 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3554 into ...
3555 (grub_net_add_ipv4_local): ... this.
3556 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3557 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3558 (grub_net_add_ipv4_local): New proto.
3559
3560 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3563 determining EFI memory map size.
3564
3565 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3568
3569 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3572 when looking for partition separator.
3573
3574 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3577 Escape commas.
3578
3579 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 Restructure FAT driver to avoid hook in label reading as it hits a
3582 GCC bug.
3583
3584 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3585 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3586 (grub_fat_iterate_dir): Split into ...
3587 (grub_fat_iterate_init): ... this, ...
3588 (grub_fat_iterate_fini): ... this, ...
3589 (grub_fat_iterate_dir_next): ... and this. All users updated.
3590
3591 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3594 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3595 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3596 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
3597 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
3598 New fields last_key and last_key_time.
3599 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
3600 extended key-esc into extended key-extended key.
3601
3602 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 Avoid unnecessary memcpy of whole video buffer.
3605
3606 * grub-core/video/fb/video_fb.c (dirty): New struct.
3607 (framebuffer): Add members current_dirty and previous_dirty.
3608 (dirty): New function.
3609 (grub_video_fb_fill_rect): Update dirty.
3610 (common_blitter): Likewise.
3611 (grub_video_fb_scroll): Likewise.
3612 (doublebuf_blit_update_screen): Copy only dirty part.
3613 (doublebuf_pageflipping_update_screen): Likewise.
3614 (grub_video_fb_doublebuf_blit_init): Init dirty.
3615 (doublebuf_pageflipping_init): Likewise.
3616 (grub_video_fb_setup): Likewise.
3617
3618 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
3621 poll rate.
3622
3623 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Fix wildcard regexp dot and other special characters handling.
3626 Reported by: Robert Mabee.
3627
3628 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
3629 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
3630 (split_path): Trigger expansion on '?'.
3631 (unescape): New function.
3632 (wildcard_expand): Unescape parts copied without globbing.
3633 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
3634 (grub_script_arglist_to_argv): Don't unescape expansions.
3635
3636 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * include/grub/net.h (grub_net_card): New member txbufsize.
3639 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
3640 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3641 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
3642 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
3643 txbufsize.
3644 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
3645 compatible property to check for macs. Set
3646 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3647 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
3648 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
3649 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
3650 (send_card_buffer): Use txbuf.
3651 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
3652 nested function out of the parent while on it.
3653
3654 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
3657 presence check.
3658 (grub_ieee1275_net_config_real): Fix config pointer.
3659
3660 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
3663 filename parsing to non-block devices.
3664
3665 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * grub-core/kern/device.c (grub_device_open): Remove dead code.
3668
3669 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
3672 All users updated.
3673
3674 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
3677 UUID search command even if hints probing failed.
3678
3679 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * po/POTFILES.in: Regenerated.
3682
3683 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Speed-up video on fuloong.
3686
3687 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
3688 New function.
3689 (grub_pci_device_unmap_range): Handle non-cached address.
3690 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
3691 add direct_ptr.
3692 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
3693 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
3694 (grub_video_sis315pro_set_active_render_target): Removed.
3695 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
3696 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3697 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
3698 sync caches.
3699 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
3700 New proto.
3701
3702 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * docs/grub.texi (Multi-boot manual config): New section.
3705
3706 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 Avoid slow read-back from VRAM.
3709
3710 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3711 Move from here ...
3712 * grub-core/video/fb/video_fb.c
3713 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
3714 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
3715 (front_target): Remove front_target. Add pages.
3716 (grub_video_fb_init): Skip setting front_pages.
3717 (grub_video_fb_fini): Likewise.
3718 (doublebuf_blit_update_screen): Use pages.
3719 (grub_video_fb_doublebuf_blit_init): Likewise.
3720 (doublebuf_pageflipping_init): Allocate offscreen buffer.
3721 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
3722 (grub_video_fb_setup): Prefer doublebuffing.
3723
3724 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
3727 gzio.
3728
3729 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 Add loongson tests.
3732
3733 * tests/util/grub-shell.in: Handle loongson.
3734 * tests/partmap_test.in: Add loongson to the list of platform using ATA
3735 drivers.
3736 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
3737 Reboot instead of shutdown if REBOOT is defined.
3738
3739 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
3742 sized ports since unlike on real hardware qemu supports only 32-bit
3743 regs.
3744
3745 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * Makefile.util.def (grub-mkrescue): Enable on loongson.
3748 * util/grub-mkrescue.in: Handle loongson.
3749
3750 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
3753 Set is_part appropriately.
3754 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
3755 names. Canonicalize partition without full disk.
3756
3757 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 Revert usb-quiesce since it's wrong.
3760
3761 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
3762 (grub_ofdisk_init): Don't do quiesce.
3763
3764 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
3767 PowerMac workaround to Xserves as well.
3768 Information supplied by: Benjamin Herrenschmidt.
3769
3770 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 Don't assume that beginning address is also the entry point on ppc.
3773
3774 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
3775 (grub_linux_boot): Use linux_entry.
3776 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
3777 (grub_linux_load64): Likewise.
3778
3779 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
3782
3783 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
3786 needlessly lose the console.
3787
3788 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
3791 space.
3792
3793 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Remove non-functional EFI grub_get_rtc. Put a better fatal message
3796 than current grub_get_rtc() not implemented when booted with
3797 coreboot without TSC.
3798
3799 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
3800 Add machine/time.h to kernel headers on loongson.
3801 * grub-core/Makefile.core.def (kernel): Remove
3802 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
3803 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
3804 (grub_get_rtc): Likewise.
3805 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
3806 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
3807 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
3808 * grub-core/kern/i386/tsc.c (grub_tsc_init)
3809 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
3810 rather than installing known non-working time source.
3811 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
3812 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
3813 * include/grub/time.h: Don't include machine/time.h.
3814 * include/grub/efi/time.h: Removed.
3815 * include/grub/i386/efi/time.h: Likewise.
3816 * include/grub/i386/ieee1275/time.h: Likewise.
3817 * include/grub/powerpc/ieee1275/time.h: Likewise.
3818 * include/grub/sparc64/ieee1275/time.h: Likewise.
3819 * include/grub/x86_64/efi/time.h: Likewise.
3820
3821 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 Remove dot on i and j when combining with above diacritics.
3824
3825 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
3826 value.
3827 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
3828 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
3829 with dotless variants when any combining above is present.
3830
3831 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
3834 text and not binary.
3835
3836 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 Stop polling as soon as we have the packet we were waiting for.
3839
3840 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
3841 All users updated.
3842 * grub-core/net/arp.c (have_pending): New var.
3843 (pending_req): Likewise.
3844 (grub_net_arp_send_request): Fill pending_req and use have_pending as
3845 stop indicator.
3846 (grub_net_arp_receive): Set have_pending.
3847 * grub-core/net/dns.c (recv_data): New field stop.
3848 (recv_hook): Set stop.
3849 (grub_net_dns_lookup): Init stop and use as stop condition.
3850 * grub-core/net/http.c (http_establish): Use headers_recv as stop
3851 condition.
3852 * grub-core/net/net.c (grub_net_poll_cards): New argument
3853 stop_condition. Stop when it goes true.
3854 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
3855 indicator.
3856 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
3857
3858 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 Keep TX and RX buffers on EFI rather than always allocate new ones.
3861
3862 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
3863 card. All users updated.
3864 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
3865 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
3866 (get_card_packet): Likewise.
3867 (grub_efinet_findcards): Init new fields.
3868
3869 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
3872 compilation error on sparc64.
3873
3874 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 Use ITC on IA64 rather than broken routine based on daytime.
3877
3878 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
3879 ia64.
3880 (grub_get_rtc) [__ia64__]: Likewise.
3881 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
3882 (get_itc): New function.
3883 (grub_rtc_get_time_ms): Likewise.
3884 (grub_machine_init): Calibrate ITC.
3885 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
3886 Keep only on non-ia64. Don't export since it's broken and used only
3887 if TSC is unavailable.
3888
3889 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
3892 even if it's used.
3893 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
3894 Skip if parent is unused.
3895
3896 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
3899
3900 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Fix wildcard escaping.
3903
3904 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
3905 * grub-core/script/execute.c (wildcard_escape): .. to here.
3906 Don't escape dot.
3907 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
3908 * grub-core/script/execute.c (wildcard_unescape): .. to here.
3909 Don't escape dot.
3910 * grub-core/script/execute.c (gettext_append): Always escape.
3911 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
3912 * grub-core/script/yylex.l: Don't cut away the escaping.
3913 * tests/grub_script_echo1.in: Add tests with wildcard.
3914
3915 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
3918 (ftdi_hw_configure): Likewise.
3919 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
3920 define.
3921 (real_config): Handle 1.5 stop bits.
3922 (pl2303_hw_configure): Likewise.
3923
3924 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * Makefile.am: Add ppc linux bootcheck.
3927 * grub-core/tests/boot/linux-ppc.cfg: New file.
3928 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
3929
3930 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * tests/grub_script_expansion.in: Skip network protocols.
3933
3934 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
3937
3938 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
3941 --rom-directory.
3942 Add -graft-points.
3943
3944 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 ESCC serial driver for conducting sautomated tests in qemu.
3947 Not tested on real hardware.
3948
3949 * include/grub/serial.h (grub_serial_port): New field escc_desc.
3950 * grub-core/term/ieee1275/escc.c: New file.
3951 * grub-core/Makefile.core.def (escc): New module.
3952
3953 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
3956 invalid on error.
3957 (serial_hw_fetch): Don't read invalid handle.
3958 (serial_hw_put): Don't write into invalid handle.
3959
3960 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Add a 1.5 stop bits value.
3963
3964 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
3965 * include/grub/serial.h (grub_serial_stop_bits_t): Add
3966 GRUB_SERIAL_STOP_BITS_1_5.
3967
3968 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
3971 value rather than let it uninited.
3972
3973 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/commands/wildcard.c (+check_file): New function.
3976 (wildcard_expand): Don't expand to non-existing files, expand with
3977 suffix and not attempt to expand if not needed.
3978
3979 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
3982 out of partitions containing other partitions.
3983
3984 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
3987 on some qemu versions with GRUB.
3988
3989 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
3990 define.
3991 (grub_openbsd_bootarg_pcibios): New struct.
3992 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
3993 Add PCIINFO.
3994
3995 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * tests/util/grub-shell.in: Trim firmware output on EFI.
3998
3999 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4002 and coreboot since it's already in kernel.
4003
4004 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4007 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4008 to here. New return value start. All users updated.
4009 Recursively scan linear mappings.
4010 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4011 proto.
4012 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4013 Use grub_util_get_dm_node_linear_info.
4014 * util/getroot.c (convert_system_partition_to_system_disk): Use
4015 grub_util_info rather than grub_dprintf.
4016 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4017
4018 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4021
4022 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4023 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4024
4025 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * include/grub/types.h (grub_set_unaligned64): New function.
4028 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4029 (setup): Likewise.
4030
4031 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4034 (grub_ofdisk_fini): Quiesce USB devices.
4035
4036 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4039 caches.
4040
4041 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4044
4045 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/disk/pata.c (grub_pata_pio_read)
4048 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4049 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4050
4051 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 Extend automated tests to qemu-mips.
4054
4055 * Makefile.am: reorganise tests and enable qemu-mips.
4056 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4057 * grub-core/tests/boot/linux.init-mips.S: New file.
4058 * tests/partmap_test.in: Handle ata0 disks.
4059 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4060 non-pc i386.
4061
4062 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4065 ia64.
4066 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4067 quotes while on it.
4068
4069 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4072 (grub_halt): Likewise.
4073 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4074
4075 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/term/serial.c (grub_serial_register)
4078 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4079 the behaviour in line with x86 platforms.
4080
4081 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4084 (grub_ata_strncpy): Likewise.
4085 (grub_ata_identify): Add missing byteswaps.
4086
4087 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4090 byte-swap.
4091 (screen_read_char): Likewise.
4092 (grub_vga_text_cls): Likewise.
4093
4094 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4097 filenames.
4098 (make_file_path): Likewise.
4099
4100 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4103 machines.
4104 Tested by: Paulo Flabiano Smorigo.
4105 Crucial information about API supplied by: Coleen <Last name unknown>.
4106 Reviewed by: Coleen <Last name unknown>.
4107
4108 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * util/grub-mkimage.c: Disable -Wcast-align.
4111
4112 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4115 as they are fatal.
4116
4117 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4120
4121 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * util/grub-probe.c (escape_of_path): Fix double free.
4124
4125 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/commands/videoinfo.c (hook): Show pitch.
4128
4129 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4132
4133 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4136 (probe): Add ieee1275 to OFW devices.
4137
4138 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4141
4142 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 Handle IBM OFW path.
4145
4146 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4147 available.
4148 (of_path_of_scsi): Handle vdevice.
4149
4150 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4153 Allocate in multiples of 16 to avoid adding a few bytes free region the
4154 windows bugs upon.
4155
4156 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4159 Allocate in multiples of 16 to avoid adding a few bytes free region the
4160 windows bugs upon.
4161 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4162
4163 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4166 resolutions.
4167 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4168 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4169
4170 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4171
4172 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4173
4174 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4177 resulted in \\ at the end of the line.
4178
4179 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4182 (grub_parser_cmdline_state): Likewise.
4183 (grub_parser_split_cmdline): Likewise.
4184
4185 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4188 /dev/root and /dev/dm-*.
4189
4190 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4193 fix partially stale display.
4194
4195 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4198 substraction.
4199
4200 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4203 Fix MBR remapping workaround.
4204 (grub_util_biosdisk_read) [__linux__]: Likewise.
4205
4206 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4209
4210 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * configure.ac: Bump to beta6.
4213
4214 2012-05-31 Christer Weinigel <christer@weinigel.se>
4215
4216 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4217
4218 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4221 (grub_cmd_linux): Likewise.
4222
4223 2012-05-31 Christer Weinigel <christer@weinigel.se>
4224
4225 Fix EHCI low-speed.
4226
4227 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4228 (GRUB_EHCI_MULT_TWO): Likewise.
4229 (GRUB_EHCI_MULT_THREE): Likewise.
4230 (GRUB_EHCI_CMASK_MASK): New enum value.
4231 (GRUB_EHCI_SMASK_MASK): Likewise.
4232 (GRUB_EHCI_CMASK_OFF): Likewise.
4233 (GRUB_EHCI_SMASK_OFF): Likewise.
4234 (grub_ehci_pci_iter): Enable periodic schedule.
4235 (grub_ehci_parse_notrun): Likewise.
4236 (grub_ehci_restore_hw): Likewise.
4237 (grub_ehci_setup_qh): Set flags for low speed transfers.
4238 (grub_ehci_find_qh): Use periodic list for low speed.
4239 (grub_ehci_setup_transfer): Check periodic queue as well.
4240 (grub_ehci_check_transfer): Likewise.
4241 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4242
4243 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4244
4245 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4246 parameter is used.
4247
4248 2012-05-31 Peter Jones <pjones@redhat.com>
4249
4250 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4251 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4252 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4253
4254 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4257 uninited variable. Allocate at least setup_sects.
4258
4259 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 Fix handling of EFI with big memory maps.
4262
4263 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4264 (real_mode_mem): Likewise.
4265 (real_mode_target): Likewise.
4266 (real_mode_pages): Likewise.
4267 (prot_mode_pages): Likewise.
4268 (linux_params): New var.
4269 (linux_cmdline): Likewise.
4270 (free_pages): Don't set real mode variables.
4271 (allocate_pages): Don't allocate real mode memory.
4272 (grub_e820_add_region): Remove the limit.
4273 (grub_linux_boot): Allocate and copy real mode memory.
4274 (grub_linux_unload): Free linux_cmdline.
4275 (grub_cmd_linux): Use temporary storage for parameters.
4276 (grub_cmd_initrd): Likewise.
4277 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4278 (linux_kernel_params): Make it 1K big.
4279
4280 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * Makefile.util.def: Remove -Wno-format.
4283 * grub-core/Makefile.core.def: Likewise.
4284
4285 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * tests/cmp_unit_test.c: Add missing failure message.
4288 * tests/example_unit_test.c: Likewise.
4289 * tests/printf_unit_test.c: Likewise.
4290
4291 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4294 relaxation of protective MBR requirements.
4295
4296 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * configure.ac: Add condition for COND_HOST_XNU.
4299 * Makefile.util.def (10_xnu): New script.
4300 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4301
4302 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4305 objconv bug.
4306
4307 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4310 Binary on other platforms stays identical.
4311
4312 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4315 Apple.
4316
4317 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4320
4321 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4324 rather than defining size_t ourselves to avoid conflict.
4325
4326 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4329 initialisation to avoid __bzero reference.
4330
4331 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4334 version.
4335 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4336 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4337 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4338 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4339 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4340
4341 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4344 * grub-core/kern/misc.c: Likewise.
4345 * grub-core/loader/i386/xnu.c: Likewise.
4346 * include/grub/i386/tsc.h: Likewise.
4347 * include/grub/symbol.h: Likewise.
4348
4349 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4352 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4353 on older compiler.
4354
4355 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4358 Implement Apple flavour.
4359 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4360
4361 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4364 (memmove) [__APPLE__]: Likewise.
4365 (memcpy) [__APPLE__]: Likewise.
4366 (memset) [__APPLE__]: Likewise.
4367 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4368 (memmove) [__APPLE__]: Likewise.
4369 (memcpy) [__APPLE__]: Likewise.
4370 (memset) [__APPLE__]: Likewise.
4371
4372 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4375 dependency discard.
4376
4377 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * grub-core/normal/main.c (read_config_file): Provide config_file and
4380 config_directory.
4381 * util/grub.d/41_custom.in: Use config_directoy when available.
4382
4383 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4386 (grub_bfs_dir): Likewise.
4387
4388 2012-05-27 Peter Jones <pjones@redhat.com>
4389
4390 The old code gives arguments to a printf function which can't work
4391 correctly, and the compiler complains.
4392
4393 * grub-core/tests/example_functional_test.c (example_test): Add
4394 missing text.
4395 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4396 * include/grub/test.h (grub_test_assert_helper): New declaration.
4397 (grub_test_assert): Use grub_test_assert_helper.
4398
4399 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4402 (exfctest): ... this to avoid overlong filenames.
4403 All users updated.
4404
4405 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 Handle "." and ".." on squashfs.
4408
4409 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4410 Make inode numbers into stack.
4411 (grub_squash_read_symlink): Use stack.
4412 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4413 (make_root_node): Fill stack.
4414 (grub_squash_open): Use stack.
4415
4416 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4419 freeing.
4420
4421 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4424 stderr on test calls.
4425
4426 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4429
4430 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4433
4434 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4437 "..".
4438
4439 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4442 (grub_hfsplus_iterate_dir): Add "." and "..".
4443
4444 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4447 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4448
4449 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4452 (find_path): Handle "." and "..".
4453
4454 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4457 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4458 (grub_affs_iterate_dir): Handle hardlinks.
4459
4460 2012-05-26 Matthew Garrett <mjg@redhat.com>
4461
4462 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4463 (grub_efi_console_fini): Likewise.
4464 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4465 (grub_video_gop_fill_mode_info): Rename to ...
4466 (grub_video_gop_fill_real_mode_info): ... this.
4467 (grub_video_gop_fill_mode_info): New function.
4468 (grub_video_gop_setup): Setup double framebuffer.
4469 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4470 Free offscreen.
4471 (grub_video_gop_swap_buffers): Copy framebuffer.
4472 (grub_video_gop_fini): Free offscreen buffer.
4473 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4474 New enum.
4475 (grub_efi_gop_blt_pixel): New struct.
4476
4477 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * gentpl.py: Remove error disabling for objconv.
4480
4481 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * configure.ac: Remove -Wunitialized as it's not available on older
4484 compilers.
4485
4486 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 Fix extent overflow comparator.
4489
4490 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4491 (grub_hfsplus_read_block): Set type.
4492 (grub_hfsplus_cmp_extkey): Compare type.
4493
4494 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4497
4498 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4501 than 0.
4502
4503 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4506 (dejavu_bold_14.pf2): New target.
4507
4508 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * configure.ac: Fix djvu font detection.
4511
4512 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4515 ext* instead of ext2.
4516
4517 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4520 name with \0.
4521
4522 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4523
4524 * docs/grub-dev.texi: Remove dot from .png.
4525
4526 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4529 protective entry in any slot.
4530 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4531 if protective entry is found in any slot.
4532
4533 Protective entry in non-first slot make no sense but is a widespread
4534 brain damage.
4535
4536 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4539
4540 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4543 with old reiserfs.
4544 (grub_reiserfs_open): Don't free root.
4545
4546 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4549 after freeing for safety.
4550
4551 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4554 Reported by: Jordan Uggla.
4555
4556 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4557
4558 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4559 actual implementation. Specifically, clarify that the grub menu will
4560 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4561 passed.
4562
4563 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4564
4565 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4566 of r0.
4567
4568 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 Remove unjustified hard dependency of normal.mod on gfxterm.
4571
4572 * include/grub/term.h (grub_term_output): New member fullscreen.
4573 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4574 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4575 (grub_gfxterm): Set .fullscreen.
4576 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4577 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4578
4579 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4582 mentioning possible problems with non-ASCII (non-compliant) ISOs.
4583 Mention case-insensitive AFFS, SFS and JFS.
4584
4585 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4588
4589 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4592 a bad FS.
4593
4594 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
4597 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
4598
4599 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
4602 (grub_jfs_mount): Fill caseins.
4603 (grub_jfs_find_file): Respect caseins.
4604
4605 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
4608 through UTF-16.
4609
4610 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
4613 New argument origpath. All users updated.
4614
4615 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
4618 (read_attr): Ensure that we read start of possibly compressed block.
4619
4620 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
4623 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
4624 All users updated.
4625
4626 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
4629 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
4630 (dejavu.pf2): Replace with ...
4631 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
4632 this.
4633
4634 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * util/grub.d/20_linux_xen.in: Add missing line.
4637
4638 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
4641 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
4642 (grub_utf16_to_utf8): Likewise.
4643
4644 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
4647 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
4648 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4649 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
4650 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4651 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
4652
4653 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4656 a bad FS.
4657
4658 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * grub-core/fs/udf.c (read_string): Bail out on size=0.
4661 (grub_udf_read_symlink): Handle read_string failure.
4662
4663 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
4666 comment.
4667
4668 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Fix handling of UDF symlinks.
4671
4672 * grub-core/fs/udf.c (read_string): New argument outbuf.
4673 All users updated.
4674 (grub_ufs_read_symlink): Rename to ...
4675 (grub_udf_read_symlink): ... this. All users updated.
4676 Handle symlinks with more than one component.
4677
4678 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
4681 symlinks. Replace leading colon with a slash.
4682
4683 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
4686 filename.
4687
4688 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
4691 match in inner node.
4692
4693 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
4696 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
4697 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
4698 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
4699 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
4700 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
4701 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
4702 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
4703 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
4704
4705 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 Use grub-probe and not cmp to check that disk is empty.
4708
4709 * util/grub-install.in: Use grub-probe for zero-check.
4710 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
4711 (probe): Handle PRINT_ZERO_CHECK.
4712 (argp_parser): Handle -t zero_check.
4713
4714 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 Flush block cache on adding disk to device map.
4717
4718 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
4719 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
4720 adding.
4721 (read_device_map): Likewise.
4722 (open_device): Flush on opening.
4723
4724 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
4727 (handle_symlink): Fix off-by-one error.
4728 Canonicalize the target.
4729 (grub_cpio_dir): Canonicalize the name.
4730 Fix memory leak.
4731 Set directory.
4732 (grub_cpio_open): Canonicalize the name.
4733
4734 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
4737 handling.
4738
4739 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
4742 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
4743
4744 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
4747 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
4748 All users updated.
4749
4750 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
4753 counterpart.
4754
4755 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 Fix UFS1 big file support.
4758
4759 * grub-core/fs/ufs.c (INODE): Removed.
4760 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
4761 64-bit.
4762 (INODE_MODE): Simplify.
4763 (grub_ufs_inode): Use uint64_t for size and not int64_t.
4764 (grub_ufs_lookup_symlink): Don't use INODE.
4765
4766 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 Fix minixfs with non-power-of-two blocks since it's supported by minix.
4769
4770 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
4771 (grub_minix_data): Replace log_block_size with block_size.
4772 (grub_minix_read_file): Use block_size but avoid 64-bit division.
4773 (grub_minix_mount): Fill block_size.
4774
4775 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * configure.ac: Bump to beta5.
4778
4779 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Fix wrapped HFS+ handling.
4782
4783 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
4784 blocks_start. All users updated.
4785 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
4786 wrapping offset.
4787 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
4788
4789 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Fix long symlinks on reiserfs.
4792
4793 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
4794 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
4795 (grub_reiserfs_iterate_dir): Save size for non-directories.
4796 (grub_reiserfs_open): Don't reread stat block as we already know the
4797 size.
4798 (grub_reiserfs_read): Split into...
4799 (grub_reiserfs_read_real): ... and ...
4800 (grub_reiserfs_read): ...this.
4801
4802 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 Fix non-indexed JFS.
4805
4806 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
4807 (grub_jfs_data): New field namecomponentlen.
4808 (grub_jfs_mount): Fill namecomponentlen.
4809 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
4810
4811 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
4814 * tests/grub_script_echo1.in: Add tests.
4815
4816 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * util/grub-install.in: Ignore empty devicetree directory.
4819
4820 2012-05-08 Bean <bean123ch@gmail.com>
4821
4822 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
4823 All users updated.
4824 (free_rsm): Free header as well.
4825 (free_old_fragments): Fix memory leak.
4826 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
4827 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
4828 (destroy_pq): Likewise.
4829 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
4830
4831 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
4834 resulting hash as a precaution.
4835
4836 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
4839 '_' in variable names.
4840 * grub-core/net/net.c (grub_net_network_level_interface_register):
4841 Likewise.
4842
4843 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 Fix AFFS with non-512B blocks.
4846
4847 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
4848 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
4849 (grub_affs_data): Replace blocksize with log_blocksize.
4850 (grub_affs_read_block): Fix non-512B blocks.
4851 (grub_affs_read_symlink): Likewise.
4852 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
4853 (grub_affs_read): Fix non-512B blocks.
4854 (grub_affs_label): Likewise.
4855 (grub_affs_mtime): Likewise.
4856 (grub_affs_mount): Fix block detection routine.
4857
4858 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 Add filesystem mtime to AFFS.
4861
4862 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
4863 (aftime2ctime): New function.
4864 (grub_affs_dir): Use aftime2ctime.
4865 (grub_affs_label): Fix return value.
4866 (grub_affs_mtime): New function.
4867 (grub_affs_fs): Add mtime.
4868
4869 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
4872 UTF-8.
4873
4874 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
4877 UTF-8.
4878
4879 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
4882
4883 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
4886 flags.
4887 (FLAGS_CASE_SENSITIVE): New enum value.
4888 (cache_entry): New struct.
4889 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
4890 cache_size and cache.
4891 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
4892 Add log_blocksize and fshelp_flags.
4893 (grub_sfs_read_extent): Handle non-512 blocks.
4894 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
4895 (grub_sfs_read_file): Handle non-512 blocks.
4896 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
4897 fshelp_flags.
4898 (grub_sfs_read_symlink): Handle non-512 blocks.
4899 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
4900 (grub_sfs_dir): Free cache.
4901 (grub_sfs_close): Likewise.
4902
4903 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
4906 filesystems.
4907
4908 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
4911
4912 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
4915
4916 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
4919 (grub_sfs_read_extent): Likewise.
4920 (grub_sfs_read_block): Likewise.
4921 (grub_sfs_mount): Likewise.
4922 (grub_sfs_iterate_dir): Likewise.
4923 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
4924 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
4925
4926 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Fix errors on compressed NTFS with 512B clusters.
4929
4930 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
4931 types.
4932 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
4933 not 0.
4934 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
4935 Relax check for inline extents.
4936 (ntfscomp): Return correct -1 on error and not 0.
4937
4938 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * util/grub-install.in: Fix handling of prefix containing spaces.
4941
4942 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
4945 (grub_squash_read_data): Fix offset byte-swapping.
4946
4947 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
4950 per common usage and preffered in several parts of code.
4951 (grub_memcmp): Likewise.
4952 (grub_strncmp): Likewise.
4953 * include/grub/misc.h (grub_strcasecmp): Likewise.
4954 (grub_strncasecmp): Likewise.
4955 * Makefile.util.def (cmp_test): New test.
4956 (grub_script_strcmp): Likewise.
4957 * tests/cmp_unit_test.c: New file.
4958 * tests/grub_script_strcmp.in: Likewise.
4959 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
4960
4961 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * include/grub/pci.h: Move enums into no-asm part.
4964
4965 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
4968
4969 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4970
4971 * util/getroot.c (find_hurd_root_device): Try to make error message
4972 and comments to translators clearer.
4973
4974 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
4977
4978 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
4981 btrfs.
4982
4983 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * docs/grub.cfg: Update.
4986
4987 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * docs/grub.texi (PXE): Remove not present variables.
4990
4991 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/net/net.c (defserver_set_env): New function.
4994 (defserver_get_env): Likewise.
4995 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
4996
4997 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5000 entries.
5001
5002 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5005 * grub-core/kern/emu/hostdisk.c: Likewise.
5006
5007 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5008
5009 Handle hurd userspace partitions.
5010
5011 * util/getroot.c (find_hurd_root_device): New function.
5012 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5013
5014 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5017 names.
5018 Reported by: Bastian Blank.
5019
5020 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5023 crossing page boundary.
5024
5025 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 Fix B-tree search in BFS, especially in presence of non-ASCII
5028 characters.
5029
5030 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5031 (find_in_b_tree): Use standard bsearch + btree algorithm.
5032
5033 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5036 and so on.
5037
5038 2012-05-03 Matthew Garrett <mjg@redhat.com>
5039 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 Suspend broadcom cards in order to stop their DMA.
5042
5043 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5044 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5045 (pci): Don't build on x86 EFI.
5046 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5047 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5048 New function.
5049 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5050 stop_broadcom if running on EFI.
5051 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5052 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5053 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5054 (grub_pci_find_capability): New proto.
5055
5056 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * docs/grub.texi: Remove dot from the extension as it apparently
5059 doesn't work with some makeinfo versions.
5060
5061 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5064 with GRUB expectance.
5065
5066 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5069
5070 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5073 zero after directory block since last entry may be not 0-terminated if
5074 it ends on block boundary. Use continue instead of if spanning whole
5075 loop.
5076
5077 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 Support 4K sectors UDF inline files.
5080
5081 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5082 (grub_udf_extended_file_entry): Likewise.
5083 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5084 All users updated.
5085 (get_fshelp_size): New function.
5086 (grub_udf_read_icb): Read whole block.
5087 (grub_udf_iterate_dir): Likewise.
5088 (grub_udf_dir): Likewise.
5089 (grub_udf_open): Likewise.
5090
5091 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5094
5095 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5098 inline symlinks in addition to workaround.
5099
5100 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5103
5104 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5107
5108 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5111
5112 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 Fix reiserfs big seek times.
5115
5116 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5117 exact. All users updated.
5118 (grub_reiserfs_read): Use nearest btree search for seeking.
5119 Fix return value on error.
5120
5121 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5124 entries.
5125 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5126 * docs/grub.texi: Update menuentry description.
5127
5128 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5131 crash when embedding onto filesystem.
5132
5133 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5136 name.
5137
5138 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5141
5142 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5145 commit.
5146
5147 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5148 2012-05-01 Bean <bean123ch@gmail.com>
5149
5150 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5151
5152 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5155 Special behaviour for len = 0 to read whole file isn't used anywhere and
5156 can cause buffer ovewrflows in several places.
5157
5158 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5161
5162 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 Handle RAIDZ on non-512B sectors.
5165
5166 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5167 max_children_ashift.
5168 (fill_vdev_info_real): Fill max_children_ashift.
5169 (read_device): Use max_children_ashift.
5170
5171 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5174
5175 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5178 disk names.
5179 * docs/grub.texi: Update device.map parts.
5180
5181 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 Don't scan into non-diskfilter devices having diskfilter names.
5184
5185 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5186 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5187 handling.
5188 (scan_disk_hook): New function.
5189
5190 2012-04-29 Bean <bean123ch@gmail.com>
5191
5192 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5193 allocation.
5194
5195 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5196
5197 * configure.ac: Detect starfield theme font path
5198 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5199
5200 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5203 geometry on serial consoles.
5204
5205 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5208 because of network consoles.
5209
5210 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5213 handling.
5214
5215 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5218 falls on Q syndrom.
5219
5220 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5223 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5224
5225 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5228 Allocate at lest 8192 for temporary buffer as required for lzo.
5229
5230 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5233 to cluster_bits, since it's already added in.
5234 (grub_fat_read_data): Likewise.
5235
5236 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5239 as long as cluster size is multiple of 512 bytes.
5240
5241 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * util/grub-mkrescue.in: Fix locale directory.
5244
5245 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/kern/emu/hostdisk.c (map): Make static.
5248
5249 2012-04-23 Bean <bean123ch@gmail.com>
5250
5251 * util/grub-fstest.c (fstest): Add missing break.
5252
5253 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5254
5255 Fix hurd build.
5256
5257 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5258 not define nr variable.
5259 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5260 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5261 grub_find_device): Do not define.
5262
5263 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 Fix kfreebsd compile and behaviour.
5266
5267 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5268 format-security.
5269 * util/getroot.c: Fix wait.h include.
5270 (grub_guess_root_devices): Error if grub_find_device fails.
5271 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5272 (grub_util_get_dev_abstraction): Likewise.
5273 (grub_util_pull_device): Likewise.
5274 (grub_util_get_grub_dev): Likewise.
5275 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5276
5277 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 Fix and unify wholedisk detection.
5280
5281 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5282 is_part. All users updated.
5283 (device_is_wholedisk): Removed.
5284 (grub_util_biosdisk_get_grub_dev): Use is_part.
5285
5286 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5289 mode.
5290
5291 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * configure.ac: Bump to beta4.
5294
5295 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5298 --fs-uuid --set UUID syntax.
5299
5300 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5303 disunification.
5304
5305 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5308
5309 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
5310
5311 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5312
5313 2012-04-18 Mike Gilbert <floppym@gentoo.org>
5314
5315 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5316
5317 2012-04-18 Bean <bean123ch@gmail.com>
5318
5319 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5320 place.
5321
5322 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5325 users updated.
5326 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5327 corresponding to GRUB partitions.
5328 (grub_util_biosdisk_write): Likewise.
5329
5330 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 Scan mdraid before LVM.
5333
5334 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5335 (grub_diskfilter_register_front): ... this.
5336 (grub_diskfilter_register_back): New function.
5337 All users of grub_diskfilter_register updated.
5338
5339 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * util/grub-install.in: Fix an automatic target detection bug.
5342
5343 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * util/grub-install.in: New option --efi-directory.
5346
5347 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5350 boot services if we have no other choice.
5351
5352 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5355 document it.
5356 * tests/util/grub-shell.in: Update to --directory.
5357
5358 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5361
5362 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5365 (grub_minix_read_file): Likewise.
5366 (grub_minix_read_inode): Likewise.
5367 (grub_minix_find_file): Likewise.
5368 (grub_minix_dir): Likewise.
5369
5370 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * util/grub-setup.c (setup): Fix partition handling and blocklist
5373 check.
5374
5375 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5378 redundant buggy overlap check.
5379
5380 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5383 and grub-mknetdir.
5384
5385 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5388 kh.loadflags on pre-2.00 kernels.
5389
5390 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Terminate UNDI and PXE before launching the payload to avoid problems
5393 with DMA.
5394
5395 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5396 (grub_loader_flags): ... this. All users updated.
5397 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5398 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5399 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5400 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5401 function.
5402 (grub_pxe_restore): Likewise.
5403 (fini_hnd): New var.
5404 (GRUB_MOD_INIT): Register shutdown hook.
5405 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5406 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5407 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5408 (grub_loader_set): Rename second argument to flags.
5409
5410 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5413 written bytes.
5414 (grub_get_num_of_utf8_bytes): New function.
5415 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5416 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5417 executing it.
5418 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5419 (grub_ucs4_to_utf8): Change return type.
5420
5421 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5424 warning.
5425 * grub-core/fs/bfs.c (hop_level): Likewise.
5426 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
5427
5428 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/lib/adler32.c: Recode due to license unclearness.
5431
5432 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5435 (test_header): Likewise.
5436
5437 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 Fix --help formatting.
5440
5441 * util/grub-mkconfig_lib.in (print_option_help): New function.
5442 (grub_fmt): Likewise.
5443 * util/grub-install.in: Use print_option_help and grub_fmt.
5444 * util/grub-kbdcomp.in: Likewise.
5445 * util/grub-mkconfig.in: Likewise.
5446 * util/grub-mknetdir.in: Likewise.
5447 * util/grub-mkrescue.in: Likewise.
5448 * util/grub-mkstandalone.in: Likewise.
5449 * util/grub-reboot.in: Likewise.
5450 * util/grub-set-default.in: Likewise.
5451 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5452
5453 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * linguas.sh: Remove autogenerated *.po.
5456
5457 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * po/README: Move language fetcing to ...
5460 * linguas.sh: ... here.
5461 * po/README: Point to linguas.sh.
5462
5463 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * po/README: Exclude ko.po due to disclaimer problems.
5466
5467 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5470 len = 0.
5471 (grub_gettext_translate_real): Handle 0th string.
5472 (grub_gettext_translate): Ensure that "" isn't translated.
5473
5474 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5477 TRANSLATORS comment.
5478 (grub_diskfilter_print_partmap): Propagate changing of error into
5479 warning.
5480
5481 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5484 to uint64_t to prevent overflow.
5485 (grub_diskfilter_lv): Increase start_extent and extent_count
5486 to uint64_t to prevent overflow.
5487
5488 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * configure.ac: Increase version.
5491
5492 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5495
5496 * po/Rules-translit: New file.
5497 * po/arabic.sed: Likewise.
5498 * po/cyrillic.sed: Likewise.
5499 * po/greek.sed: Likewise.
5500 * po/hebrew.sed: Likewise.
5501 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5502 * po/Makefile.in.in: Add extra_dist4.
5503
5504 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5507
5508 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5509 modify names. Introduce MODE_BIGENDIAN.
5510 * grub-core/fs/minix_be.c: New file.
5511 * grub-core/fs/minix2_be.c: Likewise
5512 * grub-core/fs/minix3_be.c: Likewise.
5513 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5514 minix3_be.
5515 * grub-core/Makefile.core.def (minix_be): New module.
5516 (minix2_be): Likewise.
5517 (minix3_be): Likewise.
5518
5519 2012-04-01 Felix <email@hamburg.de>
5520
5521 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5522 (devs): Add MBP 2011.
5523
5524 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5527
5528 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * grub-core/normal/cmdline.c (print_completion): New field
5531 prompt_len.
5532 (grub_cmdline_get): Handle width properly.
5533
5534 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5537
5538 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
5541 after 29th of February.
5542
5543 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 Fix exfat endianness handling.
5546
5547 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5548 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5549 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5550 Byte-swap utf16 when necessary.
5551 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5552
5553 2012-03-31 Anton Blanchard <anton@samba.org>
5554 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 Fix btrfs endianness handling.
5557
5558 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5559 (lower_bound): Make root uint64_t. Use root in le.
5560 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5561 (find_path): Fix template key init.
5562 (grub_btrfs_dir): Fix mtime byteswap.
5563 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5564
5565 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5568 recursion_depth. Break infinite resursions. All users updated.
5569
5570 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5573 after free.
5574 Reported by: Peter Jones.
5575
5576 2012-03-31 Anton Blanchard <anton@samba.org>
5577
5578 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5579 8 bit values.
5580
5581 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * util/grub-install.in: Fix nvram call for PreP.
5584
5585 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5588 the error when some elements are missing into a warning.
5589
5590 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5593
5594 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
5595
5596 * docs/grub.texi (Invoking grub-probe): New section.
5597 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
5598
5599 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 Fix tab and wide character handling in editor and menu.
5602
5603 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
5604 agglomerate control characters with combining marks.
5605 (bidi_line_wrap): Allow break on tab.
5606 (grub_unicode_get_comb_start): New function.
5607 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
5608 and tab correctly.
5609 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
5610 with a space.
5611 * grub-core/normal/term.c (print_ucs4_terminal): New argument
5612 fixed_tab_size. All users updated.
5613 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
5614 (grub_term_getcharwidth): Handle \t.
5615 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
5616 and copy.
5617
5618 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 Handle big-endian mdraid.
5621
5622 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
5623 * grub-core/Makefile.core.def (mdraid09_be): New module.
5624 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
5625 rather than grub_le_to_cpu* and grub_cpu_to_le*.
5626 * grub-core/disk/mdraid_linux_be.c: New file.
5627
5628 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
5631
5632 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5635 missing quotes which caused confusion among translators.
5636
5637 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * util/grub-mkconfig_lib.in: Fix typo.
5640
5641 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
5644 spaces.
5645 * tests/grub_script_leading_whitespace.in: New file.
5646 * Makefile.util.def (grub_script_leading_whitespace): New test.
5647
5648 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
5651 to work.
5652
5653 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
5656 starts with control character.
5657
5658 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
5661 overflow.
5662 (grub_gdb_outbuf): Likewise.
5663
5664 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
5667 zero terminator. Fixes a crash.
5668
5669 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
5672 beyond 4 GiB.
5673 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
5674 images independently of preffered adderss field.
5675
5676 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
5679 * grub-core/commands/regexp.c: Likewise.
5680 * grub-core/loader/i386/linux.c: Likewise.
5681 * grub-core/partmap/msdos.c: Likewise.
5682 * grub-core/script/execute.c: Likewise.
5683 * grub-core/term/gfxterm.c: Likewise.
5684
5685 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Add variable parsing in $"..." and fix several mismatches with bash.
5688
5689 * Makefile.util.def (grub_script_gettext): New test.
5690 * grub-core/script/execute.c (parse_string): New function.
5691 (gettext_append): Likewise.
5692 (grub_script_arglist_to_argv): Use gettext_append.
5693 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
5694 * tests/grub_script_gettext.in: New file.
5695
5696 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 Fix handling of leading spaces in scripts.
5699
5700 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
5701 spaces.
5702 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
5703 other than skipping \r. All users updated.
5704 * tests/grub_script_echo1.in: Add space-related tests.
5705 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
5706
5707 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
5710
5711 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * configure.ac: Bump up the version to beta2.
5714
5715 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 Fix gettext reload bugs (e.g. inability to disable gettext
5718 once enabled).
5719
5720 * grub-core/gettext/gettext.c: Encapsulate all static variables in
5721 main_context and secondary_context. All functions updated.
5722 (grub_gettext_translate): Rename to ...
5723 (grub_gettext_translate_real): ... this. Return NULL on failed
5724 translate.
5725 (grub_gettext_translate): Handle secondary context.
5726 (grub_gettext_delete_list): Close file and zero-out the context.
5727 (grub_mofile_open): Don't call grub_gettext_delete_list.
5728 Don't close file.
5729 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
5730 if locale="" to avoid pointless error message.
5731 (grub_gettext_env_write_lang): Update lang even if load fails.
5732 Handle secondary context.
5733 (grub_gettext_reread_prefix): New function.
5734 (read_main): Likewise.
5735 (read_secondary): Likewise.
5736 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
5737 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
5738 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
5739 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
5740
5741 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * configure.ac: Decrease warning level to avoid spurious warnings and
5744 to be able to compile with GCC 4.2.
5745 * Makefile.util.def: Remove -Wno-error=logical-op.
5746
5747 2012-03-10 William Bittner <william.bittner@gmail.com>
5748
5749 * util/import_unicode.py: Add missing brackets around string for
5750 python 3 support.
5751
5752 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 Fix efi chainloader on network root.
5755
5756 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
5757 network devices.
5758 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
5759 New function.
5760
5761 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
5764 unused show_text member.
5765 * docs/grub.texi: Document "text" property.
5766
5767 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
5770 in dprintf.
5771
5772 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 Fix IMSM handling on Fedora.
5775
5776 * util/getroot.c (grub_util_is_imsm): New function.
5777 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
5778
5779 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * Makefile.am: Strip gold section.
5782 * conf/Makefile.common: Likewise.
5783 * gentpl.py: Likewise.
5784 * grub-core/Makefile.core.def: Likewise.
5785 * grub-core/genmod.sh.in: Likewise.
5786
5787 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
5790 * util/grub.d/20_linux_xen.in: Likewise.
5791 Based on Debian patch.
5792
5793 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * util/grub.d/10_linux.in: Fix syntax error resulting in
5796 Richard Laager's patch.
5797 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
5798
5799 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
5802 dependencies.
5803
5804 2012-03-10 Richard Laager <rlaager@wiktel.com>
5805
5806 * util/grub.d/10_linux.in: Fix ZFS root passing.
5807
5808 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5811 * grub-core/commands/xnu_uuid.c: Likewise.
5812 * grub-core/loader/efi/appleloader.c: Likewise.
5813 * grub-core/script/execute.c: Likewise.
5814 * grub-core/script/main.c: Likewise.
5815 * util/grub-mkfont.c: Likewise.
5816
5817 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * util/grub-mkfont.c (options): Use more appropriate "select" that
5820 "set" for face index.
5821
5822 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * util/grub-editenv.c (options): Gettextize command summaries.
5825
5826 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
5829 "out of memory" error messagge.
5830
5831 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
5834 of diskfilter for diskfilter on diskfilter support.
5835
5836 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
5839
5840 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * util/grub-install.in: Check for themes/starfield/theme.txt and not
5843 themes/starfield.
5844
5845 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
5848
5849 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
5852
5853 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
5856 of error message.
5857
5858 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
5861
5862 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
5865 message.
5866 * util/grub-install.in: Fix and gettextize error message.
5867
5868 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
5871 Gettextize.
5872 * util/grub-mount.c (options): Likewise.
5873
5874 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
5877 gettextize.
5878 * grub-core/commands/search_wrap.c (options): Likewise.
5879
5880 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
5883
5884 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
5887 size calculation.
5888 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
5889 none is known.
5890
5891 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
5894 "temporary" since it's used in identifier and is limited in space.
5895
5896 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * po/POTFILES.in: Regenerate. Include *.h since they contain
5899 translatable strings as well.
5900
5901 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5904 byte-swap on big-endian.
5905 Reported by: Lennart Sorensen
5906
5907 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
5910 (allocate_pages): Improve dprintf.
5911 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
5912 code32_start. Fill code32_start and kernel_alignment in params.
5913 (grub_cmd_initrd): Use prot_init_space.
5914
5915 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
5918
5919 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * util/grub-install.in: Add missing dot at the end of sentence.
5922
5923 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5926 * grub-core/commands/videotest.c: Likewise.
5927 * grub-core/loader/i386/linux.c: Likewise.
5928
5929 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
5932 sentence.
5933 Reported by: Milo Casagrande.
5934
5935 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
5938 * grub-core/commands/gptsync.c: Likewise.
5939 * grub-core/commands/hashsum.c: Likewise.
5940 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5941 * grub-core/commands/legacycfg.c: Likewise.
5942 * grub-core/io/gzio.c: Likewise.
5943 * grub-core/net/net.c: Likewise.
5944 * grub-core/term/gfxterm.c: Likewise.
5945 * grub-core/term/terminfo.c: Likewise.
5946 * grub-core/tests/test_blockarg.c: Likewise.
5947 * grub-core/video/video.c: Likewise.
5948 * util/grub-install.in: Likewise.
5949 * util/grub-mkfont.c: Likewise.
5950
5951 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
5954
5955 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * grub-core/commands/search_wrap.c (options): Fix a typo.
5958 Reported by: David Prévot.
5959
5960 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
5963 description.
5964
5965 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * util/grub-script-check.c (main): Fix a syntax error message which was
5968 unclear.
5969
5970 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
5973
5974 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
5977 messages.
5978
5979 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
5982 without argument.
5983 * util/grub-mount.c (options): Likewise.
5984
5985 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
5988
5989 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * grub-core/net/http.c: Add TRANSLATORS comments.
5992 * grub-core/normal/cmdline.c: Likewise.
5993 * grub-core/normal/misc.c: Likewise.
5994 * grub-core/partmap/msdos.c: Likewise.
5995 * grub-core/parttool/msdospart.c: Likewise.
5996 * grub-core/script/execute.c: Likewise.
5997 * grub-core/script/main.c: Likewise.
5998 * grub-core/term/terminfo.c: Likewise.
5999 * grub-core/video/bitmap.c: Likewise.
6000 * util/grub-install.in: Likewise.
6001 * util/grub-mkimage.c: Likewise.
6002 * util/grub-mklayout.c: Likewise.
6003 * util/grub-setup.c: Likewise.
6004
6005 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6008 with similar messages in grub-fstest.
6009
6010 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * util/grub-install.in: Unify "option requires an argument" message
6013 with similar messages in other files.
6014 * util/grub-mkconfig.in: Likewise.
6015
6016 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * util/grub-set-default.in: Replace printf with gettext_printf (the
6019 string in in question is already translated from grub-reboot)
6020
6021 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * configure.ac: Bump up the version to beta1.
6024
6025 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6028 case when min_align = 0.
6029
6030 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6033 and fix a case when line_start overflows.
6034
6035 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * util/grub-reboot.in (usage): Mention id posibility.
6038 * util/grub-set-default.in (usage): Likewise.
6039
6040 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6043 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6044 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6045 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6046 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6047 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6048 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6049
6050 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/commands/menuentry.c (options): Remove
6053 GRUB_ARG_OPTION_REPEATABLE.
6054 Reported by: Andreas Vogel
6055
6056 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6057
6058 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6059
6060 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6061
6062 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6063 error.
6064
6065 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 Use sort -V by the idea of Georgi Georgiev.
6068
6069 * util/grub-mkconfig_lib.in (version_sort): New function.
6070 (version_test_numeric): Use version_sort.
6071
6072 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 Use submenus in grub-mkconfig.
6075
6076 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6077 * util/grub-mkconfig_lib.in (grub_quote): New function.
6078 (gettext_printf): Use gettext and not gettext_quoted to fix several
6079 messages.
6080 * util/grub.d/10_hurd.in: Use submenus.
6081 * util/grub.d/10_kfreebsd.in: Likewise.
6082 * util/grub.d/10_linux.in: Likewise.
6083 * util/grub.d/10_netbsd.in: Likewise.
6084 * util/grub.d/20_linux_xen.in: Likewise.
6085 * util/grub.d/30_os-prober.in: Likewise.
6086 * util/grub.d/10_illumos.in: Add missing quoting.
6087 * util/grub.d/10_windows.in: Likewise.
6088
6089 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 Fix menu title instability bug.
6092
6093 * grub-core/commands/menuentry.c (options): New option --id.
6094 (grub_normal_add_menu_entry): New argument id. All users updated.
6095 (grub_cmd_menuentry): Handle --id.
6096 (grub_menu_init): Accept unknown arguments.
6097 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6098 feature_menuentry_options.
6099 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6100 saved_entry.
6101 (get_entry_number): Match with id as well.
6102 * include/grub/menu.h (grub_menu_entry): New member id.
6103 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6104 * util/grub.d/00_header.in: Define menuentry_id_option.
6105 * util/grub.d/10_hurd.in: Define id.
6106 * util/grub.d/10_illumos.in: Likewise.
6107 * util/grub.d/10_kfreebsd.in: Likewise.
6108 * util/grub.d/10_linux.in: Likewise.
6109 * util/grub.d/10_netbsd.in: Likewise.
6110 * util/grub.d/10_windows.in: Likewise.
6111 * util/grub.d/20_linux_xen.in: Likewise.
6112 * util/grub.d/30_os-prober.in: Likewise.
6113
6114 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6117 "scope" with "body".
6118
6119 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6122 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6123 prot_size and prot_file_size.
6124
6125 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6128 All users updated. If easily=1 require raid-5/-6 to be full.
6129 (is_node_readable): Likewise.
6130 (scan_devices): Scan incomplete but readable LVs at the end.
6131 (grub_diskfilter_memberlist): Pull missing devices.
6132 (insert_array): Skip scanning until device is complete or scan is
6133 done otherwise.
6134 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6135 check.
6136 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6137 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6138
6139 2012-03-03 Matthew Garrett <mjg@redhat.com>
6140 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 Avoid EFI boot services when loading Linux.
6143
6144 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6145 avoid_efi_bootservices. All users updated.
6146 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6147 argument avoid_efi_bootservices. All users updated.
6148 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6149 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6150 align, min_align, relocatable, prefered_address. All users updated.
6151 Allocate avoiding boot services if kernel is relocatable.
6152 (grub_cmd_linux): Check if kernel is relocatable.
6153 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6154 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6155 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6156 avoid_efi_boot_services.
6157 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6158 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6159 (linux_kernel_params): Likewise.
6160
6161 2012-03-03 Matthew Garrett <mjg@redhat.com>
6162 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 Use EDID on EFI.
6165
6166 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6167 datasize_out.
6168 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6169 modes. Set gop_handle.
6170 (grub_video_gop_get_edid): New function.
6171 (grub_gop_get_preferred_mode): Likewise.
6172 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6173 (grub_video_efi_gop_adapter): Set .get_edid.
6174 * include/grub/efi/edid.h: New file.
6175 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6176
6177 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * util/grub-install.in: Load efivars unconditionally.
6180
6181 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * po/Rules-piglatin: Change suffix from .po-update-en to
6184 .po-update-en-piglatin.
6185
6186 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Add a pig farm.
6189
6190 * po/piglatin.sed: New file.
6191 * po/en@piglatin.header: Likewise.
6192 * po/Rules-piglatin: Likewise.
6193 * po/README: Add en@piglatin to autogenerated languages.
6194
6195 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6198 "Command for ...".
6199 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6200 "Check" since we don't check anything.
6201 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6202 is 64-bit one.
6203 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6204 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6205 (grub_md_sha512_real): Likewise.
6206
6207 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/commands/gptsync.c: Fix typographic quoting.
6210 * grub-core/commands/ieee1275/suspend.c: Likewise.
6211 * grub-core/commands/parttool.c: Likewise.
6212 * grub-core/commands/search_wrap.c: Likewise.
6213 * grub-core/commands/videoinfo.c: Likewise.
6214 * grub-core/gfxmenu/gui_label.c: Likewise.
6215 * grub-core/hello/hello.c: Likewise.
6216 * grub-core/kern/emu/main.c: Likewise.
6217 * grub-core/net/net.c: Likewise.
6218 * grub-core/normal/menu.c: Likewise.
6219 * grub-core/normal/menu_text.c: Likewise.
6220 * grub-core/normal/misc.c: Likewise.
6221 * util/grub-editenv.c: Likewise.
6222 * util/grub-install.in: Likewise.
6223 * util/grub-kbdcomp.in: Likewise.
6224 * util/grub-mkconfig.in: Likewise.
6225 * util/grub-mknetdir.in: Likewise.
6226 * util/grub-mkrescue.in: Likewise.
6227 * util/grub-mkstandalone.in: Likewise.
6228 * util/grub-reboot.in: Likewise.
6229 * util/grub-set-default.in: Likewise.
6230 * util/grub-setup.c: Likewise.
6231 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6232
6233 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6236 * grub-core/commands/keystatus.c: Likewise.
6237 * grub-core/commands/loadenv.c: Likewise.
6238 * grub-core/commands/probe.c: Likewise.
6239 * grub-core/commands/regexp.c: Likewise.
6240 * grub-core/commands/true.c: Likewise.
6241 * grub-core/commands/videoinfo.c: Likewise.
6242 * grub-core/disk/cryptodisk.c: Likewise.
6243 * grub-core/disk/ldm.c: Likewise.
6244 * grub-core/disk/loopback.c: Likewise.
6245 * grub-core/disk/luks.c: Likewise.
6246 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6247 * grub-core/kern/disk.c: Likewise.
6248 * grub-core/kern/emu/hostdisk.c: Likewise.
6249
6250 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6253 * util/grub-install.in: Add missing quote in the comment.
6254
6255 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6258 * grub-core/commands/lsmmap.c: Likewise.
6259 * grub-core/commands/minicmd.c: Likewise.
6260 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6261 * grub-core/commands/regexp.c: Likewise.
6262 * grub-core/gdb/gdb.c: Likewise.
6263 * grub-core/term/gfxterm.c: Likewise.
6264 * util/grub-mkconfig.in: Likewise.
6265 * util/grub-mkfont.c: Likewise.
6266 * util/grub-mklayout.c: Likewise.
6267 * util/grub-mknetdir.in: Likewise.
6268 * util/grub-mkrescue.in: Likewise.
6269 * util/grub.d/30_os-prober.in: Likewise.
6270
6271 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6274 with "Direct color" and "Packed" with "Packed pixel".
6275 (grub_cmd_videoinfo): Simplify legend.
6276
6277 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6280 absolutely unclear error message.
6281
6282 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * util/grub-mkstandalone.in: Remove confusing leftover print.
6285
6286 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6289 comments.
6290 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6291 (GRUB_MOD_INIT): Likewise.
6292 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6293 VGA mode.
6294 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6295 comments.
6296 * util/grub-install.in (usage): Likewise.
6297 Spell ID in whole letters.
6298 Add missing ending dot.
6299 Quote variables.
6300 * util/grub-reboot.in: Fix capitalisation.
6301 * util/grub-set-default.in: Likewise.
6302
6303 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6306 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6307 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6308 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6309 Disable -Werror for -Wdeprecated-declarations.
6310 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6311 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6312 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6313 (grub_util_get_grub_dev): Make luks handling dependent on
6314 HAVE_DEVICE_MAPPER and not __linux__.
6315 (get_win32_path): Fix format security.
6316 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6317 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6318 Don't try grub_find_zpool_from_dir.
6319 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6320 #ifdef-out paresdir.
6321
6322 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * util/grub-pe2elf.c (usage): Add missing noreturn.
6325 (write_section_data): Rename name to shname to avoid shadowing.
6326 (write_symbol_table): Rename name to symname to avoid shadowing.
6327 Fix write_reloc_section call.
6328
6329 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6332 to ensure that it's after the last byte of .text.
6333
6334 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * util/ieee1275/ofpath.c (my_isdigit): New function.
6337 (trailing_digits): Use my_isdigit.
6338 (strip_trailing_digits): Likewise.
6339
6340 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6343 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6344
6345 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/kern/i386/pc/startup.S: Define __start.
6348
6349 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6352 strip already transforms he format.
6353
6354 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6357
6358 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * util/grub-install.in: Add missing gettext init.
6361 * util/grub-kbdcomp.in: Likewise.
6362 * util/grub-mkconfig.in: Likewise.
6363 * util/grub-mknetdir.in: Likewise.
6364 * util/grub-mkrescue.in: Likewise.
6365 * util/grub-mkstandalone.in: Likewise.
6366 * util/grub-reboot.in: Likewise.
6367 * util/grub-set-default.in: Likewise.
6368 * util/grub.d/00_header.in: Likewise.
6369 * util/grub.d/10_hurd.in: Likewise.
6370 * util/grub.d/10_windows.in: Likewise.
6371 * util/grub.d/30_os-prober.in: Likewise.
6372 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6373
6374 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * po/Rules-swiss: Fix header comment.
6377
6378 2012-02-29 Andreas Vogel <anvoit>
6379
6380 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6381 resulted in leak of arguments.
6382
6383 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6386 reed_solomon_size const definition instead of computing it since
6387 Apple assembler doesn't support the later.
6388
6389 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * gentpl.py (kernel): Rewrite Apple part.
6392
6393 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6396
6397 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6400 ELF section gap.
6401 (load_image): Likewise.
6402
6403 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * configure.ac: Fix a typo in previous commit.
6406
6407 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 Don't add -Wl,-N on Apple platform.
6410
6411 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6412 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6413
6414 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/Makefile.core.def (lzma_decompress): Use
6417 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6418
6419 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/genmod.sh.in: Rewrite the Apple part.
6422
6423 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6426 comparison.
6427
6428 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * acinclude.m4 (grub_CHECK_PIC): New test.
6431 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6432
6433 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6436 to avoid the warning.
6437
6438 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6441 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6442 after. All users updated.
6443
6444 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 Use the common size routine in hostfs so we can read disks as well.
6447
6448 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6449 (grub_util_get_fd_size): ... this. Return size in bytes.
6450 All users updated.
6451 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6452 grub_util_get_fd_size.
6453
6454 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6457 Add blocksize retrieval.
6458
6459 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * configure.ac: Restore CFLAGS after efiemu check.
6462
6463 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6466 Apple bug.
6467
6468 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6471
6472 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6475 (grub_cmd_halt): Likewise.
6476
6477 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6480 for local arithmetics.
6481 Break %sp init into 2 instructions.
6482 Add 0 byte at the end.
6483
6484 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6487 before loops.
6488
6489 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6492 for context.
6493
6494 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/disk/ldm.c (make_vg): Init part.name.
6497 (grub_ldm_detect): Silence spurious warning.
6498 (grub_util_is_ldm): Likewise.
6499
6500 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6503 sane value to avoid a spurious warning.
6504
6505 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6508 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6509
6510 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6513 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6514
6515 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6518 hardcoding the relevant info.
6519
6520 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6523 missing const qualifiers.
6524 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6525
6526 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * util/getroot.c [__APPLE__]: Add missing includes.
6529 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6530
6531 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6534
6535 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6538 avoid conflicts.
6539
6540 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6543
6544 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6547 and grub_file_close call.
6548
6549 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 Add LZSS Mach-O support (needed for new xnu kernelcache).
6552
6553 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6554 * grub-core/loader/lzss.c: New file.
6555 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6556 on Mach-O open failure.
6557 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6558 Don't free cmdsXX in uncompressedXX is set.
6559 (grub_macho_file): Init new fields.
6560 New argument is_64bit. All users updated.
6561 Handle compressed. Error out if no suitable architecture is found.
6562 Don't close file.
6563 (grub_macho_open): New argument is_64bit. All users updated.
6564 * grub-core/loader/macho32.c: Add defines for new fields.
6565 * grub-core/loader/macho64.c: Likewise.
6566 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6567 (grub_macho_parse): Handle compressed.
6568 Defer actual processing if compressed.
6569 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6570 "filename". All users updated.
6571 (grub_macho_size): New argument "filename". All users updated.
6572 (grub_macho_get_entry_point): Likewise.
6573 (grub_macho_load): Handle compressed.
6574 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6575 (GRUB_MACHO_LZSS_OFFSET): New define.
6576 (grub_decompress_lzss): New proto.
6577 * include/grub/machoload.h (grub_macho_file): New fields to handle
6578 compressed.
6579 (grub_macho_contains_macho64): Remove proto.
6580 (grub_macho_contains_macho32): Likewise.
6581 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6582
6583 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6586
6587 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Fix make dist.
6590
6591 * Makefile.am (starfield_theme_files): New var.
6592 (starfield_DATA): Use starfield_theme_files.
6593 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6594 Add bootcheck-related files.
6595 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6596 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
6597 and font_char_metrics.txt.
6598 * grub-core/Makefile.core.def (kernel): Update extra_dist.
6599 (setjmp): Add lib/ia64/longjmp.S.
6600 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
6601 * po/POTFILES.in: Regenerate.
6602 * po/Rules-swiss: use DISTFILES.common.extra2 and not
6603 DISTFILES.common.extra1.
6604 * util/devicemap.c: Removed.
6605 * grub-core/lib/i386/relocator_backward.S: Likewise.
6606 * util/import_gcry.py: Remove unused files. Add extra_dist for
6607 ChangeLog.
6608
6609 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/gettext/gettext.c (grub_mofile_open): Call
6612 grub_gettext_delete_list before changing grub_gettext_max to avoid
6613 running out of array bounds.
6614
6615 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
6618 grub_vga_text_init/grub_vga_text_fini.
6619
6620 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
6623
6624 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * configure.ac: Bump to 2.00~beta0.
6627
6628 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
6631 missing initialisation.
6632
6633 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
6636
6637 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 Support v2 xnu boot arguments.
6640
6641 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
6642 New argument fsbfreq_out.
6643 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
6644 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
6645 be used.
6646 * grub-core/loader/machoXX.c (grub_macho_load): New argument
6647 darwin_version.
6648 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
6649 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
6650 (grub_xnu_boot_params): Rename to ...
6651 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
6652 (grub_xnu_boot_params_v2): New struct.
6653
6654 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
6657 zeroing of CRC field before computing CRC.
6658
6659 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
6662 Change order of allocations to decrease fragmentation.
6663
6664 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
6667
6668 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
6669
6670 Use write-combining MTRR to speed up video with buggy BIOSes.
6671
6672 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
6673 (cpuid): New define.
6674 (rdmsr): Likewise.
6675 (wrmsr): Likewise.
6676 (mtrr_base): Likewise.
6677 (mtrr_mask): Likewise.
6678 (grub_vbe_enable_mtrr_entry): New function.
6679 (grub_vbe_enable_mtrr): Likewise.
6680 (grub_vbe_disable_mtrr): Likewise.
6681 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
6682 control off to BIOS.
6683 (grub_video_vbe_init): Fill mtrr.
6684 (grub_video_vbe_fini): Disable mtrr.
6685 (grub_video_vbe_get_info_and_fini): Likewise.
6686 (grub_video_vbe_setup): Enable mtrr.
6687
6688 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
6689
6690 * include/grub/partition.h (grub_partition_map): Change prototype of
6691 embed to take a maximum value for nsectors.
6692 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
6693 * include/grub/fs.h (grub_fs): Likewise.
6694 * grub-core/partmap/msdos.c (embed_signatures): New array.
6695 (pc_partition_map_embed): Check for and avoid sectors matching any
6696 of the signatures in embed_signatures, up to max_nsectors.
6697 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
6698 returned sector map to max_nsectors.
6699 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
6700 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
6701 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
6702 * util/grub-setup.c (setup): Allow for the embedding area being
6703 split into multiple blocklists. Tell dest_partmap->embed the
6704 maximum number of sectors we care about.
6705
6706 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
6709 Specify blocklist_install and reserver_first_sector for all fs.
6710 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
6711 blocklists.
6712
6713 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * util/grub-install.in: Clarify strings.
6716 Fix source dir check.
6717
6718 2012-02-27 Richard Laager <rlaager@wiktel.com>
6719
6720 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
6721 "zfs" and "fuse.zfs" as synonyms.
6722
6723 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * configure.ac: Put platform and target_cpu substitutions back since
6726 they are used for directories.
6727
6728 2012-02-27 Richard Laager <rlaager@wiktel.com>
6729 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * util/grub.d/10_linux.in: Add ZFS-related arguments.
6732 * util/grub.d/20_linux_xen.in: Likewise.
6733
6734 2012-02-27 Richard Laager <rlaager@wiktel.com>
6735
6736 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
6737 with full paths.
6738
6739 2012-02-27 Richard Laager <rlaager@wiktel.com>
6740
6741 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
6742 unescape.
6743
6744 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 Don't use insecure popen in getroot.
6747
6748 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
6749 (exec_pipe): ... here.
6750 (find_root_devices_from_poolname): Use exec_pipe.
6751
6752 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Remove platform and target_cpu replacement.
6755
6756 * configure.ac: Remove platform and target_cpu substitutions.
6757 * tests/util/grub-shell.in: Use modinfo.
6758 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
6759 explicitly.
6760
6761 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 Autodetect platform in grub-install but allow override.
6764
6765 * util/grub-install.in: Autodetect platform. Support --target and
6766 --directory. Read platform from modinfo.sh.
6767
6768 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 Support btrfs multi-volume probe.
6771
6772 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
6773 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
6774 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
6775 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
6776 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
6777 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
6778 grub_find_root_devices_from_btrfs if on btrfs.
6779
6780 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Remove any awareness of *.c util files about target.
6783
6784 * Makefile.util.def (grub-setup): Split to ...
6785 (grub-bios-setup): ... and this.
6786 (grub-sparc64-setup): ... and this.
6787 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
6788 * docs/man/grub-setup.h2m: Split into ...
6789 * docs/man/grub-sparc64-setup.h2m: ... this.
6790 * docs/man/grub-bios-setup.h2m: ... and this.
6791 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
6792 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
6793 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
6794 (grub_target_addr_t): Remove.
6795 (grub_target_size_t): Remove.
6796 (grub_target_ssize_t): Remove.
6797 * util/grub-install.in: Use new grub-*-setup.
6798 * util/grub-mkimagexx.c (Elf_Word): New define.
6799 (Elf_Half): Likewise.
6800 (Elf_Section): Likewise.
6801 (ELF_ST_TYPE): Likewise.
6802 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
6803 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
6804
6805 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 Replace grub_target_addr with more appropriate types.
6808
6809 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
6810 grub_target_addr with grub_addr.
6811 * grub-core/commands/iorw.c (grub_cmd_read): Replace
6812 grub_target_addr with grub_port.
6813 (grub_cmd_write): Likewise.
6814 * grub-core/commands/memrw.c (grub_cmd_read): Replace
6815 grub_target_addr with grub_addr.
6816 (grub_cmd_write): Likewise.
6817 * grub-core/video/efi_uga.c (find_line_len): Likewise.
6818
6819 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
6822 const qualifier for vendor_guid.
6823
6824 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
6827 const qualifier.
6828 (efiemu_memequal): Likewise.
6829 (find_variable): Likewise.
6830
6831 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 Fix missing console prototype on qemu-mips.
6834
6835 * include/grub/mips/qemu_mips/console.h: New file.
6836
6837 2012-02-27 Matthew Garrett <mjg@redhat.com>
6838 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
6841 * include/grub/efi/efi.h: Likewise.
6842 * include/grub/efi/api.h: Add guid for EFI-specified variables.
6843 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
6844 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
6845 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
6846 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
6847 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
6848
6849 2012-02-27 Matthew Garrett <mjg@redhat.com>
6850
6851 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
6852
6853 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
6856 error.
6857
6858 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * configure.ac: Remove inappropriate use of program_transform_name
6861 on grubdir and bootdir but allow explicit specification of those
6862 variables.
6863
6864 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * util/grub-mknetdir.in (grub_prefix): Removed.
6867 (subdir): Use @bootdirname@ and @grubdirname@.
6868
6869 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
6872
6873 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * po/POTFILES.in: Regenerated.
6876
6877 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Remove improper use of program_transform_name on pkglibrootdir.
6880
6881 * configure.ac (pkglibrootdir): Removed.
6882 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
6883 * util/grub-mkimage.c: Likewise.
6884
6885 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
6888 warning.
6889
6890 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * util/grub-install.in: Use file identifier if no UUID is available
6893 or user explicitly prompted for it.
6894
6895 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
6896
6897 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
6898 (freebsd_get_zfs): New function.
6899 (grub_freebsd_boot): Pass zfs UUID.
6900 (grub_cmd_freebsd): Set zfs UUID.
6901
6902 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * conf/Makefile.common (platformdir): Base on pkglibdir and not
6905 pkglibrootdir.
6906
6907 2012-02-27 Mike Gilbert <floppym@gentoo.org>
6908
6909 Add configure flag to control libzfs integration.
6910
6911 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
6912
6913 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
6916 device.
6917 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
6918 small devices.
6919
6920 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 Remove grub_{modname}_init and grub_{modname}_fini. They should never
6923 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
6924 be used on non-modules.
6925
6926 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
6927 Rename to grub_boot_init.
6928 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
6929 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
6930 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
6931 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
6932 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
6933 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
6934 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
6935 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
6936 includes.
6937 (grub_machine_init): Remove empty inits.
6938 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
6939 includes.
6940 (grub_machine_init): Remove empty inits.
6941 * grub-core/term/arc/console.c: Remove explicit proto.
6942 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
6943 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
6944 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6945 grub_at_keyboard_fini.
6946 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
6947 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
6948 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6949 grub_gfxterm_fini.
6950 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
6951 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
6952 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6953 grub_vgatext_fini.
6954 * grub-core/term/ieee1275/console.c: Remove explicit proto.
6955 * grub-core/term/serial.c (GRUB_MOD_INIT)
6956 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
6957 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6958 grub_serial_fini.
6959 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
6960 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
6961 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6962 grub_terminfo_fini.
6963 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
6964 (GRUB_MOD_FINI): Likewise.
6965 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
6966 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
6967 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6968 grub_video_radeon_fuloong2e_fini.
6969 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
6970 [LOONGSON]: Rename to grub_video_sis315pro_init.
6971 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6972 grub_video_sis315pro_fini.
6973 * grub-core/video/sm712.c (GRUB_MOD_INIT)
6974 [LOONGSON]: Rename to grub_video_sm712_init.
6975 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6976 grub_video_sm712_fini.
6977 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
6978 (grub_at_keyboard_fini): Likewise.
6979 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
6980 Don't declare grub_{modname}_init.
6981 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
6982 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
6983 New proto.
6984 (grub_keylayouts_fini) [!EMU]: Likewise.
6985 * include/grub/serial.h (grub_serial_init) [!EMU]:
6986 New proto.
6987 (grub_serial_fini) [!EMU]: Likewise.
6988 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
6989 New proto.
6990 (grub_terminfo_fini) [!EMU]: Likewise.
6991 * include/grub/video.h (grub_font_init) [!EMU]:
6992 New proto.
6993 (grub_font_fini) [!EMU]: Likewise.
6994 (grub_gfxterm_init) [!EMU]: Likewise.
6995 (grub_gfxterm_fini) [!EMU]: Likewise.
6996 (grub_video_sm712_init) [!EMU]: Likewise.
6997 (grub_video_sm712_fini) [!EMU]: Likewise.
6998 (grub_video_sis315pro_init) [!EMU]: Likewise.
6999 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7000 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7001 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7002
7003 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 Make nand a prefix for nand devices.
7006
7007 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7008
7009 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7012 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7013
7014 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * include/grub/env.h (grub_env_find): Remove prototype.
7017 * grub-core/kern/env.c (grub_env_find): Make static.
7018 (grub_env_set): Remove useless set.
7019
7020 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/kern/i386/realmode.S: Remove useless align.
7023
7024 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * include/grub/dl.h (grub_dl_load_file): Don't export.
7027
7028 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7031 grub_dprintf.
7032
7033 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7036 grub_errors.
7037 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7038 not reloading whole superblock but only the part which is really needed.
7039 Remove useless grub_errors.
7040 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7041 grub_errors.
7042
7043 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 Don't export grub_get_rtc.
7046
7047 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7048 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7049
7050 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7053
7054 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
7057 argument since it can be deduced from diskfilter. All users updated.
7058
7059 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 Remove prio_list.
7062
7063 * include/grub/list.h (grub_prio_list): Removed.
7064 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7065 GRUB_COMMAND_PRIO_MASK.
7066 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7067 GRUB_COMMAND_FLAG_ACTIVE.
7068 (grub_prio_list_insert): Removed.
7069 (grub_prio_list_remove): Likewise.
7070 (GRUB_AS_PRIO_LIST): Likewise.
7071 (GRUB_AS_PRIO_LIST_P): Likewise.
7072 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7073 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7074 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7075 * grub-core/kern/command.c (grub_register_command_prio): Inline
7076 the prio_list code.
7077 (grub_unregister_command): Likewise.
7078
7079 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Fix interrupt mixup from previous commit.
7082
7083 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7084 (grub_realidt): New var.
7085 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7086 Load idt.
7087 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7088 New declaration.
7089 (grub_relocator16_boot): Set grub_relocator16_idt.
7090 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7091 (LOCAL(realidt)): ... this.
7092 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7093 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7094 (grub_realidt): New variable.
7095
7096 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7099 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7100 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7101 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7102 Gettextize.
7103 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7104 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7105 * po/POTFILES.in: Regenerate.
7106
7107 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7110 errors.
7111
7112 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7115 \0.
7116 (add_length): Likewise.
7117
7118 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7119 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7120
7121 GDB serial and backtrace support.
7122
7123 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7124 (prot_to_real): Likewise.
7125 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7126 * grub-core/Makefile.core.def (backtrace): New module.
7127 (gdb): Likewise.
7128 * grub-core/gdb/cstub.c: New file.
7129 * grub-core/gdb/gdb.c: Likewise.
7130 * grub-core/gdb/i386/idt.c: Likewise.
7131 * grub-core/gdb/i386/machdep.S: Likewise.
7132 * grub-core/gdb/i386/signal.c: Likewise.
7133 * grub-core/lib/i386/backtrace.c: Likewise.
7134 * grub-core/lib/backtrace.c: Likewise.
7135 * include/grub/backtrace.h: Likewise.
7136 * include/grub/gdb.h: Likewise.
7137 * include/grub/i386/gdb.h: Likewise.
7138
7139 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7142 New function.
7143 (add_length): Likewise.
7144 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7145 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7146 proto.
7147 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7148 __argp_get_display_len.
7149
7150 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 $"..." support in scripts.
7153
7154 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7155 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7156 * grub-core/script/yylex.l: Likewise.
7157 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7158 value.
7159
7160 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * gentpl.py: Remove obsolete pkglib_DATA handling.
7163
7164 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7167 mailing list.
7168
7169 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7170 * util/grub-kbdcomp.in: Likewise.
7171 * util/grub-mkconfig.in: Likewise.
7172 * util/grub-mkconfig_lib.in: Likewise.
7173 * util/grub-mknetdir.in: Likewise.
7174 * util/grub-mkrescue.in: Likewise.
7175 * util/grub-mkstandalone.in: Likewise.
7176 * util/grub-reboot.in: Likewise.
7177 * util/grub-set-default.in: Likewise.
7178 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7179
7180 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 Remove GRUB_PREFIX.
7183
7184 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7185 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7186 used for backward compatibility.
7187
7188 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 Add new all_video module.
7191
7192 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7193 * grub-core/Makefile.core.def (all_video): New module.
7194 * grub-core/genmoddep.awk: Generate dependency of all_video from
7195 video.lst.
7196 * grub-core/lib/fake_module.c: New file.
7197 * grub-core/normal/main.c (features): Add feature_all_video_module.
7198 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7199 don't do explicit search again.
7200 insmod all_video in load_video if available.
7201
7202 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Another round of string clarification and adding TRANSLATORS comments.
7205
7206 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7209
7210 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7213 to grub_ssize_t.
7214 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7215 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7216
7217 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7220 trailing newline implicitly. All users updated.
7221
7222 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 Implement serial on IEEE1275 and EFI.
7225
7226 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7227 on emu. Mention arc and emu as the only platforms without serial
7228 support.
7229 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7230 ieee1275 platforms.
7231 * grub-core/term/efi/serial.c: New file.
7232 * grub-core/term/ieee1275/serial.c: Likewise.
7233 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7234 specification if no ns8250 driver is available.
7235 (grub_cmd_serial): Likewise.
7236 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7237 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7238 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7239 (grub_efi_parity_type_t): New type.
7240 (grub_efi_stop_bits_t): Likewise.
7241 (grub_efi_serial_io_interface): New struct.
7242 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7243 available for all interfaces.
7244 Add EFI and IEEE1275 fields.
7245 (grub_ofserial_init): New proto.
7246 (grub_efiserial_init): Likeiwse.
7247 * util/grub.d/00_header.in: Don't check for the presence of serial
7248 module.
7249
7250 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7253 name as if it was an alias.
7254
7255 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * grub-core/commands/lsacpi.c (options): Fix typo.
7258
7259 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 Convert grub-emu to argp.
7262
7263 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7264 emu.
7265 * util/argp_common.c: Rename to ...
7266 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7267 Add missing includes.
7268 * grub-core/kern/emu/main.c: Convert to argp.
7269 * po/POTFILES.in: Regenerate.
7270 * util/grub-install.in (usage): Make first letter lowcase in messages
7271 for uniformity.
7272 * util/grub-setup.c (options): Likewise.
7273
7274 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7277 Put back accidently commented-out code.
7278
7279 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7282 loop check using Brent algorithm.
7283 (grub_hfsplus_btree_search): Likewise.
7284
7285 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * util/grub-install.in: Fix usage of wrong device for PreP install.
7288
7289 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * conf/Makefile.common (CFLAGS_GNULIB): Add
7292 -Wno-unsafe-loop-optimizations.
7293 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7294 on tools.
7295 * grub-core/commands/legacycfg.c: Add pragma to skip
7296 -Wunsafe-loop-optimizations.
7297 (check_password_md5_real): Fix loop counter type.
7298 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7299 reading.
7300 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7301 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7302 loop condition.
7303 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7304 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7305 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7306 condition.
7307 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7308 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7309 avoid possible infinite loops.
7310 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7311 and -Wunsafe-loop-optimizations.
7312 * grub-core/script/yylex.l: Likewise.
7313 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7314 (print_glyphs): Avoid infinite loops.
7315 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7316
7317 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7318
7319 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7320 to avoid infinite loop.
7321 (disp_acpi_rsdt_table): Likewise.
7322
7323 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/font/font.c (grub_font_load): Add support for default
7326 path for fonts ($prefix/fonts).
7327 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7328 for checking if string is a path.
7329 * grub-core/normal/main.c (features): Add feature_default_font_path.
7330 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7331 * util/grub.d/00_header.in: Use default directory if possible.
7332 * util/grub-install.in: Install unicode.pf2.
7333
7334 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7337 * po/Rules-swiss: New file.
7338 * po/swiss.sed: Likewise.
7339
7340 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * grub-core/fs/btrfs.c (find_device): Fix typos.
7343 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7344 * util/grub-mkrelpath.c (argp_parser): Likewise.
7345 Reported by: Yuri Chornoivan.
7346
7347 2012-02-23 Dalet Omega <daletomega@gmail.com>
7348
7349 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7350 for usual informative messages.
7351
7352 2012-02-23 Dalet Omega <daletomega@gmail.com>
7353
7354 Starfield theme.
7355
7356 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7357 * conf/Makefile.common: Define starfielddir.
7358 * configure.ac: Configure starfield.
7359 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7360 * themes/starfield/README: Likewise.
7361 * themes/starfield/blob_w.png: Likewise.
7362 * themes/starfield/boot_menu_c.png: Likewise.
7363 * themes/starfield/boot_menu_e.png: Likewise.
7364 * themes/starfield/boot_menu_n.png: Likewise.
7365 * themes/starfield/boot_menu_ne.png: Likewise.
7366 * themes/starfield/boot_menu_nw.png: Likewise.
7367 * themes/starfield/boot_menu_s.png: Likewise.
7368 * themes/starfield/boot_menu_se.png: Likewise.
7369 * themes/starfield/boot_menu_sw.png: Likewise.
7370 * themes/starfield/boot_menu_w.png: Likewise.
7371 * themes/starfield/slider_c.png: Likewise.
7372 * themes/starfield/slider_n.png: Likewise.
7373 * themes/starfield/slider_s.png: Likewise.
7374 * themes/starfield/src/blob_nw.xcf: Likewise.
7375 * themes/starfield/src/bootmenu/: Likewise.
7376 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7377 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7378 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7379 * themes/starfield/src/slider_c.xcf: Likewise.
7380 * themes/starfield/src/slider_n.xcf: Likewise.
7381 * themes/starfield/src/slider_s.xcf: Likewise.
7382 * themes/starfield/src/terminalbox/: Likewise.
7383 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7384 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7385 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7386 * themes/starfield/starfield.png: Likewise.
7387 * themes/starfield/terminal_box_c.png: Likewise.
7388 * themes/starfield/terminal_box_e.png: Likewise.
7389 * themes/starfield/terminal_box_n.png: Likewise.
7390 * themes/starfield/terminal_box_ne.png: Likewise.
7391 * themes/starfield/terminal_box_nw.png: Likewise.
7392 * themes/starfield/terminal_box_s.png: Likewise.
7393 * themes/starfield/terminal_box_se.png: Likewise.
7394 * themes/starfield/terminal_box_sw.png: Likewise.
7395 * themes/starfield/terminal_box_w.png: Likewise.
7396 * themes/starfield/theme.txt: Likewise.
7397
7398 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * util/grub.d/00_header.in: Add missing export theme.
7401
7402 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7405 already included.
7406 Reported by: Eren D.
7407
7408 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * conf/Makefile.common (grubdatadir): Removed.
7411 (Makefile.am): Move eveything grubdata to pkgdata.
7412
7413 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/commands/acpihalt.c (get_sleep_type):
7416 Remove unused variable.
7417
7418 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7421 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7422 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7423 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7424 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7425 i18n with gettext no-op.
7426 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7427 GRUB_ACPI_OPCODE_STRING_CONST.
7428 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7429 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7430
7431 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * po/POTFILES.in: Regenerate.
7434
7435 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7438 -Wno-error=missing-noreturn.
7439
7440 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7443 condition to avoid possibly infinite loops.
7444 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7445 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7446
7447 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7450 condition to avoid possibly infinite loops.
7451
7452 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7455 on show_error.
7456
7457 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7460
7461 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7464
7465 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * util/bin2h.c (usage): Add missing attribute noreturn.
7468
7469 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7472 if the size isn't divisible by 512.
7473
7474 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 Make list_push and list_remove functions rather than inline functions
7477 to decrease size and avoid aliasing violations.
7478
7479 * include/grub/list.h (grub_list_push): Move to ...
7480 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7481 * include/grub/list.h (grub_list_remove): Move to ...
7482 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7483
7484 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7487 and -Wunused-result.
7488
7489 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7492 Reported by: Seth Goldberg
7493
7494 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7497
7498 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7499
7500 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7501 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7502 command line.
7503 * docs/grub.texi (Simple configuration): Document
7504 GRUB_CMDLINE_GNUMACH.
7505
7506 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * conf/Makefile.common (platform_SCRIPTS): New variable.
7509 (platform_PROGRAMS): Likewise.
7510 * gentpl.py: Mark *,module and *.image for install.
7511 * grub-core/gdb_grub.in: Add a notice of expected environment.
7512 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7513 (gmodule.pl): Likewise.
7514
7515 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Replace grub_checkkey with grub_getkey_noblock.
7518
7519 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7520 (grub_getkey_noblock): ... this. All users updated.
7521
7522 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/kern/emu/console.c: Move to ...
7525 * grub-core/term/emu/console.c: ...here.
7526 (grub_ncurses_getkey): Fix return value if no key is detected.
7527
7528 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7531 (grub_unit_test_fini): Likewise.
7532 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7533
7534 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * include/grub/test.h (GRUB_UNIT_TEST)
7537
7538 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7541 Better error handling.
7542 (grub_script_return): Likewise.
7543 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7544
7545 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7548 rimplicit redifinition.
7549
7550 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7553 GRUB.
7554
7555 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7558 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7559 prompt here.
7560
7561 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7564 as GRUB_ERR_BUG. Don't malloc if no device is available.
7565
7566 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7569 Mark calling with invalid term as GRUB_ERR_BUG.
7570
7571 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7574 packets rather than raising an error.
7575
7576 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7579 in if.
7580
7581 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7584 diagnostic to dprintf.
7585 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7586
7587 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7590 device name.
7591
7592 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7595 (grub_ntfs_iterate_dir): Likewise.
7596
7597 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 Efiemu stylistic fixes and gettext.
7600
7601 * grub-core/efiemu/i386/loadcore32.c
7602 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
7603 * grub-core/efiemu/i386/loadcore64.c
7604 (grub_arch_efiemu_relocate_symbols64): Likewise.
7605 * grub-core/efiemu/i386/pc/cfgtables.c
7606 (grub_machine_efiemu_init_tables): Likewise.
7607 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
7608 (grub_efiemu_loadcore_initXX): Add a filename argument.
7609 All users updated.
7610 Improved error message.
7611 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
7612 Add a filename argument.
7613 All users updated.
7614 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
7615 Reclassify double relocation as GRUB_ERR_BUG.
7616
7617 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
7620 handling.
7621
7622 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
7625 on partition.
7626
7627 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
7630
7631 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 Improve string. Gettextize.
7634
7635 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
7638 utils.
7639 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
7640
7641 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
7644 [GRUB_UTIL]: New function.
7645 (insert_array) [GRUB_UTIL]: Store partmaps.
7646 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
7647 partmaps.
7648 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
7649 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
7650 (probe_abstraction): Print diskfilter and not raid.
7651 Reported by: Lennart Sorensen
7652
7653 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
7656 * util/grub-mkimagexx.c (MASK3): New define.
7657 (add_value_to_slot_20b): Use MASK3.
7658 (add_value_to_slot_21): Likewise.
7659 (relocate_addresses): Fix format specification.
7660 (load_image): Explicitly init symtab_section.
7661
7662 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
7665 (grub_util_biosdisk_get_grub_dev): Fix format specification.
7666
7667 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
7670 on powerpc.
7671 Reported by: Lennart Sorensen
7672
7673 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * gentpl.py: Add missing license header.
7676 * docs/grub.texi: Update copyright year.
7677
7678 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7679
7680 Source grub-mkconfig_lib from the build directory at build time.
7681 Suggested by: Vladimir Serbinenko.
7682
7683 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
7684 * util/grub-install.in: Define pkgdatadir if not already set, and source
7685 grub-mkconfig_lib from there.
7686 * util/grub-kbdcomp.in: Likewise.
7687 * util/grub-mkconfig.in: Likewise.
7688 * util/grub-mknetdir.in: Likewise.
7689 * util/grub-mkrescue.in: Likewise.
7690 * util/grub-mkstandalone.in: Likewise.
7691 * util/grub-reboot.in: Likewise.
7692 * util/grub-set-default.in: Likewise.
7693 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7694
7695 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 Increase warning level.
7698
7699 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
7700 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
7701 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
7702 (TARGET_CFLAGS): Likewise.
7703 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
7704 * grub-core/Makefile.core.def (decompressor_xz): Add
7705 -Wno-unreachable-code.
7706 (normal): Add -Wno-redundant-decls.
7707 (xzio): Add -Wno-unreachable-code.
7708 (lzopio): Add -Wno-redundant-decls -Wno-error.
7709 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
7710 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
7711 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
7712 * grub-core/kern/dl.c: Add exception to -Wcast-align.
7713 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
7714 * grub-core/kern/i386/coreboot/init.c: Add exception to
7715 -Wsuggest-attribute=noreturn.
7716 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
7717 * grub-core/kern/ia64/dl_helper.c: Likewise.
7718 * grub-core/kern/mips/dl.c: Likewise.
7719 * grub-core/kern/sparc64/dl.c: Likewise.
7720 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
7721 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
7722 (memcmp): Likewise.
7723 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
7724 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
7725 * grub-core/loader/mips/linux.c: Likewise.
7726 * grub-core/loader/multiboot_elfxx.c: Likewise.
7727 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
7728 * grub-core/video/sm712.c: Add exception to -Wcast-align.
7729 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
7730 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
7731 fixme.
7732 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7733 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
7734 Fix prototype.
7735
7736 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
7739 address.
7740
7741 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7744 Avoid improper use of strings.
7745 (grub_cmd_legacy_initrdnounzip): Likewise.
7746
7747 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * include/grub/emu/misc.h (grub_util_warn): Add missing format
7750 attribute.
7751 (grub_util_info): Likewise.
7752 (grub_util_error): Likewise.
7753
7754 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
7757 * util/grub-fstest.c (fstest): Likewise.
7758
7759 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
7762 (grub_md_sha512_real): Likewise.
7763 (grub_util_get_geli_uuid): Likewise.
7764 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
7765 (grub_util_biosdisk_open): Fix format specification.
7766 Respect format security.
7767 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
7768 (xrealloc): Likewise.
7769 (xasprintf): Likewise.
7770
7771 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * util/import_gcry.py: Include grub/crypto.h in init.c.
7774
7775 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
7778 (generate_image): Make prefix a const char *.
7779 Fix format specifications. Respect format security.
7780 Avoid void * arithmetics.
7781 Avoid shadowing.
7782 (argp_parser): Remove unused variable. Respect format security.
7783 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
7784 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
7785 (count_funcs): Remove unused variable.
7786 (relocate_addresses): Fix format specification.
7787 Disable x86-64 with elf32. Remove unused variables.
7788 (add_fixup_entry): Avoid shadowing.
7789 (make_reloc_section): Fix format specification.
7790 Use assert.
7791 (locate_sections): Fix format specifications.
7792 (load_image): Avoid shadowing.
7793
7794 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
7797 Fix format specifications. Respect format security.
7798 Don't translate already translated grub_errmsg.
7799 (argp_parser): Remove unused variable
7800
7801 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
7804
7805 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
7808 (main): Likewise. Use xmalloc. Respect format security.
7809
7810 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
7813 a const char *.
7814 (argp_parser): Remove unused variable.
7815
7816 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
7819 (add_pixel): Make static.
7820 (add_font): Likewise.
7821 (write_string_section): Make name and str a const char *.
7822 (write_be16_section): Make name a const char *.
7823 (print_glyphs): Make static.
7824 (write_font_ascii_bitmap): Likewise.
7825 (write_font_width_spec): Likewise.
7826 (write_font_pf2): Likewise.
7827 (argp_parser): Remove unused variable.
7828 Respect format security.
7829 (main): Avoid shadowing. Respect format security.
7830
7831 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * util/grub-editenv.c (argp_parser): Make static.
7834 (create_envblk_file): Use xmalloc.
7835 (open_envblk_file): Likewise.
7836 Resepect format security.
7837 (set_variables): Respect format security.
7838
7839 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * util/getroot.c (grub_find_device): Respect format security.
7842 (get_mdadm_uuid): Remove unused variable.
7843 (grub_util_pull_device): Dont call gettext on already translated
7844 grub_errmsg.
7845 (find_system_device): Remove unused variable.
7846 (grub_util_get_grub_dev): Likewise.
7847 (grub_make_system_path_relative_to_its_root): Respect format security.
7848
7849 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * util/grub-fstest.c (execute_command): Make first argument
7852 a const char *.
7853 (read_file): Avoid shadowing.
7854 Reuse underlying error message if device open fails.
7855 (cmd_cmp): Respect format security.
7856 (root): Make const char *.
7857 (fstest): Remove args argument and use global copy.
7858 Respect format security.
7859 (argp_parser): Make static.
7860 (main): Make default_root const char *.
7861
7862 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * util/grub-mount.c (root): Make const char *.
7865 (execute_command): Make first argument a const char *.
7866 (fuse_init): Respect format security.
7867 (argp_parser): Make static. Remove unused variable.
7868 (main): Make default_root a const char *.
7869 Respect format security.
7870
7871 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * util/grub-probe.c (probe): Don't call gettext on already translated
7874 grub_errmsg.
7875 Remove unused variables.
7876 (argp_parser): Remove unused variable.
7877
7878 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * util/grub-script-check.c (argp_parser): Remove unused variable.
7881 (main): Rename read to curread to avoid shadowing.
7882
7883 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * util/misc.c (grub_util_write_image_at): Fix format specification.
7886 (grub_util_write_image): Likewise.
7887 (grub_script_execute_argument_to_string): Removed (unused).
7888 (grub_script_execute_menuentry): Likewise.
7889 (grub_putchar): Likewise.
7890
7891 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
7894 (FUNCTION) [GRUB_UTIL]: Likewise.
7895 (VARIABLE) [GRUB_UTIL]: Likewise.
7896
7897 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
7900 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
7901
7902 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
7905 buffer.
7906
7907 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
7910 (LzmaEnc_SaveState): Removed (unused).
7911 (LzmaEnc_RestoreState): Likewise.
7912 (LzmaEnc_InitPriceTables): Made static.
7913 (LzmaEnc_Construct): Likewise.
7914 (LzmaEnc_FreeLits): Likewise.
7915 (LzmaEnc_Destruct): Likewise.
7916 (LzmaEnc_Init): Likewise.
7917 (LzmaEnc_InitPrices): Likewise.
7918 (LzmaEnc_Finish): Likewise.
7919 (LzmaEnc_PrepareForLzma2): Removed (unused).
7920 (LzmaEnc_MemPrepare): Likewise.
7921 (LzmaEnc_GetNumAvailableBytes): Likewise.
7922 (LzmaEnc_GetCurBuf): Likewise.
7923 (LzmaEnc_CodeOneMemBlock): Likewise.
7924
7925 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
7928 (grub_util_ldm_embed): Likewise.
7929
7930 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * util/grub-editenv.c (print_var): Rename name to varname to
7933 avoid shadowing.
7934 (main): Rename index to curindex to avoid shadowing.
7935 Make filename a const char *.
7936
7937 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7940 to arg_getline to avoid shadowing.
7941
7942 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
7945 disk_ to avoid shadowing.
7946
7947 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
7950 curindex to avoid shadowing.
7951 Make static.
7952 (MatchFinder_GetNumAvailableBytes): Make static.
7953
7954 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
7957 avoid shadowing.
7958
7959 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
7962 argument from encrypt to do_encrypt to avoid shadowing.
7963
7964 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
7967 incorrect nesting of #if's.
7968
7969 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
7972 checks which are always false on some platforms.
7973 (grub_cmd_lsacpi): Likewise.
7974 * grub-core/kern/misc.c (grub_strtoul): Likewise.
7975 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
7976 Likewise.
7977
7978 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
7981 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
7982
7983 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
7986 re_dfa_t to avoid breaking alignment invariants.
7987 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
7988 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
7989
7990 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
7993 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
7994
7995 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
7998 Fix declaration.
7999
8000 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8003 conserve alignment invariants.
8004 (grub_ehci_ehcc_read16): Likewise.
8005 (grub_ehci_oper_read32): Likewise.
8006 (grub_ehci_oper_write32): Likewise.
8007 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8008 Conserve alignment invariants.
8009
8010 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8013 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8014 declarations.
8015
8016 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8019 Remove unused variable.
8020
8021 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8024 Remove set in if.
8025
8026 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * include/grub/net.h: Remove double declarations.
8029
8030 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 Remove "payload" command in ia64 Linux loader since I couldn't
8033 find any evidence of it being used for anything.
8034 Replace "relocate" command with an environment variable
8035
8036 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8037 fields.
8038 (ia64_boot_payload): Removed.
8039 (last_payload): Likewise.
8040 (RELOCATE_OFF): Likewise.
8041 (RELOCATE_ON): Likewise.
8042 (RELOCATE_FORCE): Likewise.
8043 (relocate): Likewise.
8044 (free_pages): Don't free payloads.
8045 (grub_load_elf64): Use common error messages.
8046 Use "linux_relocate" variable.
8047 Increase the space after boot_params.
8048 (grub_cmd_payload): Removed.
8049 (grub_cmd_relocate): Likewise.
8050 (grub_cmd_fpswa): Improve messages.
8051 (cmd_payload): Removed.
8052 (cmd_relocate): Likewise.
8053 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8054 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8055
8056 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 Convert UHCI to DMA framework.
8059
8060 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8061 (grub_uhci_pci_iter): Fill new members
8062 (grub_alloc_td): Use P2V and V2P functions.
8063 (grub_free_queue): Likewise.
8064 (grub_alloc_qh): Likewise.
8065 (grub_uhci_setup_transfer): Likewise.
8066 (grub_uhci_check_transfer): Likewise.
8067
8068 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8071 Remove assignment in if while on it.
8072
8073 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * util/grub-mkstandalone.in: Fix modules directory.
8076
8077 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8080 on i386-pc target.
8081 (argp_parser): Accept "auto" as compression specification.
8082
8083 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 Fix `help' with unloaded modules.
8086
8087 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8088 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8089 (grub_dyncmd_dispatcher): Small stylistic fix.
8090 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8091 explicit help is requested.
8092
8093 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8096 Explicitly init restart while on it.
8097
8098 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8101 uninited variable.
8102
8103 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * util/grub-mknetdir.in: Use . rather than source for POSIX
8106 compatibility.
8107
8108 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8111
8112 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8115 variable.
8116
8117 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8120 without quotes.
8121
8122 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8125
8126 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8129 iteration of partitions.
8130
8131 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 Improve gettext support. Stylistic fixes and error handling fixes while
8134 on it.
8135
8136 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8139 part. Instead setup the correct stack in RM.
8140 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8141 for stack.
8142 * include/grub/i386/relocator_private.h: New file.
8143
8144 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8147 argument.
8148 * util/grub-fstest.c (options): Add missing DEVICE part.
8149
8150 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Clarify and unify messages.
8153
8154 * grub-core/commands/hashsum.c (options): Unify messages.
8155 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8156 literal-only message as translatable.
8157 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8158 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8159 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8160 commands.
8161 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8162 key, not the key used to unlock. Clarify what it's used for.
8163 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8164 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8165 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8166 * util/grub-editenv.c (options): Unify "verbose" message.
8167 * util/grub-fstest.c (read_file): Unify error message.
8168 (fstest): Add quotes around commands.
8169 (options): Unify "verbose" message.
8170 * util/grub-install.in: Add quotes around variable name.
8171 * util/grub-kbdcomp.in: Unify error message.
8172 * util/grub-mkfont.c (main): Likewise.
8173 * util/grub-mkrescue.in: Likewise.
8174 * util/grub-mklayout.c (options): Unify "verbose" message.
8175 * util/grub-mkstandalone.in: Unify help and verbose messages.
8176 * util/grub-mount.c (options): Unify "verbose" message.
8177 * util/grub-probe.c (options): Likewise.
8178 * util/grub-script-check.c (options): Likewise.
8179 * util/grub-setup.c (setup): Unify no-terminator message.
8180 (options): Use DEVICE and not DEV.
8181 Unify "verbose" message.
8182 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8183
8184 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 Improve and unify messages.
8187
8188 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8189 name. All users updated.
8190 Print filename in error.
8191 (read_device_map): Print filename in error.
8192 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8193 (grub_util_get_os_disk): Likewise.
8194 (grub_util_biosdisk_get_grub_dev): Likewise.
8195 (grub_util_check_block_device): Likewise.
8196 (grub_util_check_char_device): Likewise.
8197 (grub_make_system_path_relative_to_its_root): Likewise.
8198 * util/grub-editenv.c (create_envblk_file): Likewise.
8199 (open_envblk_file): Likewise.
8200 (write_envblk): Likewise.
8201 * util/grub-fstest.c (cmd_cp): Likewise.
8202 (cmd_cat): Likewise.
8203 (cmd_cmp): Likewise.
8204 * util/grub-menulst2cfg.c (main): Likewise.
8205 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8206 (write_font_width_spec): Likewise.
8207 (write_font_pf2): Likewise.
8208 * util/grub-mkimage.c (generate_image): New argument outname.
8209 All users updated.
8210 Remove unreacheable message.
8211 (options): Unify messages.
8212 (help_filter): Likewise.
8213 * util/grub-mklayout.c (usage): Removed (unused).
8214 (main): Print filename in error.
8215 * util/grub-mkrescue.in: Fix wrong quoting.
8216 * util/grub-setup.c (setup): Print filename in error.
8217 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8218 (check_sas): Likewise.
8219 * util/misc.c (grub_util_get_fp_size): Removed.
8220 (grub_util_get_image_size): Print filename in error.
8221 (grub_util_read_at): Removed.
8222 (grub_util_read_image): Print filename in error.
8223 (grub_util_load_image): Likewise.
8224 (grub_util_write_image_at): New argument filename. All users updated.
8225 Print filename in error.
8226 (grub_util_write_image): New argument filename. All users updated.
8227 Print filename in error.
8228 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8229 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8230
8231 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * grub-core/Makefile.core.def (pxechain): New module.
8234 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8235 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8236 function.
8237 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8238 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8239
8240 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8243 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8244 * include/grub/err.h (grub_error_saved): New struct.
8245 (grub_errmsg): Make array size explicit.
8246 * include/grub/misc.h (grub_error_save): New function.
8247 (grub_error_load): Likewise.
8248 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8249 (grub_error_push): Update `errno' member name.
8250 (grub_error_pop): Likewise
8251 * grub-core/net/tftp.c (tftp_data): New member save_err.
8252 (tftp_receive): Save error.
8253 (tftp_open): Restore error.
8254
8255 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8258 to real mode down to execute A20-related code in protected mode as
8259 intended.
8260
8261 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8262
8263 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8264 NULL when the argument `level' has an unexpected value.
8265
8266 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 Move platform-dependent files from $prefix to $prefix/$platform.
8269
8270 * config.h.in (GRUB_TARGET_CPU): New definition.
8271 (GRUB_PLATFORM): Likewise.
8272 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8273 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8274 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8275 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8276 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8277 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8278 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8279 * grub-core/normal/term.c (read_terminal_list): Likewise.
8280 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8281 $prefix/locale.
8282 (grub_gettext_init_ext): Likewise.
8283 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8284 grub_platform.
8285 * util/grub-install.in: Update directories.
8286 * util/grub-mknetdir.in: Likewise.
8287 * util/grub-mkrescue.in: Likewise.
8288
8289 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8292 grub_error framework. All users updated.
8293
8294 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8297 lists (by always binsearching), improve caching (cache strings
8298 used for binsearch, not only results), improve
8299 maintainability (by using more structured binary search) and correct
8300 error handling.
8301
8302 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/script/execute.c (grub_script_return): Fix warning.
8305
8306 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/script/execute.c (grub_script_return): Fix potential
8309 NULL-dereference.
8310 Reported by: Jim Meyering.
8311
8312 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * po/POTFILES.in: Regenerate.
8315 * util/grub-install.in: Gettextize the strings missed in first pass.
8316
8317 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * Makefile.util.def (grub-mkdevicemap): Removed.
8320 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8321 * include/grub/util/deviceiter.h: Removed.
8322 * util/deviceiter.c: Likewise.
8323 * util/getroot.c (grub_util_get_os_disk): New function.
8324 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8325 replacement for EFI.
8326 * util/grub-mkdevicemap.c: Removed.
8327 * util/grub-probe.c (probe): Handle PRINT_DISK.
8328 (argp_parser): Handle -t disk.
8329
8330 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 * util/grub-mkfont.c: Migrate to argp.
8333 * util/grub-mklayout.c: Likewise.
8334 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8335 * util/grub-mkrelpath.c: Likewise.
8336 * util/grub-probe.c: Likewise.
8337 * util/grub-script-check.c: Likewise.
8338
8339 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * util/grub-reboot.in: Add missing datarootdir.
8342 Add missing newline.
8343 * util/grub-set-default.in: Add missing datarootdir.
8344 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8345 * util/grub-mkrescue.in: Likewise.
8346
8347 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8350
8351 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * util/grub-kbdcomp.in: Add decent help and gettextize.
8354 * docs/man/grub-kbdcomp.h2m: New file.
8355
8356 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 Migrate grub-mkimage.c to argp.
8359
8360 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8361 (grub-setup): Likewise.
8362 * util/grub-setup.c (print_version): Move to ...
8363 * util/argp_common.c (print_version): ... here.
8364 * util/grub-setup.c (argp_program_version_hook): Move to ...
8365 * util/argp_common.c (argp_program_version_hook): ... here.
8366 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8367 safety.
8368 * util/grub-mkimage.c (main): Migrate to argp.
8369
8370 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * util/grub-mkrescue.in: Use same message as
8373 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8374 for better translations.
8375
8376 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8379 options with generic grub-mkrescue.in with the goal of future
8380 merge.
8381
8382 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/kern/mm.c: Add missing include of i18n.h
8385 * grub-core/lib/relocator.c: Likewise.
8386
8387 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8390 error.
8391 (allocate_pages): Check return value.
8392 Replace fatal with error.
8393 (grub_linux_boot): Replace printf with dprintf.
8394 Check find_mmap_size return value.
8395 Replace fatal with error.
8396 Don't call grub_machine_fini.
8397 (grub_load_elf64): Replace printf with dprintf.
8398 (grub_cmd_linux): Likewise.
8399 (grub_cmd_initrd): Likewise.
8400 (grub_cmd_payload): Likewise.
8401
8402 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8405 message.
8406 * grub-core/video/radeon_fuloong2e.c
8407 (grub_video_radeon_fuloong2e_setup): Likewise.
8408 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8409 * grub-core/video/video.c (grub_video_set_mode): Don't override
8410 standard out of memory message.
8411
8412 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8413
8414 NetBSD disk wedge support.
8415
8416 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8417 [__NetBSD__]: Handle NetBSD disk wedges.
8418 * util/getroot.c (convert_system_partition_to_system_disk)
8419 [__NetBSD__]: Likewise.
8420
8421 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
8422
8423 * util/grub-mkconfig.in: Use umask rather than chmod to create
8424 grub.cfg.new to avoid insecure grub.cfg.
8425
8426 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * grub-core/commands/ls.c: Gettextize.
8429 * grub-core/commands/setpci.c: Likewise.
8430 * grub-core/commands/videotest.c: Likewise.
8431 * grub-core/disk/geli.c: Likewise.
8432 * grub-core/kern/mm.c: Likewise.
8433 * grub-core/lib/relocator.c: Likewise.
8434 * grub-core/loader/efi/appleloader.c: Likewise.
8435 * grub-core/loader/i386/xnu.c: Likewise.
8436 * grub-core/loader/ia64/efi/linux.c: Likewise.
8437 * grub-core/loader/xnu.c: Likewise.
8438 * grub-core/net/dns.c: Likewise.
8439 * grub-core/net/net.c: Likewise.
8440 * grub-core/script/lexer.c: Likewise.
8441 * grub-core/script/parser.y: Likewise.
8442 * grub-core/script/yylex.l: Likewise.
8443 * util/getroot.c: Likewise.
8444 * util/grub-setup.c: Likewise.
8445
8446 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8449 number.
8450
8451 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8454
8455 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8458 macro.
8459 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8460 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8461
8462 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8465 * util/grub-install.in: Gettextize.
8466 * util/grub-mkconfig.in: Likewise.
8467 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8468 if not available.
8469 (grub_warn): Gettextize.
8470 * util/grub-mknetdir.in: Gettextize.
8471 * util/grub-mkrescue.in: Likewise.
8472 * util/grub-mkstandalone.in: Likewise.
8473 * util/grub-reboot.in: Likewise.
8474 * util/grub-set-default.in: Likewise.
8475 * util/grub.d/00_header.in: Likewise.
8476 * util/grub.d/10_hurd.in: Likewise.
8477 * util/grub.d/10_kfreebsd.in: Likewise.
8478 * util/grub.d/10_linux.in: Likewise.
8479 * util/grub.d/10_netbsd.in: Likewise.
8480 * util/grub.d/10_windows.in: Likewise.
8481 * util/grub.d/20_linux_xen.in: Likewise.
8482 * util/grub.d/30_os-prober.in: Likewise.
8483 * po/POTFILES-shell.in: Regenerate.
8484
8485 2012-02-03 Richard Laager <rlaager@wiktel.com>
8486
8487 * util/grub-mkimage.c (main): Fix format-security warning.
8488 * util/grub-mkrelpath.c (main): Likewise.
8489 * util/grub-probe.c (main): Likewise.
8490
8491 2012-02-03 Richard Laager <rlaager@wiktel.com>
8492
8493 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8494 failure.
8495 Put back lost PRINT_DRIVE.
8496
8497 2012-02-03 Richard Laager <rlaager@wiktel.com>
8498
8499 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8500 (grub_guess_root_devices): Replace strlen with sizeof.
8501 Avoid crash.
8502 (find_root_devices_from_poolname): Remove unused variable.
8503 Handle raidzN.
8504
8505 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 Support install on multi-device filesystems.
8508
8509 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8510 (grub_guess_root_devices): ...this. Return char **. All users updated.
8511 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8512 Removed.
8513 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8514 (find_root_devices_from_poolname): ... here.
8515 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8516 Support zfs-fuse.
8517 (grub_guess_root_device): Rename to ...
8518 (grub_guess_root_devices): ... this. Return char **. All users updated.
8519 * util/grub-install.in: Handle multi-device filesystems.
8520 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8521 argument. All users updated.
8522 Handle multi-device filesystems.
8523 Use 'delim' as separator.
8524 Remove device check to allow filesystems on file.
8525 (main): Support -0 argument. Handle multi-device.
8526 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8527 Fix a cross-device check while on it.
8528 (arguments): Remove root_dev.
8529 (argp_parser): Remove -r.
8530 (main): Remove root_dev.
8531
8532 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8535
8536 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8539 symbol.
8540 Reported by: NODA, Kai <nodakai>.
8541
8542 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 Fix ehci on amd64.
8545
8546 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8547 pointers.
8548 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8549 (grub_ehci_setup_qh): Likewise.
8550 (grub_ehci_find_qh): Likewise.
8551 (grub_ehci_transaction): Likewise.
8552 (grub_ehci_setup_transfer): Likewise.
8553 (grub_ehci_check_transfer): Likewise.
8554 (grub_ehci_portstatus): Likewise.
8555 (grub_ehci_detect_dev): Likewise.
8556 (grub_ehci_transfer_controller_data): New field td_last_phys.
8557 (grub_ehci_setup_transfer): Fill td_last_phys.
8558 (grub_ehci_check_transfer): Use td_last_phys.
8559
8560 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8561
8562 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8563 if no submenu is present.
8564
8565 2012-02-01 Aleš Nesrsta <starous@volny.cz>
8566
8567 CBI support.
8568
8569 * include/grub/usb.h (grub_usbms_protocol_t): New values
8570 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8571 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8572 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8573 (grub_usbms_dev): Add subclass, protocol and intrpt.
8574 Remove in_maxsz and out_maxsz.
8575 (grub_usbms_reset): Rename to ...
8576 (grub_usbms_bo_reset): .. this.
8577 (grub_usbms_cbi_cmd): New function.
8578 (grub_usbms_cbi_reset): Likewise.
8579 (grub_usbms_reset): Likewise.
8580 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8581 (grub_usbms_transfer): Rename to ...
8582 (grub_usbms_transfer_bo): ... this.
8583 (grub_usbms_transfer_cbi): Likewise.
8584 (grub_usbms_transfer): Likewise.
8585
8586 2012-02-01 Aleš Nesrsta <starous@volny.cz>
8587 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8590 the support for the CS5536 modification thereos and few bugfixes.
8591
8592 * grub-core/Makefile.core.def (ehci): New module.
8593 * grub-core/bus/usb/ehci.c: New file.
8594 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8595 port and hubaddr. All users updated.
8596 Save port and hubaddr into dev structure.
8597 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
8598 define.
8599 * include/grub/pci.h (grub_dma_phys2virt): New function.
8600 (grub_dma_virt2phys): Likewise.
8601 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
8602
8603 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
8606 check as some mkfs implementations omit it.
8607
8608 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * docs/grub.texi (Unicode): Mention identifier and space limitations.
8611
8612 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
8615 Add new member volname2.
8616 (grub_jfs_label): Use volname2 if available.
8617
8618 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
8621 over last_mounted as seen in image generated by mkfs.nilfs2.
8622 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
8623
8624 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
8627 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
8628 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
8629
8630 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
8633 over the sector.
8634
8635 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
8638 subvolume name (by removing a bogus and useless check).
8639
8640 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
8643 sizeof while on it.
8644
8645 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
8648 (grub_scsi_read_capacity10): ... this.
8649 (grub_scsi_read_capacity16): New function.
8650 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
8651 0xffffffff.
8652 Fix off-by-one error.
8653 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
8654 64-bit unsigned.
8655 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
8656 (grub_scsi_read_capacity10): ... this.
8657 (grub_scsi_read_capacity_data): Rename to ...
8658 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
8659 (grub_scsi_read_capacity16): New struct.
8660 (grub_scsi_read_capacity16_data): Likewise.
8661 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
8662 grub_scsi_cmd_read_capacity10.
8663 New command grub_scsi_cmd_read_capacity16.
8664
8665 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 SCSI >2TiB support.
8668
8669 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
8670 (grub_scsi_write16): Likewise.
8671 (grub_scsi_read): Use read16 when necessary.
8672 (grub_scsi_write): Likewise.
8673 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
8674 (grub_scsi_write16): Likewise.
8675 (grub_scsi_cmd_t): Add READ16 and WRITE16.
8676
8677 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 SCSI write support (for usbms mainly).
8680
8681 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
8682 a const pointer.
8683 (grub_scsi_write): Implement.
8684 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
8685
8686 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
8689 variable.
8690
8691 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/lib/posix_wrap/string.h (memchr): New function.
8694
8695 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * po/POTFILES.in: Regenerate.
8698
8699 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
8702 with grub_printf to avoid unnecessary fatal failure.
8703
8704 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
8707 (INT_MAX): Likewise.
8708 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
8709 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
8710 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
8711 (strcpy): Likewise.
8712 (strstr): Likewise.
8713 (strchr): Likewise.
8714 (strncpy): Likewise.
8715 (strcat): Likewise.
8716 (strncat): Likewise.
8717 (strcoll): Likewise.
8718 * include/grub/types.h (GRUB_SHRT_MAX): New define.
8719 (GRUB_INT_MAX): Likewise.
8720
8721 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
8724 unexpected error.
8725 (optimize_utf8): Likewise.
8726 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
8727
8728 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/boot/i386/pc/lnxboot.S: Use
8731 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
8732 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
8733 location.
8734 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
8735 definition.
8736 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
8737
8738 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
8741 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
8742 now to avoid double free.
8743 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
8744 hostdisk.
8745 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
8746 * util/grub-probe.c (escape_of_path): Always return a new copy.
8747 (print_full_name): Escape path.
8748 (probe): Don't call grub_util_devname_to_ofpath on NULL.
8749 Fix hints on abstractions.
8750
8751 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
8754 Don't add "root" line if no compatibility hont is available.
8755 Suggested by: Seth Goldberg.
8756
8757 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
8760 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
8761 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
8762 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
8763
8764 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
8767
8768 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * util/grub-pe2elf.c (ehdr): Make static.
8771 (shdr): Likewise.
8772 (num_sections): Likewise.
8773 (offset): Likewise.
8774
8775 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 Eliminate ofpath limits and possible overflows.
8778
8779 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
8780 (OF_PATH_MAX): Removed.
8781 (MAX_DISK_CAT): New const.
8782 (find_obppath): Use allocated rather than preallocated buffer.
8783 Return result. Argument of_path removed. All users updated.
8784 Add missing fdstat.
8785 (xrealpath): New function.
8786 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
8787 Allocate rather than use preallocated buffer. All users updated.
8788 (__of_path_common): Use allocated rather than preallocatecd buffer.
8789 Return result. Argument of_path removed. All users updated.
8790 (vendor_is_ATA): Read only needed part form the file.
8791 (check_sas): Allocate depending on contents rather than fixed.
8792 (main) [STANDALONE]: Handle NULL result.
8793
8794 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/normal/completion.c (iterate_dev): Close the disk.
8797
8798 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 Cryptodisk write support.
8801
8802 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
8803 (grub_cryptodisk_decrypt): Moved logic to ...
8804 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
8805 (grub_cryptodisk_write): Implement.
8806 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
8807 (grub_util_fd_write): ... this. Make global.
8808 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
8809
8810 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * include/grub/list.h (grub_list_remove): Don't crash if element is
8813 removed twice.
8814
8815 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 Rename ofconsole to console.
8818
8819 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
8820 as sysnonym to console.
8821 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
8822 * grub-core/term/ieee1275/console.c: ... this. All users updated.
8823 Rename grub_ofconsole_ to grub_console_. All users updated
8824 (grub_console_term_output): Rename "ofconsole" to "console".
8825 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
8826 as "console".
8827
8828 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
8831 handling.
8832 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
8833 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
8834 GRUB_DISK_DEVICE_FILE_ID.
8835
8836 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
8839 and improve performance.
8840
8841 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
8844 missing ieee1275/ prefix on whole disk.
8845
8846 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
8849 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
8850
8851 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
8854
8855 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Merge common RAID and LVM logic to an abstract diskfilter.
8858 Add LDM support using the same framework.
8859
8860 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
8861 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
8862 (libgrubmods): Remove grub-core/disk/raid.c and
8863 grub-core/partmap/gpt.c.
8864 * grub-core/Makefile.core.def (ldm): New module.
8865 (raid): Renamed to diskfilter. All users updated.
8866 * grub-core/disk/raid.c: Moved to ...
8867 * grub-core/disk/diskfilter.c: ... here.
8868 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
8869 (lv_num): New var.
8870 (find_array): Renamed to ...
8871 (find_lv): ... this. Support multi-LV. Skip nameless LVs
8872 (grub_is_array_readable): Renamed to ...
8873 (grub_is_lv_readable): ... this. Support multinode hierarchy.
8874 (insert_array): New argument id.
8875 (is_node_readable): New function.
8876 (scan_device): Rename to ...
8877 (scan_disk): .. this. Restrict to one disk.
8878 (scan_devices): New function.
8879 (grub_diskfilter_iterate): Support multi-LV.
8880 Skip invisible and nameless LVs.
8881 (grub_diskfilter_memberlist): Support multi-LV.
8882 (grub_diskfilter_read_node): New function.
8883 (grub_raid_read): Most of logic moved to ...
8884 (read_segment): ... here
8885 (read_lv): New function.
8886 (grub_diskfilter_get_vg_by_uuid): New function.
8887 (grub_diskfilter_make_raid): Likewise.
8888 * grub-core/disk/ldm.c: New file.
8889 * grub-core/disk/lvm.c (vg_list): Removed.
8890 (lv_count): Likewise.
8891 (scan_depth): Likewise.
8892 (is_lv_readable): Likewise.
8893 (grub_lvm_getvalue): Advance pointer past the number.
8894 (find_lv): Removed.
8895 (do_lvm_scan): Refactored into ...
8896 (grub_lvm_detect): ... this. Support raid.
8897 (grub_lvm_iterate): Removed.
8898 (grub_lvm_memberlist): Likewise.
8899 (grub_lvm_open): Likewise.
8900 (grub_lvm_close): Likewise.
8901 (read_lv): Likewise.
8902 (read_node): Likewise.
8903 (is_node_readable): Likewise.
8904 (is_lv_readable): Likewise.
8905 (grub_lvm_read): Likewise.
8906 (grub_lvm_write): Likewise.
8907 (grub_lvm_dev): Use diskfilter
8908 (GRUB_MOD_INIT): Likewise.
8909 (GRUB_MOD_FINI): Likewise.
8910 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
8911 new interface.
8912 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
8913 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8914 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
8915 grub_diskfilter_read_node.
8916 Fix a bug with xor.
8917 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
8918 grub_diskfilter_read_node.
8919 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
8920 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
8921 (grub_disk_dev_iterate): Move from here...
8922 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
8923 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8924 Make global.
8925 (grub_hostdisk_find_partition_start): Likewise.
8926 (grub_hostdisk_os_dev_to_grub_drive): New function.
8927 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
8928 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
8929 * util/getroot.c (make_device_name): ... here.
8930 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8931 Move to ...
8932 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
8933 * grub-core/kern/emu/hostdisk.c
8934 (convert_system_partition_to_system_disk): Move to ...
8935 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
8936 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
8937 * util/getroot.c (device_is_wholedisk): ... here.
8938 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
8939 * util/getroot.c (find_system_device): ... here.
8940 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
8941 Move to ...
8942 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
8943 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8944 Move to ...
8945 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
8946 Handle LDM.
8947 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8948 Move to ...
8949 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
8950 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
8951 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
8952 DISKFILTER.
8953 * include/grub/raid.h: Renamed to ...
8954 * include/grub/diskfilter.h: ... this.
8955 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
8956 (GRUB_RAID_LAYOUT_*): Make into array.
8957 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
8958 (grub_diskfilter_vg): New struct.
8959 (grub_diskfilter_pv_id): Likewise.
8960 (grub_raid_member): Removed.
8961 (grub_raid_array): Likewise.
8962 (grub_diskfilter_pv): New struct.
8963 (grub_diskfilter_lv): Likewise.
8964 (grub_diskfilter_segment): Likewise.
8965 (grub_diskfilter_node): Likewise.
8966 (grub_diskfilter_get_vg_by_uuid): New proto.
8967 (grub_raid_register): Inline.
8968 (grub_diskfilter_unregister): Likewise.
8969 (grub_diskfilter_make_raid): New proto.
8970 (grub_diskfilter_vg_register): Likewise.
8971 (grub_diskfilter_read_node): Likewise.
8972 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
8973 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
8974 (grub_util_is_ldm): Likewise.
8975 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
8976 (grub_hostdisk_find_partition_start): Likewise.
8977 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
8978 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
8979 New definition.
8980 (grub_gpt_partition_map_iterate): New proto.
8981 * include/grub/lvm.h (grub_lvm_vg): Removed.
8982 (grub_lvm_pv): Likewise.
8983 (grub_lvm_lv): Likewise.
8984 (grub_lvm_segment): Likewise.
8985 (grub_lvm_node): Likewise.
8986 * util/getroot.c [...]
8987 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
8988 (probe_abstraction): Likewise.
8989 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
8990 (main): Remove dead logic.
8991
8992 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 Simplify root device discover and don't fail when trying to open
8995 incorrect devices.
8996
8997 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
8998 function.
8999 (get_diskname_from_path): Likewise.
9000 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9001 of iterating.
9002
9003 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9006
9007 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9010 pastthe end.
9011
9012 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * util/grub-install.in: Add missing \.
9015 Reported by: gentoofan
9016
9017 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9020 (direct_read): Use correct compressed size.
9021 (grub_squash_read_data): Likewise.
9022
9023 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * docs/grub.texi (Platform limitations): New section.
9026 (Platform-specific operations): Likewise.
9027 * docs/grub-dev.texi (Porting): Likewise.
9028
9029 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 IEEE1275 disk write support.
9032
9033 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9034 const void *.
9035 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9036 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9037 and seek loginc to ...
9038 (grub_ofdisk_prepare): ... here.
9039 (grub_ofdisk_write): Implement.
9040
9041 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 ARC disk write support.
9044
9045 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9046 (reopen): New argument writable. All users updated.
9047 Handle required access mode.
9048 (grub_arcdisk_write): Implement.
9049 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9050 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9051
9052 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9055 (read_sblock): Don't attempt to read superblocks outside the disk size.
9056
9057 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9060 first superblock to find the second one when possible.
9061
9062 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * util/grub-install.in: Fix an ARC bug.
9065 Print a warning if no platform-specific setup is available.
9066
9067 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 Use static allocation rather than scratch pointer in reed_solomon.
9070 It decreases its size significantly and avoids a variable in .text.
9071
9072 * grub-core/lib/reed_solomon.c (scratch): Removed.
9073 (chosenstat): New const or static array.
9074 (sigma): Likewise.
9075 (errpot): Likewise.
9076 (errpos): Likewise.
9077 (sy): Likewise.
9078 (mstat): Likewise.
9079 (errvals): Likewise.
9080 (eqstat): Likewise.
9081 (pol_evaluate): Replace x with log_x argument. All users updated.
9082 (syndroms): Removed.
9083 (gauss_solve): Use statically allocated arrays.
9084 (rs_recover): Likewise.
9085 Calculate syndroms directly.
9086 (decode_block): Use statically allocated arrays.
9087 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9088 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9089
9090 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 Eliminate fixed limit on reed solomon decoder length.
9093
9094 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9095 rather than hardcoding the address.
9096 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9097 no_reed_solomon_length.
9098 Move gate_a20 to no-reed-solomon part.
9099 Don't force a particular size of no reed-solomon part.
9100 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9101 Removed.
9102 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9103 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9104
9105 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * grub-core/commands/wildcard.c (match_files): Handle filenames
9108 without explicit device.
9109 (wildcard_expand): Don't add explicit device if not already present.
9110 * tests/grub_script_echo1.in: Add a new expansion test.
9111
9112 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 Replace single-linked with double-linked lists. It results in more
9115 compact and more efficient code.
9116
9117 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9118 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9119 (grub_list_remove): Moved from here ...
9120 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9121 (grub_prio_list_insert): Set prev.
9122 * include/grub/list.h (grub_list): Add prev. All users updated.
9123
9124 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 Handle newer autotools. Add some missing quotes while on it.
9127
9128 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9129 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9130 (pkgdata_DATA): ... here.
9131 * Makefile.util.def (update-grub_lib): Removed.
9132 * conf/Makefile.common (pkglib_DATA): Removed.
9133 (pkglib_SCRIPTS): Likewise.
9134 (pkgdata_DATA): New variable.
9135 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9136 needed.
9137 Add missing quotes.
9138 Remove unused variable while on it.
9139 * tests/util/grub-shell.in: Likewise.
9140 * util/grub-install.in: Likewise.
9141 * util/grub-mkconfig.in: Likewise.
9142 * util/grub-mknetdir.in: Likewise.
9143 * util/grub-mkrescue.in: Likewise.
9144 * util/grub-mkstandalone.in: Likewise.
9145 * util/grub.d/00_header.in: Likewise.
9146 * util/grub.d/10_hurd.in: Likewise.
9147 * util/grub.d/10_illumos.in: Likewise.
9148 * util/grub.d/10_kfreebsd.in: Likewise.
9149 * util/grub.d/10_linux.in: Likewise.
9150 * util/grub.d/10_netbsd.in: Likewise.
9151 * util/grub.d/10_windows.in: Likewise.
9152 * util/grub.d/20_linux_xen.in: Likewise.
9153 * util/grub.d/30_os-prober.in: Likewise.
9154 * util/update-grub_lib.in: Removed.
9155
9156 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
9157
9158 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9159 a workaround for intel problem.
9160
9161 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
9162 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9163 2012-01-23 pfsmorigo
9164
9165 * util/grub-install.in: Support dd'in into PreP partition.
9166 * util/grub-probe.c (probe): Support discovering partition type.
9167 (main): Support -t msdos_parttype.
9168
9169 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9172 infinite recursion using counter.
9173 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9174 init to skip it if the magic check fails.
9175 (dec_stream_header): Init s->crc32.
9176
9177 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9178 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
9179 2012-01-22 Richard Laager <rlaager@wiktel.com>
9180
9181 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9182 All users updated.
9183 (find_bestub): Determine correct size.
9184 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9185 (scan_disk): Align the size down.
9186 Call check pool before find_bestub to have ashift.
9187
9188 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9191 dprintf in no-malloc zone.
9192
9193 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9194
9195 * configure.ac: Add back in test for limits.h.
9196
9197 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 Support 4K-sector NTFS.
9200
9201 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9202 (grub_ntfs_data): Remove blocksize.
9203 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9204 Remove data argument. All users updated.
9205
9206 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9209 being in .text to avoid dprel references.
9210 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9211 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9212 (grub_arch_highmemsize): Likewise.
9213 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9214 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9215 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9216
9217 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9220
9221 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9222 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9223
9224 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9227 GRUB_UTIL.
9228 (grub_set_datetime_cmos): Likewise.
9229
9230 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 Make XZ compression parameters dependent on target and not host CPU.
9233
9234 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9235 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9236
9237 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9240 set but not used variable.
9241
9242 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9245 created when no uuid support is compiled into mkfs.reiser.
9246
9247 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9250 (utf8_to_macroman): Do the opposite.
9251 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9252
9253 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * configure.ac: Refise build qemu_mips w/o unifont.
9256
9257 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 Eliminate grub_min/grub_max prone to overflow usage.
9260
9261 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9262 (poll_nonroot_hub): Likewise.
9263 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9264 (grub_affs_label): Likewise.
9265 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9266 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9267 (grub_hfs_label): Likewise.
9268 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9269 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9270 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9271 (zap_leaf_array_get): Likewise.
9272 (dnode_get_path): Likewise.
9273 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9274 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9275 * grub-core/script/execute.c (grub_script_break): Likewise.
9276 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9277 grub_max.
9278 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9279 * include/grub/misc.h (grub_min): Removed.
9280 (grub_max): Likewise.
9281
9282 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9283
9284 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9285 direct.inode = 0.
9286
9287 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9290
9291 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9294
9295 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9298 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9299
9300 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9303 rather than a hack for grub_strncasemap.
9304
9305 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Support multiple initrds
9308 Note: part of this was accidently committed in r3739.
9309
9310 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9311 initrd.
9312 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9313 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9314 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9315 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9316 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9317
9318 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9321 disks with unknown size.
9322 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9323
9324 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 Remove defines pertaining to arbitrary limits not affecting GRUB
9327 anymore.
9328
9329 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9330 (EXT2_MAX_SYMLINKCNT): Likewise.
9331 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9332 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9333 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9334 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9335 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9336 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9337 (DN_MAX_OBJECT_SHIFT): Likewise.
9338 (DN_MAX_OFFSET_SHIFT): Likewise.
9339 (DN_MAX_OBJECT): Likewise.
9340 (DNODES_PER_LEVEL_SHIFT): Likewise.
9341 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9342 (SPA_MAXBLOCKSIZE): Likewise.
9343 (SPA_BLOCKSIZES): Likewise.
9344 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9345 (MZAP_MAX_BLKSZ): Likewise.
9346
9347 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9350 handle NULL appropriately.
9351 Remove MIN.
9352
9353 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Fix efiemu.
9356
9357 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9358 cpu/types.h.
9359 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9360 * configure.ac: Fix efiemu check.
9361
9362 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9365 grub_probe.
9366 Reported by: adamwill
9367
9368 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9369
9370 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9371
9372 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 Fix handling of wide characters in gfxterm.
9375
9376 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9377 (clear_char): Likewise.
9378 (paint_char): Skip code == NULL chars.
9379 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9380
9381 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/normal/charset.c: Move comment to right place.
9384
9385 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9388 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9389 (grub_affs_mount): Revert the correct version checking.
9390
9391 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * docs/grub.texi (Unicode): Mention several other unsupported features.
9394
9395 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9398 case statements as compile-time one.
9399 (direct_read): Prevent spurious warnings.
9400 (grub_squash_read_data): Likewise.
9401
9402 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 Various squash4 fixes and LZO and XZ support.
9405
9406 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9407 Add xzembed source files.
9408 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9409 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9410 (grub_squash_inode): New subtype long_dir.
9411 (SQUASH_TYPE_LONG_DIR): New inode type.
9412 (COMPRESSION): New enum.
9413 (XZBUFSIZ): New const.
9414 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9415 (read_chunk): Use data->decompress.
9416 (zlib_decompress): New function.
9417 (lzo_decompress): Likewise.
9418 (xz_decompress): Likewise.
9419 (squash_mount): Set new data fields.
9420 (grub_squash_iterate_dir): Handle long dir.
9421 (squash_unmount): Free xzdec and xzbuf.
9422 (grub_squash_open): Check ino type.
9423 (direct_read): Stylistic fixes. Use data->decompress.
9424 (grub_squash_read_data): Likewise.
9425 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9426 (get_byte): Likewise.
9427 (grub_zlib_disk_read): Removed.
9428 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9429 (GRUB_POSIX_BOOL_DEFINED): New define.
9430 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9431 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9432 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9433 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9434
9435 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 Don't override more informative errors.
9438
9439 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9440 * grub-core/font/font.c (open_section): Likewise.
9441 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9442 filename. Don't override errors.
9443 (grub_cmd_openbsd_ramdisk): Don't override errors.
9444 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9445 (grub_cmd_initrd): Likewise.
9446 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9447 (grub_cmd_initrd): Likewise.
9448 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9449 (grub_cmd_linux): Likewise.
9450 (grub_cmd_initrd): Likewise.
9451 (grub_cmd_payload): Likewise.
9452 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9453 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9454 (grub_cmd_module): Likewise.
9455 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9456 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9457 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9458 (grub_cmd_xnu_mkext): Likewise.
9459 (grub_cmd_xnu_ramdisk): Likewise.
9460 (grub_xnu_check_os_bundle_required): Likewise.
9461 (grub_xnu_load_kext_from_dir): Likewise.
9462 (grub_cmd_xnu_kextdir): Likewise.
9463 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9464
9465 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9468 as 1024 in block size field. Found on one of my test images.
9469 Small optimisation while on it.
9470
9471 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9474 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9475 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9476 performance fixes while on it.
9477 (grub_sfs_close): Fix memory leak while on it.
9478 (grub_sfs_label): Convert Latin1 to UTF-8.
9479
9480 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9483 space to avoid overflows.
9484 (grub_hfs_label): Convert from macroman to UTF-8.
9485
9486 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9489
9490 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9493
9494 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * unicode: Import Unicode 6.0 data.
9497
9498 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9501 outside of range.
9502
9503 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 Avoid cutting in the middle of UTF-8 character.
9506
9507 * include/grub/charset.h (grub_getend): New function.
9508 * grub-core/script/function.c (grub_script_function_find): Use
9509 grub_getend.
9510 * grub-core/normal/completion.c (add_completion): Likewise.
9511
9512 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9515 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9516 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9517 (GRUB_UNICODE_TAG_END): Likewise.
9518 (GRUB_UNICODE_LAST_VALID): Likewise.
9519
9520 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9523 len and make it smaller. All users updated.
9524 * util/import_unicode.py: Put length and not end character.
9525 Check length.
9526
9527 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 Make better Unicode-compliant and unify some UTF-8 code pathes.
9530
9531 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9532 valid character.
9533 (grub_is_valid_utf8): Use grub_utf8_process.
9534 Check resulting code range.
9535 (grub_utf8_to_ucs4): Use grub_utf8_process.
9536 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9537 valid character.
9538
9539 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9542
9543 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * docs/grub.texi (Filesystems): Mention AFS.
9546
9547 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * docs/grub.texi (Filesystems): Clarify restrictions.
9550 (Regexp): Mention non-Unicode regexp behaviour.
9551 (Other): Mention non-Unicode matching behaviour.
9552
9553 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 Make HFS implementation use MacRoman.
9556
9557 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9558 (macroman): New const array.
9559 (macroman_to_utf8): New function.
9560 (utf8_to_macroman): Likewise.
9561 (grub_hfs_find_dir): Use utf8_to_macroman.
9562 (grub_hfs_dir): Use macroman_to_utf8.
9563 Set case_insensitive.
9564
9565 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9568
9569 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 Integrate hints into autogeneration scripts.
9572
9573 * docs/grub.texi (Filesystems): Add a hostdisk example.
9574 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9575 (grub-probe): Add ofpath.
9576 * gentpl.py: Remove group nosparc64.
9577 * grub-core/commands/search.c (cache_entry): New struct.
9578 (cache): New var.
9579 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9580 * grub-core/commands/search_wrap.c (options): Add platform-specific
9581 hint options.
9582 (grub_cmd_search): Handle platform-specific hints.
9583 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9584 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9585 (grub_util_biosdisk_data): Likewise.
9586 (grub_util_biosdisk_open): Set device_map.
9587 (read_device_map): Handle "" as indication of no map.
9588 Set device_map.
9589 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9590 (grub_util_biosdisk_get_compatibility_hint): New function.
9591 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9592 * include/grub/emu/hostdisk.h
9593 (grub_util_biosdisk_get_compatibility_hint): New proto.
9594 * util/grub-install.in: Don't call grub-mkdevicemap.
9595 Add platform-specific hint to load.cfg.
9596 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
9597 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9598 hints. Set root preliminary to compatibility hint, not to OS name.
9599 * util/grub-probe.c (PRINT_*): Add hints.
9600 (print): Make static.
9601 (escape_of_path): New function.
9602 (guess_bios_drive): Likewise.
9603 (guess_efi_drive): Likewise.
9604 (guess_baremetal_drive): Likewise.
9605 (print_full_name): Likewise.
9606 (probe): Handle hints.
9607 (main): Likewise.
9608 * util/ieee1275/devicemap.c: Removed.
9609 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
9610 updated.
9611 (grub_util_devname_to_ofpath): Return NULL on failure.
9612
9613 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
9614 resource leak.
9615 * util/getroot.c (grub_util_pull_device): Fix memory leak.
9616
9617 * po/POTFILES.in: Regenerated.
9618
9619 Allow purely long options
9620
9621 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
9622 (SHORT_ARG_USAGE): Likewise.
9623 (grub_arg_show_help): Compare opt with help_options.
9624 (parse_option): Receive opt as argument. If makes big simplificatons.
9625 All users updated
9626
9627 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
9630 Restructure to avoid warning.
9631
9632 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * util/grub-install.in: Account for possible escaped comma in device
9635 name.
9636
9637 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
9640 channel.
9641
9642 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
9645 allocation and zero-setting.
9646 (grub_ieee1275_get_devname): Check that alias is complete.
9647
9648 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
9651 unaligned segments.
9652
9653 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
9656 prefix.
9657 (grub_ofdisk_open): Check and discard ieee1275 prefix.
9658 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9659 Add ieee1275 prefix.
9660
9661 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * docs/grub.texi (Filesystems): Update.
9664
9665 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 Support odc, newc and bigendian cpio formats.
9668
9669 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
9670 * grub-core/Makefile.core.def (newc): New module.
9671 (odc): Likewise.
9672 (cpio_be): Likewise.
9673 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
9674 (MAGIC): Likewise.
9675 (MAGIC2): Likewise.
9676 (head) [MODE_ODC]: Adapt for the format.
9677 (head) [MODE_NEWC]: Likewise.
9678 (head) [!MODE_*]: Write fields of interest as arrays.
9679 (MAGIC_USTAR): Removed.
9680 (read_number) [MODE_NEWC]: Change to hex.
9681 (read_number) [!MODE_*]: Parse binary arrays.
9682 (grub_cpio_find_file): Factor out the code for better structure and
9683 always use read_number.
9684 (grub_cpio_mount): Use MAGIC and MAGIC2.
9685 (grub_cpio_dir): Exit on first hook non-0 return.
9686 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
9687 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
9688 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
9689 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
9690 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
9691 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
9692 * grub-core/fs/newc.c: New file.
9693 * grub-core/fs/odc.c: Likewise.
9694 * grub-core/fs/cpio_be.c: Likewise.
9695
9696 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 Fix handling of tar numbers occupying the whole field.
9699
9700 * grub-core/fs/cpio.c (read_number): New function.
9701 (grub_cpio_find_file): Use read_number instead of strtoull.
9702
9703 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
9706 occupying the whole field size.
9707
9708 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
9709
9710 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
9711
9712 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
9715
9716 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
9717
9718 * grub-core/Makefile.core.def (lzma_decompress): Add missing
9719 TARGET_IMG_LDFLAGS.
9720
9721 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * util/getroot.c (ESCAPED_PATH_MAX): New define.
9724 (mountinfo_entry): Increase the field size to take escaping into
9725 account.
9726 (find_root_device_from_libzfs): Add one byte to size of strings for
9727 security.
9728
9729 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
9732 an assert.
9733 * util/grub-setup.c (setup): Likewise.
9734
9735 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
9738 _LzmaDecodeA.
9739
9740 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * docs/grub.texi (Internationalisation): New section.
9743
9744 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * docs/grub.texi (Loopback booting): New section.
9747
9748 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
9749
9750 * util/grub-mkstandalone.in: Fix minor typo errors.
9751
9752 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
9755
9756 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
9757 net/icmp.c and net/icmp6.c.
9758 (http): New module.
9759 (priority_queue): Likewise.
9760 * grub-core/io/bufio.c: Rewritten.
9761 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
9762 TYPE_WITH_CONFIGFILE_OPTION.
9763 (legacy_commands): Add bootp and dhcp.
9764 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
9765 (grub_legacy_parse): Likewise.
9766 * grub-core/lib/priority_queue.c: New file.
9767 * grub-core/net/arp.c: Add missing license header.
9768 (arp_find_entry): Removed.
9769 (arp_find_entry): Likewise.
9770 (grub_net_arp_resolve): Rename to ...
9771 (grub_net_arp_send_request): ...this.
9772 (grub_net_arp_receive): New card argument.
9773 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
9774 Set router and DNS server.
9775 (grub_net_configure_by_dhcp_ack): Handle routing information.
9776 (grub_cmd_bootp): Set checksum.
9777 (grub_bootp_init): Remove net_dhcp.
9778 * grub-core/net/dns.c: New file.
9779 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
9780 completion.
9781 (get_card_packet): Handle allocation.
9782 (grub_efinet_findcards): Set mtu.
9783 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
9784 (get_card_packet): Handle allocation.
9785 (emucard): Set mtu.
9786 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
9787 (GRUB_MOD_INIT): Set mtu.
9788 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
9789 mtu.
9790 (get_card_packet): Handle allocation.
9791 (grub_ofnet_findcards): Set mtu.
9792 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
9793 assert.
9794 (grub_net_recv_ethernet_packet): Handle IPv6.
9795 * grub-core/net/http.c: New file.
9796 * grub-core/net/icmp.c: Likewise.
9797 * grub-core/net/icmp6.c: Likewise.
9798 * grub-core/net/ip.c (ip6addr): New type.
9799 (ip6hdr): Likewise.
9800 (reassemble): Likewise.
9801 (cmp): New function.
9802 (reassembles): New variable.
9803 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
9804 (id): New variable.
9805 (send_fragmented): New function.
9806 (grub_net_send_ip_packet): Rename to ...
9807 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
9808 Handle non-UDP.
9809 (grub_net_recv_ip_packets): Rename to ...
9810 (handle_dgram): ... this. Check checksum. Handle non-UDP.
9811 (free_rsm): New function.
9812 (free_old_fragments): Likewise.
9813 (grub_net_recv_ip4_packets): New function.
9814 (grub_net_send_ip6_packet): Likewise.
9815 (grub_net_send_ip_packet): Likewise.
9816 (grub_net_recv_ip6_packets): Likewise.
9817 (grub_net_recv_ip_packets): Likewise.
9818 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
9819 (LINK_LAYER_CACHE_SIZE): New const.
9820 (link_layer_find_entry): New function.
9821 (grub_net_link_layer_add_address): Likewise.
9822 (grub_net_link_layer_resolve_check): Likewise.
9823 (grub_net_link_layer_resolve): Likewise.
9824 (grub_net_ipv6_get_slaac): Likewise.
9825 (grub_net_ipv6_get_link_local): Likewise.
9826 (grub_cmd_ipv6_autoconf): Likewise.
9827 (parse_ip): Handle one number representation.
9828 (parse_ip6): New functoion.
9829 (match_net): Handle IPv6.
9830 (grub_net_resolve_address): Handle IPv6 and DNS.
9831 (grub_net_resolve_net_address): Handle IPv6.
9832 (route_cmp): New function.
9833 (grub_net_route_address): Find best route.
9834 (grub_net_addr_to_str): Handle IPv6.
9835 (grub_net_addr_cmp): New function.
9836 (grub_net_add_addr): Register local route.
9837 (print_net_address): Handle net address.
9838 (grub_net_poll_cards): Retransmit TCP.
9839 (grub_net_poll_cards_idle_real): Likewise.
9840 (have_ahead): New function.
9841 (grub_net_seek_real): Use underlying seek.
9842 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
9843 * grub-core/net/tcp.c: New file.
9844 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
9845 (cmp): New function.
9846 (ack): Likewise.
9847 (tftp_receive): Handle unordered input.
9848 (destroy_pq): New function.
9849 (tftp_close): Close pq.
9850 * grub-core/net/udp.c: Put missing license header.
9851 (grub_net_udp_socket): New function.
9852 (udp_socket_register): Likewise.
9853 (grub_net_udp_close): Likewise.
9854 (grub_net_recv_udp_packet): Check checksum.
9855 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
9856 * include/grub/misc.h (grub_memchr): New function.
9857 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
9858 (grub_net_card_driver): Return buf in recv.
9859 (grub_net_slaac_mac_list): New struct.
9860 (grub_network_level_protocol_id): Add ipv6.
9861 (grub_net_network_level_addr): Likewise.
9862 (grub_net_network_level_net_addr): Likewise.
9863 (grub_net_app_protocol): Add seek.
9864 (grub_net_socket): Removed.
9865 (grub_net_sockets): Likewise.
9866 (grub_net_socket_register): Likewise.
9867 (grub_net_socket_unregister): Likewise.
9868 (FOR_NET_SOCKETS): Likewise.
9869 (grub_net_add_addr): Add const.
9870 (GRUB_NET_BOOTP_*): New enum.
9871 (grub_net_addr_cmp): New proto.
9872 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
9873 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
9874 (grub_net_hwaddr_to_str): NEw proto.
9875 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
9876 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
9877 (grub_dns_init): New proto.
9878 (grub_dns_fini): Likewise.
9879 (grub_net_tcp_retransmit): Likewise.
9880 (grub_net_link_layer_add_address): Likewise.
9881 (grub_net_link_layer_resolve_check): Likewise.
9882 (grub_net_link_layer_resolve): Likewise.
9883 (grub_net_dns_lookup): Likewise.
9884 (grub_net_add_dns_server): Likewise.
9885 (grub_net_remove_dns_server): Likewise.
9886 (GRUB_NET_TRIES): New const.
9887 (GRUB_NET_INTERVAL): Likewise.
9888 * include/grub/net/arp.h: Mostly rewritten.
9889 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
9890 * include/grub/net/ip.h: Mostly rewritten.
9891 * include/grub/net/netbuff.h: Indent.
9892 * include/grub/net/tcp.h: New file.
9893 * include/grub/net/udp.h: Mostly rewritten.
9894 * include/grub/priority_queue.h: New file.
9895 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
9896 (grub_swap_bytes64_compile_time): Likewise.
9897 (grub_cpu_to_be16_compile_time): Likewise.
9898 (grub_cpu_to_be32_compile_time): Likewise.
9899 (grub_cpu_to_be64_compile_time): Likewise.
9900 (grub_be_to_cpu64_compile_time): Likewise.
9901
9902 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
9905 UINT_TO_PTR with cast.
9906
9907 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
9910 don't use them.
9911
9912 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
9915 already there.
9916
9917 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
9920 confusing ipxe.
9921
9922 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
9925 Add missing const attribute.
9926 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
9927 Likewise.
9928 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
9929 Likewise.
9930
9931 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
9934 misaligned access.
9935 (serpent_setkey): Likewise.
9936 (serpent_encrypt_internal): Likewise.
9937 (serpent_decrypt_internal): Likewise.
9938 (serpent_encrypt): Don't put an alignment-increasing cast.
9939 (serpent_decrypt): Likewise.
9940 (serpent_test): Likewise.
9941
9942 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
9945
9946 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
9949
9950 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
9951 grub_addr_t casts.
9952 (PTR_TO_UINT64): Likewise.
9953 (PTR_TO_UINT32): Likewise.
9954
9955 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * util/grub-mkimage.c (generate_image): Decrease the higher limit
9958 because of stack.
9959 * util/grub-setup.c (setup): Don't add redundancy past the higher load
9960 limit.
9961
9962 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
9965 text_width > available width a bit more gracefully.
9966
9967 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
9970 current address calculation.
9971
9972 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
9975 stack.
9976 (encode_block): Likewise.
9977
9978 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
9981 certainety.
9982
9983 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
9986 non-RS part to avoid RS messing with GDT.
9987 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9988 Increase to suit in realmode routines.
9989
9990 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/kern/i386/realmode.S: Increase alignment.
9993 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
9994
9995 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
9998 be deterministic.
9999 (syndroms): Compute 0 syndrom.
10000 (rs_recover): Use 0 syndrom.
10001
10002 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10005
10006 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10009 brackets.
10010
10011 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10014 account.
10015 (get_top_pad): Likewise.
10016 (get_right_pad): Likewise.
10017 (get_bottom_pad): Likewise.
10018
10019 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
10022
10023 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10026 attribute as the structure isn't guaranteed to be properly aligned.
10027 (grub_efi_pci_device_path): Likewise.
10028 (grub_efi_pccard_device_path): Likewise.
10029 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10030 specify the size of `memory_type'.
10031 (grub_efi_vendor_device_path): Likewise.
10032 (grub_efi_controller_device_path): Likewise.
10033 (grub_efi_acpi_device_path): Likewise.
10034 (grub_efi_expanded_acpi_device_path): Likewise.
10035 (grub_efi_atapi_device_path): Likewise.
10036 (grub_efi_scsi_device_path): Likewise.
10037 (grub_efi_fibre_channel_device_path): Likewise.
10038 (grub_efi_1394_device_path): Likewise.
10039 (grub_efi_usb_device_path): Likewise.
10040 (grub_efi_usb_class_device_path): Likewise.
10041 (grub_efi_i2o_device_path): Likewise.
10042 (grub_efi_mac_address_device_path): Likewise.
10043 (grub_efi_ipv4_device_path): Likewise.
10044 (grub_efi_ipv6_device_path): Likewise.
10045 (grub_efi_infiniband_device_path): Likewise.
10046 (grub_efi_uart_device_path): Likewise.
10047 (grub_efi_vendor_messaging_device_path): Likewise.
10048 (grub_efi_hard_drive_device_path): Likewise.
10049 (grub_efi_cdrom_device_path): Likewise.
10050 (grub_efi_vendor_media_device_path): Likewise.
10051 (grub_efi_file_path_device_path): Likewise.
10052 (grub_efi_protocol_device_path): Likewise.
10053 (grub_efi_piwg_device_path): Likewise.
10054 (grub_efi_bios_device_path): Likewise.
10055
10056 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10059 (grub_ucs4_to_utf8_alloc): Likewise.
10060 (grub_ucs4_to_utf8): Likewise.
10061 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10062 (grub_ucs4_to_utf8_alloc): Likewise.
10063
10064 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 AFFS never uses unicode.
10067
10068 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10069 (grub_latin1_to_utf8): New inline function.
10070 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10071
10072 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10075 overflow.
10076
10077 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10080 (grub_squash_dirent_header): Likewise.
10081 (read_chunk): Don't double swap.
10082 (grub_squash_iterate_dir): Fix swap sizes.
10083
10084 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10087
10088 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10091 (grub_hfs_iterate_dir): Likewise.
10092
10093 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 Fix video on platforms where unaligned access is forbidden.
10096 Make several optimisations while on it.
10097
10098 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10099 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10100 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10101 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10102 Disable.
10103 (grub_video_fbblit_replace_16bit_1bit):
10104 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10105 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10106 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10107 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10108 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10109 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10110 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10111 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10112 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10113 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10114 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10115 (grub_video_fbblit_replace_index_RGB888): Likewise.
10116 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10117 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10118 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10119 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10120 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10121 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10122 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10123 Disable.
10124 (grub_video_fbblit_blend_XXX565_1bit):
10125 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10126 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10127 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10128 void *.
10129 * grub-core/video/fb/video_fb.c (common_blitter)
10130 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10131 (grub_video_fb_create_render_target_from_pointer)
10132 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10133 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10134 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10135 definition.
10136 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10137
10138 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10141 HH22 and HM10 relocations.
10142
10143 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10146
10147 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10150 allocation succeeded.
10151
10152 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10155 argument a u8 pointer. All users updated.
10156 Handle unaligned buffers.
10157
10158 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10161 add_part to workaround compiler bug.
10162
10163 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10166
10167 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10170 Reserve alignment invariants.
10171 (grub_multiboot_load): Likewise.
10172 (retrieve_video_parameters): Likewise.
10173 (grub_multiboot_make_mbi): Likewise.
10174
10175 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10178 incorrect pointer.
10179
10180 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10183 (grub_pata_pio_write): Likewise.
10184
10185 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 Add noreturn attributes and remove unreachable code.
10188
10189 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10190 code.
10191 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10192 code. Mark as noreturn.
10193 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10194 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10195 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10196 unreachable code.
10197 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10198 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10199 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10200 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10201 * include/grub/kernel.h (grub_main): Mark as noreturn.
10202 * include/grub/reader.h (grub_rescue_run): Likewise.
10203
10204 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10207 redundant declaration.
10208
10209 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10212 redundant declaration.
10213 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10214
10215 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10218 to ensure alignment.
10219 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10220 alignment. Ensure tmp alignment.
10221 (grub_cmd_hdparm): Ensure buf alignment.
10222 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10223 to ensure alignment.
10224 (grub_ata_dumpinfo): Ensure text alignment.
10225 (grub_atapi_identify): Preserve alignment invariant.
10226 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10227
10228 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10231 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10232 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10233 * include/grub/misc.h (grub_reboot)
10234 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10235 (grub_halt) [__mips__]: Likewise.
10236
10237 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10240 Remove redundant declaration.
10241 (grub_mmap_get_post64): Likewise.
10242 (grub_mmap_get_upper): Likewise.
10243 (grub_mmap_get_lower): Likewise.
10244
10245 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10248 uint32_t * to ensure alignment.
10249 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10250
10251 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10254 uint16_t * to ensure alignment.
10255 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10256 alignment.
10257
10258 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
10261 to ensure alignment.
10262 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10263
10264 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10267 Handle unaligned pointers.
10268 (u32at): Likewise.
10269 (u64at): Likewise.
10270 (fixup): Use byte access instead of v16at.
10271 (find_attr): Fix imporper usage of v32at.
10272 (read_data): Likewise.
10273 (list_file): Handle byte-swapping and unaligned strings.
10274 (grub_ntfs_label): Likewise.
10275
10276 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10279 as it's not necessarily aligned.
10280
10281 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10284 redundant declaration.
10285 (grub_serial_init): Likewise.
10286 (grub_terminfo_init): Likewise.
10287
10288 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10291 function.
10292 (ZAP_HASH_IDX): Likewise.
10293 (ZAP_LEAF_HASH_SHIFT): Likewise.
10294 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10295 (LEAF_HASH): Likewise.
10296 (ZAP_LEAF_NUMCHUNKS): Likewise.
10297 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10298 alignment invariants. Return pointer. All users updated.
10299 (ZAP_LEAF_ENTRY): Make into inline function.
10300 (NBBY): Removed.
10301 (xor): LIkewise.
10302 (xor_out): Use grub_crypto_xor.
10303 (dnode_get_path): Use grub_get_unaligned.
10304 (nvlist_find_value): Likewise.
10305 (grub_zfs_nvlist_lookup_uint64): Likewise.
10306 (grub_zfs_nvlist_lookup_string): Likewise.
10307 (get_nvlist_size): Likewise.
10308 (grub_zfs_open): Likewise.
10309 (fill_fs_info): Likewise.
10310 (grub_zfs_dir): Likewise.
10311 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10312 alignment invariants.
10313 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10314 necessarily aligned.
10315
10316 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10319
10320 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10323 arithmetic to conserve alignment invariants.
10324
10325 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10328 redundant declaration.
10329 (grub_efiemu_mm_obtain_request): Likewise.
10330 (grub_efiemu_prepare): Likewise.
10331
10332 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10335 to match types.
10336
10337 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10340 case of aunaligned recptr.
10341 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10342 alignment.
10343 (grub_hfsplus_btree_search): Handle unaligned index.
10344
10345 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10348 to get freetag and skip.
10349
10350 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10353 array.
10354 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10355 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10356
10357 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10360 name for checksum and fix allocation algorithm.
10361
10362 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * include/grub/types.h (grub_properly_aligned_t): New type.
10365 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10366 (grub_get_unaligned16): Add explicit casts.
10367 (grub_get_unaligned32): Likewise.
10368 (grub_get_unaligned64): Likewise.
10369 (grub_set_unaligned16): New function.
10370 (grub_set_unaligned32): Likewise.
10371
10372 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10375
10376 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10379 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10380 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10381
10382 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10385 conditionals.
10386
10387 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10390 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10391
10392 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 Unify and improve RAID and crypto xor.
10395
10396 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10397 changed to grub_crypto_xor
10398 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10399 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10400 Use bigger types when possible.
10401
10402 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/disk/raid.c (scan_devices): Fix condition.
10405
10406 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10409 Make name a const ptr.
10410
10411 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10414 first argument a const pointer.
10415 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10416 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10417 proto.
10418 (grub_children_iterate): Likewise.
10419 (grub_machine_mmap_iterate): Remove redundant declaration.
10420
10421 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10424 (grub_cmd_acpi) [!x86]: Disable EBDA.
10425
10426 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 Enable UTF8 in gnulib regexp.
10429
10430 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10431 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10432 (isupper): Use grub_isupper.
10433 (isascii): New inline function.
10434 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10435 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10436 * grub-core/normal/charset.c (grub_utf8_process): New function.
10437 (grub_utf8_to_utf16): Use grub_utf8_process.
10438 (grub_encode_utf8_character): New function.
10439 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10440 * include/grub/charset.h (grub_utf8_process): New declaration.
10441 (grub_encode_utf8_character): Likewise.
10442 * include/grub/misc.h (grub_islower): New inline function.
10443 (grub_isupper): Likewise.
10444 (grub_strchrsub): Moved down to fix the definitions.
10445
10446 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10449 specification.
10450
10451 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * include/grub/loader.h (grub_loader_register_preboot_hook):
10454 Use struct preboot * and not void * for handle. All users updated.
10455 (grub_loader_unregister_preboot_hook): Likewise.
10456
10457 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10460 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10461 UTF-16-BE. All users updated.
10462 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10463 (grub_hfsplus_iterate_dir): Likewise.
10464 (grub_hfsplus_label): Likewise.
10465
10466 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10469
10470 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 Add missing const qualifiers.
10473
10474 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10475 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10476 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10477 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10478 (grub_lvm_check_flag): Likewise.
10479 * grub-core/efiemu/i386/coredetect.c
10480 (grub_efiemu_get_default_core_name): Likewise
10481 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10482 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10483 * grub-core/fs/ntfs.c (fixup): Likewise.
10484 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10485 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10486 (fzap_lookup): Likewise.
10487 (zap_lookup): Likewise.
10488 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10489 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10490 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10491 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10492 (grub_freebsd_add_meta_module): Likewise.
10493 (grub_cmd_freebsd_module): Likewise.
10494 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10495 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10496 (grub_xnu_writetree_get_size): Likewise.
10497 (grub_xnu_writetree_toheap_real): Likewise.
10498 (grub_xnu_find_key): Likewise.
10499 (grub_xnu_create_key): Likewise.
10500 (grub_xnu_create_value): Likewise.
10501 (grub_xnu_register_memory): Likewise.
10502 (grub_xnu_check_os_bundle_required): Likewise.
10503 (grub_xnu_scan_dir_for_kexts): Likewise.
10504 (grub_xnu_load_kext_from_dir): Likewise.
10505 * grub-core/normal/color.c (color_list): Likewise.
10506 * grub-core/normal/completion.c (current_word): Likewise.
10507 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10508 * grub-core/term/serial.c (grub_serial_find): Likewise.
10509 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10510 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10511 Likewise.
10512 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10513 (grub_freebsd_add_meta_module): Likewise.
10514 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10515 * include/grub/net.h (grub_net_card_driver): Likewise.
10516 (grub_net_card): Likewise.
10517 (grub_net_app_protocol): Likewise.
10518 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10519 * include/grub/serial.h (grub_serial_find): Likewise.
10520 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10521 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10522 (grub_xnu_create_value): Likewise.
10523 (grub_xnu_find_key): Likewise.
10524 (grub_xnu_scan_dir_for_kexts): Likewise.
10525 (grub_xnu_load_kext_from_dir): Likewise.
10526
10527 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10528 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10529 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10530 Moved from here ...
10531 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10532
10533 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
10534
10535 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10536
10537 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10540 (read_device): Fix size calculation.
10541
10542 2011-11-25 Robert Millan <rmh@gnu.org>
10543
10544 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10545 (find_root_device_from_libzfs): Add zpool output parser to be used
10546 as fallback when libzfs isn't available.
10547
10548 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10549
10550 * po/Makefile.in.in: Add missing escape-continuation.
10551
10552 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10555
10556 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10559
10560 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10563
10564 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10567
10568 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/lib/adler32.c: Add missing license specification.
10571 * grub-core/lib/crc64.c: Likewise.
10572 * grub-core/loader/i386/pc/plan9.c: Likewise.
10573 * grub-core/partmap/plan.c: Likewise.
10574
10575 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10576
10577 Add facility to debug GRUB with gdb under qemu.
10578
10579 * grub-core/gdb_grub.in: New file.
10580 * grub-core/gmodule.pl.in: Likewise.
10581 * grub-core/Makefile.core.def (gmodule.pl): New script.
10582 (gdb_grub): Likewise.
10583
10584 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * util/grub-mount.c (argp_parser): Accept relative pathes.
10587 * util/grub-fstest.c (argp_parser): Likewise.
10588
10589 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 Plan9 support.
10592
10593 * Makefile.util.def (libgrubmods): Add
10594 grub-core/partmap/plan.c.
10595 * docs/grub.texi: Notice Plan9 support.
10596 * grub-core/Makefile.core.def (plan9): New module.
10597 (part_plan): Likewise.
10598 * grub-core/loader/i386/pc/plan9.c: New file.
10599 * grub-core/partmap/plan.c: Likewise.
10600 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
10601 define.
10602 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
10603 * include/grub/mm.h (grub_extend_alloc): New inline function.
10604
10605 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 Make Reed-Solomon faster by using power of generator representation of
10608 GF(256)*.
10609
10610 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
10611 (gf_double_t): Likewise.
10612 (gf_invert): Removed.
10613 (gf_powx): New array.
10614 (gf_powx_inv): Likewise.
10615 (scratch): Move higher.
10616 (gf_reduce): Removed.
10617 (gf_mul): Use powx.
10618 (gf_invert): Likewise.
10619 (init_inverts): Replaced with ...
10620 (init_powx): ...this. All users updated.
10621 (pol_evaluate): Replace multiplications with additions.
10622 (rs_encode): Likewise.
10623 (gauss_eliminate): Call gf_invert.
10624 (grub_reed_solomon_add_redundancy): Call init_powx.
10625 (grub_reed_solomon_recover): Call init_powx unconditionally.
10626
10627 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
10630
10631 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
10634 disk->partiton for safety.
10635
10636 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10639 Fix a memory leak.
10640 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
10641
10642 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
10645
10646 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
10649
10650 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 Fix spaces handling in proc/self/mountinfo.
10653
10654 * util/getroot.c (unescape): New function.
10655 (grub_find_root_device_from_mountinfo): Use unescape.
10656
10657 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 Support ZFS embedding.
10660
10661 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
10662 (grub_zfs_fs): Register grub_zfs_embed.
10663
10664 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 Fix MIPS compilation.
10667
10668 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
10669 * include/grub/offsets.h: Rename decompressor fields from
10670 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
10671 * util/grub-mkimage.c (image_targets): Use new names.
10672
10673 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 Defer multiboot device parsing until we're in compressed part.
10676
10677 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
10678 bsd_part. setdevice has fallen into disuse.
10679 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
10680 (bsd_part): Likewise.
10681 (boot_dev): New variable.
10682 (multiboot_trampoline): Don't parse multiboot device.
10683 Pass multiboot device in %edx.
10684 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
10685 grub_boot_device.
10686 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
10687 Likewise.
10688 * grub-core/kern/i386/pc/startup.S: Save edx.
10689 (grub_boot_drive): Removed.
10690 (grub_install_dos_part): Likewise.
10691 (grub_install_bsd_part): Likewise.
10692 (grub_boot_device): New variable.
10693 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
10694 (grub_install_bsd_part): Likewise.
10695 (grub_boot_drive): Likewise.
10696 (grub_boot_device): New variable.
10697 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
10698 Removed.
10699 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10700 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
10701 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
10702 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
10703 * util/grub-install.in: Remove redundant condition.
10704
10705 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 Fix bug introduced by previous commit.
10708
10709 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
10710
10711 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 Use decompressors framework on i386-pc. It increases core size
10714 by 46 bytes but improves compatibility and maintainability.
10715
10716 * grub-core/Makefile.core.def (lzma_decompress): New image.
10717 (kernel): Add i386_pc_ldflags.
10718 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
10719 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
10720 to real_to_prot, prot_to_real and device info.
10721 * include/grub/offsets.h: Renamed decompressor offsets.
10722 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
10723 (image_target_desc): Remove raw_size and rename decompressor fields.
10724 (compress_kernel): Handle lzma.
10725 (generate_image): Handle decompressors on i386-pc.
10726
10727 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * configure.ac: Add -fno-asynchronous-unwind-tables.
10730
10731 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 Move assembly code to C by using intwrap. It increases core size
10734 by 88 bytes but improves compatibility and maintainability.
10735
10736 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
10737 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
10738 ... here. Translated to C.
10739 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
10740 * grub-core/term/i386/pc/console.c (grub_console_getkey):
10741 ... here. Translated to C.
10742 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
10743 * grub-core/term/i386/pc/console.c (grub_console_getxy):
10744 ... here. Translated to C.
10745 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
10746 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
10747 ... here. Translated to C.
10748 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
10749 * grub-core/term/i386/pc/console.c (grub_console_cls):
10750 ... here. Translated to C.
10751 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
10752 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
10753 ... here. Translated to C.
10754 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
10755 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
10756 Translated to C.
10757 * grub-core/term/i386/pc/console.c (int10_9): New function.
10758 (grub_console_putchar): Likewise.
10759 * include/grub/i386/pc/console.h: Removed the not anymore shared
10760 functions.
10761
10762 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 Move grub_chainloader_real_boot out of the kernel.
10765
10766 * grub-core/Makefile.am: Remove machine/loader.h.
10767 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10768 Removed.
10769 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
10770 variable.
10771 (grub_relocator16_keep_a20_enabled): Likewise.
10772 (grub_relocator16_boot): Fill new variables.
10773 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
10774 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
10775 relocator.
10776 (grub_chainloader_unload): Likewise.
10777 (grub_chainloader_cmd): Likewise.
10778 * include/grub/i386/pc/loader.h: Removed.
10779 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
10780 and esi. All initialisers updated.
10781
10782 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10783 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
10784
10785 * Makefile.util.def (grub-mount): New util.
10786 * .bzrignore: Add grub-mount.
10787 * configure.ac: Check for fuse and enable grub-mount if available.
10788 * docs/man/grub-mount.h2m: New file.
10789 * util/grub-mount.c: Likewise.
10790
10791 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * grub-core/commands/efi/fixvideo.c: Gettextize.
10794 * grub-core/commands/hashsum.c: Likewise.
10795 * grub-core/commands/i386/cmostest.c: Likewise.
10796 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10797 * grub-core/commands/i386/pc/lsapm.c: Likewise.
10798 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10799 * grub-core/commands/lsmmap.c: Likewise.
10800 * grub-core/commands/menuentry.c: Likewise.
10801 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10802 * grub-core/commands/setpci.c: Likewise.
10803 * grub-core/loader/i386/bsd.c: Likewise.
10804 * grub-core/loader/i386/linux.c: Likewise.
10805 * util/getroot.c: Likewise.
10806 * util/grub-editenv.c: Likewise.
10807 * util/grub-fstest.c: Likewise.
10808 * util/grub-mkfont.c: Likewise.
10809 * util/grub-mkimage.c: Likewise.
10810 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10811 * util/grub-pe2elf.c: Likewise.
10812 * util/grub-probe.c: Likewise.
10813 * util/grub-setup.c: Likewise.
10814 * util/ieee1275/ofpath.c: Likewise.
10815 * util/misc.c: Likewise.
10816 * util/raid.c: Likewise.
10817
10818 2011-11-11 Robert Millan <rmh@gnu.org>
10819
10820 * util/getroot.c (grub_util_get_geom_abstraction): Remove
10821 __attribute__((unused)) from `os_dev', which *is* being used.
10822
10823 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
10826 forgotten define.
10827 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
10828 GRUB_IA64_DL_GOT_ALIGN.
10829 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
10830 GRUB_IA64_DL_TRAMP_ALIGN.
10831
10832 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 Replace grub_fatal with normal errors in i386 linux loader.
10835
10836 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
10837 (allocate_pages): Check find_efi_mmap_size return value.
10838 (grub_e820_add_region): Return error.
10839 (grub_linux_boot): Check mmap return value.
10840
10841 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * grub-core/commands/acpihalt.c: Gettextized.
10844 * grub-core/commands/cacheinfo.c: Likewise.
10845 * grub-core/commands/cmp.c: Likewise.
10846 * grub-core/commands/efi/loadbios.c: Likewise.
10847 * grub-core/commands/gptsync.c: Likewise.
10848 * grub-core/commands/ieee1275/suspend.c: Likewise.
10849 * grub-core/commands/legacycfg.c: Likewise.
10850 * grub-core/commands/memrw.c: Likewise.
10851 * grub-core/commands/minicmd.c: Likewise.
10852 * grub-core/commands/parttool.c: Likewise.
10853 * grub-core/commands/time.c: Likewise.
10854 * grub-core/commands/videoinfo.c: Likewise.
10855 * grub-core/disk/geli.c: Likewise.
10856 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
10857 * grub-core/disk/luks.c: Likewise.
10858 * grub-core/disk/lvm.c: Likewise.
10859 * grub-core/font/font_cmd.c: Likewise.
10860 * grub-core/fs/zfs/zfscrypt.c: Likewise.
10861 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10862 * grub-core/gfxmenu/view.c: Likewise.
10863 * grub-core/kern/emu/hostdisk.c: Likewise.
10864 * grub-core/kern/emu/main.c: Likewise.
10865 * grub-core/kern/emu/misc.c: Likewise.
10866 * grub-core/kern/emu/mm.c: Likewise.
10867 * grub-core/kern/mips/arc/init.c: Likewise.
10868 * grub-core/kern/mips/loongson/init.c: Likewise.
10869 * grub-core/kern/partition.c: Likewise.
10870 * grub-core/lib/i386/halt.c: Likewise.
10871 * grub-core/lib/mips/arc/reboot.c: Likewise.
10872 * grub-core/lib/mips/loongson/reboot.c: Likewise.
10873 * grub-core/loader/i386/pc/chainloader.c: Likewise.
10874 * grub-core/loader/i386/xnu.c: Likewise.
10875 * grub-core/loader/multiboot.c: Likewise.
10876 * grub-core/net/bootp.c: Likewise.
10877 * grub-core/net/net.c: Likewise.
10878 * grub-core/normal/term.c: Likewise.
10879 * grub-core/partmap/bsdlabel.c: Likewise.
10880 * grub-core/parttool/msdospart.c: Likewise.
10881 * grub-core/term/gfxterm.c: Likewise.
10882 * grub-core/term/terminfo.c: Likewise.
10883 * grub-core/video/i386/pc/vbe.c: Likewise.
10884 * util/grub-menulst2cfg.c: Likewise.
10885 * util/grub-mkdevicemap.c: Likewise.
10886 * util/grub-mklayout.c: Likewise.
10887 * util/grub-mkrelpath.c: Likewise.
10888 * util/grub-script-check.c: Likewise.
10889 * util/ieee1275/grub-ofpathname.c: Likewise.
10890 * util/resolve.c: Likewise.
10891
10892 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 Support %1$d syntax.
10895
10896 * tests/printf_unit_test.c: New file.
10897 * Makefile.util.def (printf_test): New test.
10898 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
10899
10900 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
10903 fix.
10904
10905 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
10908 dprintf.
10909 * grub-core/font/font.c (grub_font_load): Likewise.
10910
10911 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * util/grub-macho2img.c: Add comment concerning gettext.
10914 * grub-core/lib/legacy_parse.c: Likewise.
10915
10916 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
10919 (grub_xvasprintf): Likewise.
10920
10921 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 Add const keyword to grub_env_get and gettextize week days.
10924
10925 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
10926 (grub_read_hook_datetime): Return const char *.
10927 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
10928 updated.
10929 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10930 Mark for gettext.
10931 (grub_get_weekday_name): Return const char *. Call gettext.
10932 * grub-core/script/argv.c (grub_script_argv_append): Receive const
10933 char * and len as the argument. All users updated.
10934 (grub_script_argv_split_append): Receive const char *.
10935 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
10936 * include/grub/env.h (grub_env_get): Likewise.
10937 (grub_env_read_hook_t): Return const char *.
10938 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
10939 (grub_script_argv_split_append): Likewise.
10940
10941 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
10944
10945 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
10948 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
10949
10950 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
10953 Fix prototype.
10954
10955 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 Fix mips compilation.
10958
10959 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
10960 normal decoder.
10961 (hashes): Use in embed decoder as well (for sizes).
10962 (dec_stream_header): Fix embed decompressor logic.
10963 (dec_stream_footer): Likewise.
10964
10965 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
10968 an error and not a fatal on unrecognised relocation types.
10969
10970 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10973 Issue error rather than printf on unknown arguments.
10974
10975 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
10978 Make buf a const.
10979
10980 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
10983 Fix module name.
10984
10985 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
10988 leftover debug printf.
10989
10990 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
10993
10994 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
10997 A stylistic fix.
10998
10999 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11002
11003 2011-11-10 Shea Levy <slevy@tieronedesign.com>
11004
11005 Allow all modules to perform serial IO
11006
11007 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11008 * include/grub/serial.h (grub_serial_port_configure): New inline
11009 function.
11010 (grub_serial_port_fetch): Likewise.
11011 (grub_serial_port_put): Likewise.
11012 (grub_serial_port_fini): Likewise.
11013 (grub_serial_find): New proto.
11014
11015 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 Put symlink at the end of the node and fix a potential
11018 memory corruption.
11019
11020 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11021 Make symlink into an array.
11022 (set_rockridge): Set have_symlink and alloc_dirents.
11023 (grub_iso9660_read_symlink): Use new layout.
11024 (grub_iso9660_iterate_dir): Fix memory corruption.
11025 Use new layout.
11026 (grub_iso9660_dir): Set have_symlink.
11027 (grub_iso9660_open): Likewise.
11028
11029 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 Remove local keyword.
11032
11033 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11034 (version_test_gt): Likewise.
11035 (version_find_latest): Likewise.
11036 (gettext_printf): Likewise.
11037 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11038
11039 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11042
11043 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 Fix ZFS memory and resource leaks.
11046
11047 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11048 All users updated.
11049 Free type on exit.
11050 (fill_vdev_info): New parameter inserted. All users updated.
11051 (check_pool_label): Likewise.
11052 (scan_disk): Likewise.
11053 (scan_devices): Close non-inserted disks.
11054 (fzap_iterate): Free l.
11055 (unmount_device): Free children descripto memory.
11056
11057 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11060 argument (access out of bounds).
11061
11062 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11065 >= 6 drives.
11066
11067 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11070 Fix declaration.
11071
11072 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 Fix several memory leaks.
11075
11076 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11077 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11078 (grub_cpio_dir): Likewise.
11079 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11080 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11081 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11082 (grub_romfs_label): Likewise.
11083 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11084 (squash_unmount): New function.
11085 (grub_squash_dir): Fix memory leak.
11086 (grub_squash_open): Likewise.
11087 (grub_squash_read): Likewise.
11088 (grub_squash_mtime): Likewise.
11089 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11090 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11091 * util/grub-fstest.c (fstest): Likewise.
11092
11093 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11096 avoid accessing beyond the array.
11097
11098 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11101
11102 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 Several AFFS fixes.
11105
11106 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11107 (GRUB_AFFS_FLAG_FFS): Removed.
11108 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11109 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11110 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11111 (grub_fshelp_node): Make block 32-bit.
11112 Add block_cache and last_block_cache.
11113 (grub_affs_read_block): Fill and use block cache.
11114 (grub_affs_read_file): Removed.
11115 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11116 boot block.
11117 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11118 safety.
11119 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11120 space.
11121 (grub_affs_close): Free block cache.
11122 (grub_affs_read): Use grub_fshelp_read_file directly.
11123
11124 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11127 with no error set.
11128
11129 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11132 used variable.
11133 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11134 Likewise.
11135
11136 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11139
11140 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11141 byteswap when needed.
11142
11143 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 Fix FreeBSD compilation.
11146
11147 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11148 to avoid circular dependency.
11149 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11150 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11151 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11152
11153 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 Fix ZFS crypto error types.
11156
11157 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11158 (grub_gcm_decrypt): Likewise.
11159 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11160 from PBKDF2.
11161
11162 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 Illumos support.
11165
11166 * Makefile.util.def (10_illumos): New script.
11167 * configure.ac: Set COND_HOST_ILLUMOS.
11168 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11169 Support Illumos calls.
11170 (find_partition_start) [__sun__]: Likewise.
11171 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11172 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11173 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11174 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11175 device.
11176 * util/grub-probe.c (probe) [__sun__]: Do character check.
11177 * util/grub.d/10_illumos.in: New file.
11178
11179 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Support escaped commas in hostdisk.
11182
11183 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11184 (find_grub_drive): Use unescape_cmp.
11185 (make_device_name): Escape commas.
11186
11187 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11190
11191 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11194 variable.
11195
11196 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 Support trampoline jumps on powerpc.
11199
11200 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11201 __ia64__ path.
11202 (grub_dl_load_segments): Set mod->sz.
11203 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11204 segments.
11205 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11206 (jump): Likewise.
11207 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11208 function.
11209 (trampoline): New struct.
11210 (trampoline_template): New const.
11211 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11212 * include/grub/dl.h (grub_dl): Add sz element.
11213 [__powerpc__]: Follow __ia64__.
11214 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11215 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11216 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11217 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11218
11219 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 ZFS crypto support.
11222
11223 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11224 * grub-core/Makefile.core.def (zfscrypt): New module.
11225 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11226 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11227 it. All users updated.
11228 (grub_zfs_decrypt): New var.
11229 (grub_zfs_load_key): Likewise.
11230 (zio_checksum_functions): Add SHA256+MAC.
11231 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11232 (zio_read): Handle encrypted blocks.
11233 (zap_verify): Remove incorrect check.
11234 (fzap_iterate): Handle non-standard fzap.
11235 (zap_iterate): Likewise.
11236 (zap_iterate_u64): New function.
11237 (dnode_get_fullpath): Load keys.
11238 * grub-core/fs/zfs/zfscrypt.c: New file.
11239 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11240 (grub_crypto_ecb_encrypt): Make input const.
11241 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11242 (grub_crypto_ecb_encrypt): Make input const.
11243 (GRUB_CIPHER_AES): New macro.
11244 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11245 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11246 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11247 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11248 prefix. All users updated.
11249 (grub_zfs_add_key): New proto.
11250 (grub_zfs_decrypt): Likewise.
11251 (grub_zfs_load_key): Likewise.
11252 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11253 * util/grub-fstest.c (options): Add -K option.
11254 (argp_parser): Likewise.
11255
11256 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 Support zle compression on ZFS.
11259
11260 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11261 (decomp_table): Add zle.
11262 * include/grub/zfs/zio.h (zio_compress): Add zle.
11263
11264 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 Support BtrFS embedding.
11267
11268 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11269 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11270 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11271 * util/grub-setup.c (setup): Use fs embedding if available.
11272 Add additional sanity check.
11273
11274 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * util/grub-install.in: Fix condition for config_opt.
11277
11278 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 Support third redundancy strip on raidz3.
11281
11282 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11283 Return error on singularity. All users updated.
11284 (read_device): Don't stop on 3rd failure on raidz3.
11285
11286 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 Support case-insensitive ZFS subvolumes.
11289
11290 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11291 All users updated.
11292 (zap_hash): Likewise.
11293 (name_cmp): New function.
11294 (zap_leaf_array_equal): New parameter case_insensitive.
11295 All users updated.
11296 (zap_leaf_lookup): Likewise.
11297 (fzap_lookup): Likewise.
11298 (zap_lookup): Likewise.
11299 (dnode_get_path): New parameter case_insensitive. Retrieve case
11300 sensitiviness of a volume. All users updated.
11301 (dnode_get_fullpath): New parameter case_insensitive.
11302 All users updated.
11303 (grub_zfs_dir): Set info.case_insensitiveness.
11304
11305 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 Support second redundancy strip on raidz(2,3).
11308
11309 * grub-core/fs/zfs/zfs.c (powx): New array.
11310 (powx_inv): Likewise.
11311 (poly): New const.
11312 (xor_out): New function.
11313 (gf_mul): Likewise.
11314 (recovery): Likewise.
11315 (read_device): Use second redundancy strip.
11316
11317 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 Use a power of generator representation of GF(256) multiplication group
11320 to save space time and complexity.
11321
11322 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11323 (raid6_table2): Likewise.
11324 (powx): New array.
11325 (powx_inv): Likewise.
11326 (poly): New const.
11327 (grub_raid_block_mul): Replace with ...
11328 (grub_raid_block_mulx): ...this.
11329 (grub_raid6_init_table): Rewritten.
11330 (grub_raid6_recover): Use power of generator representation.
11331
11332 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11335 for the right device.
11336
11337 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11340 expected by grub-mkimage and it's more clear since there is no implicit
11341 padding.
11342
11343 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11346 disk.
11347 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11348
11349 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11350
11351 * util/grub-mkrescue.in: Fix handling xorriso option.
11352
11353 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11356 NULL.
11357
11358 2011-11-03 crocket <crockabiscuit@gmail.com>
11359
11360 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11361
11362 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 XZ CRC64 and SHA256 support.
11365
11366 * Makefile.util.def (libgrubmods): Add crc64.c.
11367 * grub-core/Makefile.core.def (crc64): New module.
11368 * grub-core/lib/crc64.c: New file.
11369 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11370 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11371 Fix the type.
11372 (MAX_HASH_SIZE): New define.
11373 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11374 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11375 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11376 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11377 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11378 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11379 Handle non-crc32 hashes.
11380 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11381 (dec_stream_header): Handle non-crc32 hashes.
11382 (dec_stream_footer): Likewise.
11383 (dec_block_header): Likewise.
11384 (dec_main): Likewise.
11385 (xz_dec_init): Likewise.
11386 (xz_dec_reset): Likewise.
11387 (xz_dec_end): Likewise.
11388 * util/import_gcry.py: Add CRC64 line.
11389
11390 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11393 as well.
11394
11395 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 Make reiserfs label retrieval similar to other *_label functions.
11398
11399 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11400 (REISERFS_MAX_LABEL_LENGTH): Removed.
11401 (REISERFS_LABEL_OFFSET): Likewise.
11402 (grub_reiserfs_label): Rewritten.
11403
11404 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11407 field.
11408
11409 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11412
11413 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11416 drive failure on both raidz and raidz2.
11417
11418 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 Fix RAIDZ(2) for >= 5 devices.
11421
11422 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11423 asize argument. All users updated.
11424
11425 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 Fix RAIDZ(2).
11428
11429 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11430 (fill_vdev_info_real): Set ashift.
11431 (read_device): Rewrite RAIDZ part based on reverse engineering.
11432
11433 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11436 don't report potentially unavialiable fields in debug output.
11437 (find_path): Fix double-free and memory leak.
11438
11439 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 Read label on UFS1.
11442
11443 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11444 (grub_ufs_fs): Always set .label.
11445
11446 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 Use shifts in UFS.
11449
11450 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11451 (grub_ufs_data): New field log2_blksz.
11452 (grub_ufs_read_file): Use shifts.
11453 (grub_ufs_mount): Check block size and logarithm it.
11454
11455 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11458 long symlinks.
11459
11460 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 Handle symlinks and long names on tar and cpio.
11463
11464 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11465 (ATTR_FILE): Likewise.
11466 (ATTR_DIR): Likewise.
11467 (ATTR_LNK): Likewise.
11468 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11469 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11470 L and K entries.
11471 (grub_cpio_mount): Zero-fill data.
11472 (handle_symlink): New function.
11473 (grub_cpio_dir): Handle symlinks.
11474 (grub_cpio_open): Likewise.
11475 (grub_cpio_close) [MODE_USTAR]: Free linkname.
11476
11477 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 Fix iso9660 filename limitations and fix memory leaks.
11480
11481 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11482 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11483
11484 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 Fix JFS file name length limitations.
11487
11488 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11489 (grub_jfs_diropen): Fix maximum filename length.
11490 (grub_jfs_getent): Fix filename length.
11491 (grub_jfs_lookup_symlink): Fix size checks.
11492
11493 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11496 string.
11497
11498 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 Leverage BFS implementation to read AFS.
11501
11502 * Makefile.util.def (libgrubmods): Add afs.c.
11503 * grub-core/Makefile.core.def (afs): New module
11504 * grub-core/fs/afs.c: New file.
11505 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11506
11507 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
11510
11511 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * grub-core/fs/bfs.c: Run indent.
11514
11515 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 BFS implementation based on the specification.
11518
11519 * grub-core/fs/bfs.c: New file.
11520 * Makefile.util.def (libgrubmods): Add bfs.c.
11521 * grub-core/Makefile.core.def (bfs): New module.
11522
11523 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * util/grub-fstest.c (cmd_cp): Clarify error message.
11526 (cmd_cmp): Likewise.
11527
11528 2011-10-30 Yves Blusseau <blusseau@zetam.org>
11529
11530 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11531 and befs_be.
11532
11533 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 Remove afs and befs because of copyright problem.
11536
11537 * grub-core/fs/afs.c: Removed.
11538 * grub-core/fs/afs_be.c: Removed.
11539 * grub-core/fs/befs.c: Removed.
11540 * grub-core/fs/befs_be.c: Removed.
11541 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11542 * grub-core/Makefile.core.def (afs): Removed.
11543 (afs_be): Likewise.
11544 (befs): Likewise.
11545 (befs_be): Likewise.
11546
11547 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 Prefer rockridge over Joliet.
11550
11551 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11552 to ...
11553 (set_rockridge): ... here.
11554 (grub_iso9660_mount): Check rockridge on the primary label when
11555 discovering. Ignore Joliet if Rockridge is present.
11556
11557 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 Use shifts in nilfs2.
11560
11561 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11562 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11563 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11564 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11565 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11566 (grub_nilfs2_entries_per_block): Replaced with ...
11567 (grub_nilfs2_log_entries_per_block_log): ... this.
11568 (grub_nilfs2_blocks_per_group): Replaced with ...
11569 (grub_nilfs2_blocks_per_group_log): ... this.
11570 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11571 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11572 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11573 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11574 (grub_nilfs2_palloc_entry_offset): Replaced ...
11575 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11576 (grub_nilfs2_dat_translate): Use shifts.
11577 (grub_nilfs2_read_inode): Likewise.
11578 (GRUB_MOD_INIT): Ensure that logs are correct.
11579
11580 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 Use shifts in minix filesystem.
11583
11584 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11585 (GRUB_MINIX_ZONE2SECT): Likewise.
11586 (grub_minix_data): Replace block_size with log_block_size.
11587 (grub_minix_read_file): Use shifts.
11588 (grub_minix_mount): Check block size and take a logarithm.
11589
11590 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 Use shifts in squash4.
11593
11594 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11595 (squash_mount): Check block size and take logarithm.
11596 (direct_read): Use shifts.
11597
11598 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 Correct befs block counting logic.
11601
11602 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
11603 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
11604 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
11605 (grub_afs_read_inode): Use block_shift.
11606 (RANGE_SHIFT): New definition.
11607 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
11608 unexpected conditions, use shifts and appropriate types.
11609 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
11610
11611 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * grub-core/disk/raid.c (scan_devices): Check partition.
11614 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11615
11616 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 Support BFS (befs) UUID.
11619
11620 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
11621 (grub_afs_small_data_element_header): New struct.
11622 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
11623 (grub_afs_read_attribute) [MODE_BFS]: New function.
11624 (grub_afs_iterate_dir): Allocate for complete inode.
11625 (grub_afs_mount): Likewise.
11626 (grub_afs_uuid) [MODE_BFS]: New function.
11627 (grub_afs_fs) [MODE_BFS]: Add .uuid.
11628
11629 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
11632 (zfs_unmount): Fix memory leak.
11633
11634 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 Support NTFS reparse points.
11637
11638 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
11639 (symlink_descriptor): New struct.
11640 (grub_ntfs_read_symlink): New function.
11641 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
11642 (grub_ntfs_open): Likewise.
11643
11644 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
11647
11648 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 fstest xnu_uuid subcommand.
11651
11652 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
11653 grub-core/commands/xnu_uuid.c.
11654 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
11655 (fstest): Handle xnu_uuid.
11656 (options): Document xnu_uuid.
11657 (argp_parser): Parse xnu_uuid.
11658
11659 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
11662 -l argument. Add newline at the end if printing.
11663 (GRUB_MOD_INIT): Document -l.
11664
11665 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
11668
11669 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 ZFS multi-device and version 33 support.
11672
11673 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
11674 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
11675 (grub_zfs_data): Add multidev-ice-related fields.
11676 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
11677 (dva_get_offset): Make dva const.
11678 (zfs_fetch_nvlist): New function.
11679 (fill_vdev_info_real): Likewise.
11680 (fill_vdev_info): Likewise.
11681 (check_pool_label): Likewise.
11682 (scan_disk): Likewise.
11683 (scan_devices): Likewise.
11684 (read_device): Likewise.
11685 (read_dva): Likewise.
11686 (zio_read_gang): Use read_dva.
11687 (zio_read_data): Likewise.
11688 (zap_leaf_lookup): Add missing endian conversion.
11689 (zap_verify): Add missing endian conversion. All users updated.
11690 (fzap_lookup): Likewise.
11691 (fzap_iterate): Likewise.
11692 (dnode_get_path): Handle SA bonus.
11693 (nvlist_find_value): Make input const. All users updated.
11694 (unmount_device): New function.
11695 (zfs_unmount): Use unmount_device.
11696 (zfs_mount): Use scan_disk.
11697 (zfs_mtime): New function.
11698 (grub_zfs_open): Handle system attributes.
11699 (fill_fs_info): Likewise.
11700 (grub_zfs_dir): Likewise.
11701 (grub_zfs_fs): Add mtime.
11702 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
11703 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
11704 (SA_MTIME_OFFSET): Likewise.
11705 (SA_SYMLINK_OFFSET): Likewise.
11706 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
11707 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
11708 (fstest): Support zfsinfo.
11709 (argp_parser): Likewise.
11710
11711 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
11714 error.
11715
11716 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 ZFS fixes.
11719
11720 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
11721 sharing the same block. Iterate over correct number of indices.
11722 (dnode_get_path): Handle symlinks correctly.
11723
11724 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
11727
11728 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 Read label on HFS+.
11731
11732 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
11733 (grub_hfsplus_btree_search): Fix types.
11734 (grub_hfsplus_label): Implement.
11735
11736 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
11739
11740 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
11743
11744 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 Fix symlink handling on iso9660.
11747
11748 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
11749 All users updated.
11750 (grub_iso9660_susp_iterate): Accept zero-size iterate.
11751 (grub_iso9660_read_symlink): Moved most of code ...
11752 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
11753
11754 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11757 Use union to avoid breaking strict-aliasing rules.
11758
11759 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 Support multi-extent iso files.
11762
11763 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
11764 Add node.
11765 (grub_fshelp_node): Revamp. All users updated.
11766 (FLAG_*): New enum.
11767 (read_node): New function.
11768 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
11769 All users updated.
11770 (grub_iso9660_mount): Don't attempt to read sua when there is none.
11771 (get_node_size): New function.
11772 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
11773 entries.
11774 Fix memory leak on . and ..
11775 (grub_iso9660_read): Use read_node.
11776 (grub_iso9660_close): Free node.
11777
11778 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 Fix tar 4G limit and handle paths containing dot.
11781
11782 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
11783 (canonicalize): New function.
11784 (grub_cpio_find_file): Use canonicalize. Store offs in
11785 grub_disk_addr_t.
11786 (grub_cpio_dir): Use grub_disk_addr_t.
11787 (grub_cpio_open): Likewise.
11788
11789 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 Fix handling of uncompressed blocks on squashfs and break 4G limit.
11792
11793 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
11794 unused flags.
11795 (grub_squash_inode): Add long_file and block_size.
11796 (grub_squash_cache_inode): New struct.
11797 (grub_squash_dirent): Make types into enum.
11798 (SQUASH_TYPE_LONG_REGULAR): New type.
11799 (grub_squash_frag_desc): Add field size.
11800 (SQUASH_BLOCK_FLAGS): New enum.
11801 (grub_squash_data): Use grub_squash_cache_inode.
11802 (grub_fshelp_node): Make ino_chunk 64-bit.
11803 (read_chunk): Minor argument change. All users updated.
11804 (squash_mount): Use correct le_to_cpu.
11805 (grub_squash_open): Handle LONG_REGULAR.
11806 (direct_read): New function.
11807 (grub_squash_read_data): Handle blocks correctly.
11808
11809 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
11812
11813 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
11816
11817 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 Fix 2G limit on ZFS.
11820
11821 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
11822 types.
11823 (uberblock_verify): Likewise.
11824 (dmu_read): Likewise.
11825 (grub_zfs_read): Likewise. Remove invalid cast.
11826
11827 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
11830 (grub_jfs_blkno): Fix incorrect shift.
11831 (grub_jfs_read_file): Use more appropriate types.
11832
11833 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Support triple indirect on minix2 and minix3.
11836
11837 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
11838 Declare triple_indir_zone.
11839 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
11840 indirect.
11841
11842 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 Minix FS fixes.
11845
11846 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
11847 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
11848 Rename ctime to mtime. All users updated.
11849 (grub_minix_get_file_block): Fix types and double indirect computations.
11850
11851 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
11854 if no label is found.
11855 (grub_fat_iterate_dir): Fix file size type.
11856 (grub_fat_iterate_dir): Likewise.
11857
11858 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
11861 save some space.
11862 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11863 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11864
11865 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
11868
11869 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * util/import_gcry.py: Accept space between # and include.
11872
11873 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
11876
11877 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 Fine grainely disable warnings on lexer. Remove Wno-error on it.
11880
11881 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
11882 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
11883 yylex_strncpy.
11884 * grub-core/script/yylex.l: Add fine-grained #pragma.
11885
11886 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
11889 New inline function.
11890 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
11891 Likewise.
11892 (memset) [GRUB_UTIL]: Likewise.
11893 (memcmp) [GRUB_UTIL]: Likewise.
11894
11895 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
11898 inline function rather than a define.
11899
11900 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * util/grub-setup.c: Add missing include.
11903
11904 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * util/ieee1275/grub-ofpathname.c: Add missing include.
11907
11908 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
11911 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
11912 Likewise.
11913
11914 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
11917 grub_memcmp usage.
11918
11919 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * util/grub-install.in: Add datarootdir as per automake manual
11922 suggestion.
11923 * util/grub-mknetdir.in: Likewise.
11924
11925 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
11928 suggestion.
11929 * util/grub.d/10_kfreebsd.in: Likewise.
11930 * util/grub.d/10_linux.in: Likewise.
11931 * util/grub.d/10_netbsd.in: Likewise.
11932 * util/grub.d/10_windows.in: Likewise.
11933 * util/grub.d/20_linux_xen.in: Likewise.
11934
11935 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 Remove redundant grub_kernel_image_size.
11938
11939 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
11940 _edata and _start.
11941 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
11942 the small code. It moves it only by few bytes but simplifies the code.
11943 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
11944 _start.
11945 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
11946 (grub_kernel_image_size): Removed.
11947 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
11948 (grub_kernel_image_size): Removed.
11949 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
11950 compiled with Apple toolchain.
11951 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
11952 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
11953 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
11954 (grub_total_module_size): Likewise.
11955 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
11956 Removed.
11957 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
11958 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
11959 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11960 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
11961 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
11962 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
11963 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
11964 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
11965 Removed.
11966 (grub_total_module_size): Removed.
11967 * util/grub-mkimage.c (image_target_desc): Remove image_size.
11968 (image_targets): Likewise.
11969 Set .compressed_size to no field on sparc.
11970 (generate_image): Remove kernel_image_size handling.
11971
11972 2011-10-19 Szymon Janc <szymon@janc.net.pl>
11973
11974 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
11975 NULL pointer dereference.
11976
11977 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
11980 done with a dedicated section.
11981
11982 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
11983 Ensure the correct position of boot_path.
11984 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
11985 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
11986 other fields.
11987 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
11988 * include/grub/boot.h: Removed. All references removed.
11989 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11990 Removed.
11991 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
11992
11993 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
11996 name.
11997
11998 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12001
12002 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12005 Don't add the bogus brackets.
12006
12007 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 ExFAT support.
12010
12011 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12012 * grub-core/Makefile.core.def (exfat): New module.
12013 * grub-core/fs/exfat.c: New file.
12014 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12015 (GRUB_FAT_ATTR_*): Make into an enum.
12016 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12017 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12018 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12019 (GRUB_FAT_MAXFILE): Removed.
12020 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12021 (grub_current_fat_bpb_t): New type.
12022 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12023 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12024 (grub_fat_dir_node_t): New type.
12025 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12026 (fat_log2) [MODE_EXFAT]: Removed.
12027 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12028 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12029 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12030 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12031 (grub_fat_label) [MODE_EXFAT]: New function.
12032 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12033 reserved_first_sector to 0.
12034
12035 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 Move grub_reboot out of the kernel.
12038
12039 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12040 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12041 * grub-core/lib/efi/reboot.c: ... here.
12042 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12043 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12044 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12045 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12046 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12047 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12048 * grub-core/lib/ieee1275/reboot.c: ... here.
12049 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12050 * grub-core/lib/mips/arc/reboot.c: ... here.
12051 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12052 * grub-core/lib/mips/loongson/reboot.c: ...here.
12053 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12054 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12055 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12056 * include/grub/i386/reboot.h: New file.
12057 * include/grub/mips/loongson/ec.h: Fix includes.
12058 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12059 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12060 * grub-core/lib/i386/reboot.c: New file.
12061
12062 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 Make grub_prefix into module to fix the arbitrary limit and save
12065 some space.
12066
12067 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12068 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12069 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12070 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12071 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12072 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12073 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12074 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12075 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12076 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12077 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12078 * include/grub/ia64/efi/kernel.h: Removed.
12079 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12080 (grub_prefix): Removed.
12081 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12082 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12083 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12084 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12085 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12086 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12087 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12088 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12089 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12090 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12091 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12092 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12093 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12094 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12095 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12096 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12097 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12098 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12099 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12100 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12101 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12102 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12103 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12104 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12105 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12106 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12107 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12108 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12109 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12110 from module.
12111 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12112 prefix_end.
12113 (image_targets): Likewise.
12114 (generate_image): Put prefix as a module.
12115
12116 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 Replace grub_module_iterate with FOR_MODULES.
12119
12120 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12121 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12122 (grub_efi_modules_addr): ...this.
12123 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12124 (grub_efi_init): Set grub_modbase.
12125 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12126 (grub_modbase): New variable.
12127 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12128 (grub_modbase): New variable.
12129 (grub_machine_init): Set grub_modbase.
12130 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12131 (grub_modbase): New variable.
12132 (grub_machine_init): Set grub_modbase.
12133 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12134 (grub_modbase): New variable.
12135 (grub_machine_init): Set grub_modbase.
12136 * grub-core/kern/main.c (grub_module_iterate): Remove.
12137 (grub_modules_get_end): Use grub_modbase.
12138 (grub_load_modules): Use FOR_MODULES.
12139 (grub_load_config): Likewise.
12140 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12141 (grub_modbase): New variable.
12142 (grub_machine_init): Set grub_modbase.
12143 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12144 (grub_modbase): New variable.
12145 (grub_machine_init): Set grub_modbase.
12146 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12147 Removed.
12148 (grub_modbase): New variable.
12149 (grub_machine_init): Set grub_modbase.
12150 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12151 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12152 (grub_module_iterate): Likewise.
12153 (grub_modbase): New variable declaration.
12154 (FOR_MODULES): New macro.
12155
12156 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12159 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12160
12161 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 Fix few obvious type discrepancies.
12164
12165 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12166 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12167 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12168 variable.
12169 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12170 and connected types.
12171 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12172 offset.
12173 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12174 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12175 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12176 and connected types.
12177
12178 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 Fix python 3.x incompatibilities.
12181
12182 * gentpl.py: Put brackets around print strings.
12183 * util/import_gcry.py: Open explicitly as utf-8.
12184 Use in instead of has_key.
12185
12186 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12189 (GRUB_XFS_INO_AGBITS): Make into inline function.
12190 (GRUB_XFS_INO_INOINAG): Likewise.
12191 (GRUB_XFS_INO_AG): Likewise.
12192 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12193 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12194 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12195 (GRUB_XFS_EXTENT_SIZE): Likewise.
12196 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12197 (GRUB_XFS_NEXT_DIRENT): Likewise.
12198 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12199 (grub_xfs_read_file): Fix offset type.
12200
12201 2011-10-15 Robert Millan <rmh@gnu.org>
12202
12203 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12204
12205 2011-10-15 Robert Millan <rmh@gnu.org>
12206
12207 Fix build problem on FreeBSD and GNU/kFreeBSD.
12208
12209 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12210
12211 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12214
12215 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12216 types.
12217 (grub_hfsplus_btree_recoffset): Likewise.
12218 (grub_hfsplus_btree_recptr): Likewise.
12219 (grub_hfsplus_find_block): Likewise.
12220 (grub_hfsplus_btree_search): Likewise.
12221 (grub_hfsplus_read_block): Likewise.
12222 (grub_hfsplus_read_file): Likewise.
12223 (grub_hfsplus_mount): Likewise.
12224 (grub_hfsplus_btree_iterate_node): Likewise.
12225 (grub_hfsplus_btree_search): Likewise.
12226 (grub_hfsplus_iterate_dir): Likewise.
12227 (grub_hfsplus_read): A small code simplification.
12228
12229 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * grub-core/kern/emu/hostdisk.c
12232 (convert_system_partition_to_system_disk): Don't assume that children
12233 of mapper nodes are mapper nodes.
12234
12235 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12238 * include/grub/misc.h (grub_isxdigit): New function.
12239 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12240 switched to grub_isxdigit.
12241 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12242 number starting with a letter.
12243
12244 2011-10-09 Robert Millan <rmh@gnu.org>
12245
12246 LVM support for FreeBSD and GNU/kFreeBSD.
12247
12248 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12249 GNU/kFreeBSD.
12250 (LVM_DEV_MAPPER_STRING): Move from here ...
12251 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12252 * util/getroot.c: Include `<grub/util/lvm.h>'.
12253 (grub_util_get_dev_abstraction): Enable
12254 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12255 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12256 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12257 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12258 support it.
12259 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12260 GNU/kFreeBSD.
12261 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12262 when LVM abstraction is required for ${GRUB_DEVICE}.
12263
12264 2011-10-06 Szymon Janc <szymon@janc.net.pl>
12265
12266 Add support for LZO compression in GRUB:
12267 - import of minilzo library,
12268 - LZO decompression for btrfs,
12269 - lzop files decompression.
12270
12271 * grub-core/io/lzopio.c: New file.
12272 * grub-core/lib/adler32.c: Likewise.
12273 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12274 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12275 * grub-core/lib/minilzo/minilzo.c: Likewise.
12276 * grub-core/lib/minilzo/minilzo.h: Likewise.
12277 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12278 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12279 grub-core/lib/minilzo/minilzo.c to common.
12280 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12281 cflags in cppflags.
12282 * grub-core/Makefile.core.def (btrfs): Likewise.
12283 * grub-core/Makefile.core.def (lzopio): New module.
12284 (adler32): Likewise.
12285 * grub-core/fs/btrfs.c: Include minilzo.h.
12286 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12287 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12288 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12289 (grub_btrfs_lzo_decompress): New function.
12290 (grub_btrfs_extent_read): Add support for LZO compression type.
12291 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12292 (GRUB_USHRT_MAX): Likewise.
12293 (GRUB_UINT_MAX): Likewise.
12294 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12295 (UINT_MAX): Likewise.
12296 (CHAR_BIT): Likewise.
12297 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12298 grub-core/lib/posix_wrap/limits.h
12299 (UCHAR_MAX): Likewise.
12300 * include/grub/file.h (grub_file_filter_id): New compression filter
12301 GRUB_FILE_FILTER_LZOPIO.
12302 * include/grub/file.h (grub_file_filter_id): Set
12303 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12304 * include/grub/types.h (grub_get_unaligned16): New function.
12305 (grub_get_unaligned32): Likewise.
12306 (grub_get_unaligned64): Likewise.
12307 * util/import_gcry.py (cryptolist): Add adler32.
12308
12309 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12312 in perspective decreases the complexity of build system and fixes
12313 compilation right now.
12314
12315 2011-10-01 Ales Nesrsta <starous@volny.cz>
12316
12317 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12318 (fixed problem related to using UHCI with coreboot).
12319
12320 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12321
12322 * gentpl.py: Use Autogen macros so that the output template file
12323 (Makefile.tpl) size is reduced.
12324
12325 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
12326
12327 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12328 extra_dist.
12329
12330 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12331
12332 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12333 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12334
12335 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12336
12337 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12338 _fullpath.
12339
12340 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12341
12342 Remove extra declaration of sleep for mingw32.
12343
12344 * util/misc.c (sleep) [__MINGW32__]: Removed.
12345 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12346
12347 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12348
12349 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12350 type and packname.
12351 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12352 Resurrected.
12353 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12354 (grub_netbsd_btinfo_bootwedge): New struct.
12355 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12356 New function.
12357 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12358
12359 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12360
12361 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12362 loader.
12363
12364 2011-09-28 Andreas Born <futur.andy@googlemail.com>
12365
12366 Fix incorrect identifiers in bash-completion.
12367
12368 * util/bash-completion.d/grub-completion.bash.in
12369 (_grub_mkpasswd-pbkdf2): Rename to ...
12370 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12371 (_grub_script-check): Rename to ...
12372 (_grub_script_check): ... this. All users updated.
12373
12374 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12377 Return 0 if disk isn't biosdisk.
12378
12379 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12380
12381 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12382 on NetBSD.
12383 * Makefile.util.def (grub-fstest): Likewise.
12384
12385 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12386
12387 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12388 Get sector size from disk label.
12389
12390 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
12391
12392 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12393 */README* as well as README*.
12394 Reported by: Axel Beckert.
12395
12396 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12399 case of less than 256 MiB of RAM.
12400
12401 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/commands/wildcard.c (make_regex): Handle @.
12404
12405 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12408
12409 2011-08-21 Szymon Janc <szymon@janc.net.pl>
12410
12411 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12412 AC_LANG_CONFTEST macros.
12413
12414 2011-08-20 Szymon Janc <szymon@janc.net.pl>
12415
12416 Add grub-fstest option to uncompress data for commands.
12417
12418 * util/grub-fstest.c (uncompress): New var.
12419 (options): New option -u.
12420
12421 2011-08-20 Szymon Janc <szymon@janc.net.pl>
12422
12423 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12424 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12425
12426 2011-08-20 Szymon Janc <szymon@janc.net.pl>
12427
12428 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12429 file type was not recognized correctly (not gzip or corrupted).
12430
12431 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12432
12433 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12434 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12435
12436 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12439 loongson.
12440 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12441 video_radeon_fuloong2e.
12442 * grub-core/video/radeon_fuloong2e.c: New file.
12443 * include/grub/video.h (grub_video_id_t): Add new ID
12444 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12445
12446 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12449 define.
12450 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12451 that PRID matches the detected subplatform and reset the subplatform
12452 if it doesn't.
12453
12454 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12457
12458 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 Fix PCI iterating on functions >= 4.
12461
12462 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12463 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12464 Removed.
12465 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12466 (grub_pci_read): Fix bitmask.
12467 (grub_pci_read_word): Likewise.
12468 (grub_pci_read_byte): Likewise.
12469 (grub_pci_write): Likewise.
12470 (grub_pci_write_word): Likewise.
12471 (grub_pci_write_byte): Likewise.
12472
12473 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12476 can still be specified in TARGET_CFLAGS)
12477
12478 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12481
12482 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12483 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12484 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12485 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12486 (FULOONG): Rename to ...
12487 (FULOONG2F): ... this. All users updated.
12488 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12489 (machtype_fuloong2f_str): ... this.
12490 (machtype_fuloong2e_str): New string.
12491 Check for machtype_fuloong2e_str.
12492 * grub-core/loader/mips/linux.c (loongson_machtypes)
12493 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12494 * grub-core/term/serial.c (loongson_defserial)
12495 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12496 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12497 loongson_defserial.
12498 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12499 Rename to ...
12500 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12501 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12502 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12503 to IMAGE_FULOONG2F_FLASH. All users updated.
12504 (image_targets): Rename images.
12505 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12506
12507 2011-08-19 Szymon Janc <szymon@janc.net.pl>
12508
12509 Make enable of disk cache statistics code configurable.
12510
12511 * configure.ac: --enable-cache-stats added.
12512 * config.h.in (DISK_CACHE_STATS): New define.
12513 * grub-core/Makefile.core.def (cacheinfo): New command.
12514 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12515 * grub-core/commands/cacheinfo.c: New file.
12516 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12517 moved to cacheinfo.c.
12518 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12519 debug code.
12520 * include/grub/disk.h: Likewise.
12521
12522 2011-08-19 Szymon Janc <szymon@janc.net.pl>
12523
12524 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12525 * grub-core/Makefile.am: Likewise.
12526
12527 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12530 non-zero pull.
12531
12532 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12535 All users updated.
12536 (grub_jfs_lookup_symlink): Use correct starting inode.
12537
12538 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * util/grub-setup.c (main): Add missing gcry initialisation.
12541
12542 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 Don't accept text modes on EFI when booting Linux.
12545
12546 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12547 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12548
12549 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
12550 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
12551
12552 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12553 use of "/path/.." as in grub-install for EFI as well as handling
12554 symlinks correctly.
12555 Fixes Debian bug #637768.
12556
12557 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
12558
12559 * util/grub-probe.c: Remove duplicate #include.
12560
12561 2011-08-10 Robert Millan <rmh@gnu.org>
12562
12563 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12564
12565 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12566 function.
12567 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12568 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12569
12570 2011-08-03 Robert Millan <rmh@gnu.org>
12571
12572 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12573 la_array as packed.
12574 Reported by: Zachary Bedell
12575
12576 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
12577
12578 * configure.ac: The Loongson port requires grub-mkfont due to its
12579 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12580 be built.
12581
12582 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
12583
12584 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12585 processing arguments (otherwise help2man fails when GRUB has not yet
12586 been installed).
12587
12588 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 New script grub-mkstandalone.
12591
12592 * Makefile.util.def (grub-mkstandalone): New script.
12593 * docs/man/grub-mkstandalone.h2m: New file.
12594 * util/grub-mkstandalone.in: Likewise.
12595
12596 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 Support ATA disks with 4K sectors.
12599
12600 * include/grub/ata.h (grub_ata): New member log_sector_size.
12601 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
12602 (grub_ata_identify): Read sector size.
12603 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
12604
12605 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * util/grub-install.in: Don't use uhci outside of x86.
12608
12609 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 * util/grub-mkrescue.in: Add missing quotes.
12612
12613 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
12616 dereference.
12617
12618 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
12621
12622 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 * include/grub/video.h: add missing EXPORT_FUND on
12625 grub_video_edid_checksum and grub_video_edid_preferred_mode.
12626
12627 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * include/grub/mips/kernel.h: Fix define conflict.
12630
12631 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
12634 all four ways.
12635
12636 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
12637
12638 Preferred resolution detection for VBE.
12639
12640 * grub-core/video/video.c (grub_video_edid_checksum): New function.
12641 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
12642 the Flat Panel extension, in line with the X.org VESA driver.
12643 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
12644 New function.
12645 (grub_vbe_bios_get_ddc_capabilities): Likewise.
12646 (grub_vbe_bios_read_edid): Likewise.
12647 (grub_vbe_get_preferred_mode): Likewise.
12648 (grub_video_vbe_setup): When the mode is "auto", try to get the
12649 preferred mode from VBE, and use the largest mode that is no larger
12650 than the preferred mode (some BIOSes expose a preferred mode that is
12651 not in their mode list!). If this fails, fall back to 640x480 as a
12652 safe conservative choice.
12653 (grub_video_vbe_get_edid): New function.
12654 (grub_video_vbe_adapter): Add get_edid.
12655 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
12656 (struct grub_video_adapter): Add get_edid.
12657 (grub_video_edid_checksum): Add prototype.
12658 (grub_video_edid_preferred_mode): Likewise.
12659 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
12660 structure.
12661
12662 * grub-core/commands/videoinfo.c (print_edid): New function.
12663 (grub_cmd_videoinfo): Print EDID if available.
12664
12665 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
12666 is more appropriate on a wider range of platforms than 640x480.
12667 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
12668 documentation.
12669
12670 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
12673
12674 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * po/POTFILES.in: Regenerate.
12677
12678 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
12681 incorrect memory usage.
12682
12683 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * util/grub-install.in: Source grub-mkconfig_lib.
12686
12687 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Remove getroot.c from core on emu platform.
12690
12691 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
12692 kern/emu/raid.c.
12693 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
12694 useless.
12695 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
12696 * util/getroot.c (get_win32_path): ... here.
12697 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
12698 * util/getroot.c (fini_libzfs): ... here.
12699 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
12700 * util/getroot.c (grub_get_libzfs_handle): ... here.
12701 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
12702 Moved from here...
12703 * util/getroot.c (grub_find_zpool_from_dir): ... here.
12704 * grub-core/kern/emu/misc.c
12705 (grub_make_system_path_relative_to_its_root): Moved from here...
12706 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
12707 * grub-core/kern/emu/getroot.c: Moved from here ...
12708 * util/getroot.c: ... here. All users updated.
12709 * grub-core/kern/emu/raid.c: Moved from here ...
12710 * util/raid.c: ... here. All users updated.
12711
12712 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * po/POTFILES.in: Regenerate.
12715
12716 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 Fix compilation on GNU/Linux.
12719
12720 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
12721 Disable geli.
12722 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
12723 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
12724 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
12725
12726 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12727 2011-07-07 Michael Gorven <michael@gorven.za.net>
12728 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
12729
12730 LUKS and GELI support.
12731
12732 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
12733 grub-core/disk/luks.c, grub-core/disk/geli.c,
12734 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
12735 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
12736 grub-core/lib/arg.c.
12737 (libgrubmods.a): Remove gcrypts cflags and cppflags.
12738 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
12739 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
12740 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
12741 (grub-bin2h): Add libgcry.a.
12742 (grub-mkimage): Likewise.
12743 (grub-mkrelpath): Likewise.
12744 (grub-script-check): Likewise.
12745 (grub-editenv): Likewise.
12746 (grub-mkpasswd-pbkdf2): Likewise.
12747 (grub-pe2elf): Likewise.
12748 (grub-fstest): Likewise.
12749 (grub-mkfont): Likewise.
12750 (grub-mkdevicemap): Likewise.
12751 (grub-probe): Likewise.
12752 (grub-ofpath): Likewise.
12753 (grub-mklayout): Likewise.
12754 (example_unit_test): Likewise.
12755 (grub-menulst2cfg): Likewise.
12756 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
12757 * grub-core/Makefile.core.def (cryptodisk): New module.
12758 (luks): Likewise.
12759 (geli): Likewise.
12760 * grub-core/disk/AFSplitter.c: New file.
12761 * grub-core/disk/cryptodisk.c: Likewise.
12762 * grub-core/disk/geli.c: Likewise.
12763 * grub-core/disk/luks.c: Likewise.
12764 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
12765 grub_util_is_lvm.
12766 (grub_util_get_dm_abstraction): New function.
12767 (grub_util_follow_gpart_up): Likewise.
12768 (grub_util_get_geom_abstraction): Likewise.
12769 (grub_util_get_dev_abstraction): Use new functions.
12770 (grub_util_pull_device): Pull GELI and LUKS.
12771 (grub_util_get_grub_dev): Handle LUKS and GELI.
12772 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
12773 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
12774 (follow_geom_up): Removed.
12775 (grub_util_fd_seek): New function.
12776 (open_device): Use grub_util_fd_seek.
12777 (nread): Rename to ..
12778 (grub_util_fd_read): ... this. All users updated.
12779 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
12780 (grub_crypto_cbc_decrypt): Likewise.
12781 (grub_crypto_hmac_write): Likewise.
12782 (grub_crypto_hmac_buffer): Likewise.
12783 (grub_password_get): Extend to util.
12784 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
12785 New member modname.
12786 (gcry_md_spec) [GRUB_UTIL]: Likewise.
12787 * include/grub/cryptodisk.h: New file.
12788 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
12789 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
12790 LUKS and GELI.
12791 (grub_util_follow_gpart_up): New proto.
12792 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
12793 (grub_util_fd_read): Likewise.
12794 (grub_cryptodisk_cheat_mount): Likewise.
12795 (grub_util_cryptodisk_print_uuid): Likewise.
12796 (grub_util_get_fd_sectors): Likewise.
12797 * util/grub-fstest.c (mount_crypt): New var.
12798 (fstest): Mount crypto if requested.
12799 (options): New option -C.
12800 (argp_parser): Parse -C.
12801 (main): Init and fini gcry.
12802 * util/grub-install.in: Support cryptodisk install.
12803 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
12804 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
12805 cryptodisk.
12806 (prepare_grub_to_access_device): Likewise.
12807 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
12808 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
12809 (probe_cryptodisk_uuid): New function.
12810 (probe_abstraction): Likewise.
12811 (probe): Use new functions.
12812 * util/import_gcry.py: Create Makefile.utilgcry.def.
12813 Add modname member.
12814
12815 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 Lazy device scanning.
12818
12819 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
12820 (grub-setup): Remove util/raid.c.
12821 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
12822 * grub-core/disk/lvm.c (scan_depth): New variable.
12823 (grub_lvm_iterate): Rescan if necessary.
12824 (find_lv): New function based on grub_lvm_open.
12825 (grub_lvm_open): Use find_lv. Rescan on error.
12826 (is_node_readable): New function.
12827 (is_lv_readable): Likewise.
12828 (grub_lvm_scan_device): Skip already found disks.
12829 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
12830 Stop if searched device is found and readable.
12831 * grub-core/disk/raid.c (inscnt): New variable.
12832 (scan_depth): Likewise.
12833 (scan_devices): New function based on grub_raid_register. Abort if
12834 looked for device is found.
12835 (grub_raid_iterate): Rescan if needed.
12836 (find_array): NEw function based on -grub_raid_open.
12837 (grub_raid_open): Use find_array and rescan.
12838 (insert_array): Set became_readable_at.
12839 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
12840 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
12841 New function.
12842 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
12843 (grub_util_pull_device): New function.
12844 (grub_util_get_grub_dev): Call grub_util_pull_device.
12845 * util/raid.c: Moved to ..
12846 * grub-core/kern/emu/raid.c: ... here.
12847 (grub_util_raid_getmembers): New parameter "bootable".
12848 All users updated. Support 1.x.
12849 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
12850 All users updated.
12851 * include/grub/disk.h (grub_disk_pull_t): New enum.
12852 (grub_disk_dev): Change iterate prototype.
12853 All users updated.
12854 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
12855 New proto.
12856 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
12857 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
12858 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
12859 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
12860 All users updated.
12861 * include/grub/util/raid.h: Removed.
12862
12863 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 * po/POTFILES.in: Regenerate.
12866
12867 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 Unify sparc init with other ieee1275.
12870
12871 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
12872 instead of kern/sparc64/ieee1275/init.c.
12873 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
12874 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
12875 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
12876 grub/machine/kernel.h.
12877 (grub_ieee1275_original_stack) [__sparc__]: New variable.
12878 (grub_claim_heap) [__sparc__]: Use sparc version.
12879 (grub_machine_init): Moved args parsing to
12880 (grub_parse_cmdline): ...this.
12881 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
12882 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
12883 New definition.
12884 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
12885
12886 Move BOOTP to separate file.
12887
12888 * grub-core/Makefile.core.def (net): Add net/bootp.c.
12889 * grub-core/net/net.c: Move all BOOTP functions to
12890 * grub-core/net/bootp.c: ... here.
12891
12892 Use frame interface on PXE.
12893
12894 * grub-core/Makefile.core.def (pxecmd): Removed.
12895 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
12896 * grub-core/commands/i386/pc/pxecmd.c: Removed.
12897 * grub-core/i386/pc/pxe.c: Moved from here ...
12898 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
12899 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
12900 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
12901
12902 EFI network support.
12903
12904 * grub-core/Makefile.core.def (efinet): New module.
12905 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
12906 here...
12907 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
12908 All users updated.
12909 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
12910 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
12911 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
12912 * grub-core/net/drivers/efi/efinet.c: New file.
12913 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
12914 (grub_efi_net_config): New extern var.
12915
12916 Various cleanups and bugfixes.
12917
12918 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
12919 error.
12920 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
12921 disk declared as partition.
12922 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
12923 leak on failure.
12924 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
12925 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
12926 (grub_debug_zalloc): Likewise.
12927 (grub_debug_realloc): Likewise.
12928 (grub_debug_memalign): Likewise.
12929 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
12930 Check that target is IPv4.
12931 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
12932 local-mac-address as fallback.
12933 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
12934 memory leak.
12935 * grub-core/net/ip.c (ipchksum): Rename to ...
12936 (grub_net_ip_chksum): ... this. All users updated.
12937 (grub_net_recv_ip_packets): Special handling for DHCP.
12938 * util/grub-mkimage.c (generate_image): Zero-out aout header.
12939
12940 Unify prefix handling
12941
12942 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
12943 (grub_machine_get_bootlocation): ... this.
12944 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
12945 (grub_machine_get_bootlocation): ... this.
12946 (grub_prefix): New variable.
12947 (prefix): Removed.
12948 (root_dev): New variable.
12949 (dir): Likewise.
12950 (main): Use new variables.
12951 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
12952 Revamped into ...
12953 (grub_machine_get_bootlocation): ... this.
12954 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
12955 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
12956 (grub_machine_get_bootlocation): ... this.
12957 (grub_machine_set_prefix): Removed.
12958 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
12959 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
12960 Revamped into ...
12961 (grub_machine_get_bootlocation): ... this.
12962 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
12963 (grub_set_prefix_and_root): ... this. All users updated.
12964 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
12965 Revamped into ...
12966 (grub_machine_get_bootlocation): ... this.
12967 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
12968 (grub_machine_get_bootlocation): New proto.
12969 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
12970
12971 Less intrusive and more reliable seek on network implementation.
12972
12973 * grub-core/kern/file.c (grub_file_net_seek): Removed.
12974 (grub_file_seek): Don't call grub_file_net_seek.
12975 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
12976 (grub_net_fs_read_real): .. this.
12977 (grub_net_seek_real): Use net->offset.
12978 (grub_net_fs_read): Seek if necessary.
12979
12980 Unify IEEE1275 netwotk config with the other platforms.
12981
12982 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
12983 New variable.
12984 (grub_machine_get_bootlocation): Support network.
12985 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12986 Support type and device parsing.
12987 (grub_ieee1275_get_device_type): New function.
12988 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
12989 into ...
12990 (grub_ieee1275_net_config_real): ... this.
12991 (grub_ofnet_probecards): Removed.
12992 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
12993 * include/grub/ieee1275/ofnet.h: Removed.
12994 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
12995 extern var.
12996 (grub_ieee1275_get_device_type): New function.
12997
12998 Unify network device closing across platforms and make more robust.
12999
13000 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13001 grub_grubnet_fini.
13002 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13003 already.
13004 * grub-core/net/net.c (grub_net_network_level_interface_register):
13005 Update num_ifaces.
13006 (grub_net_card_unregister): Close all interfaces.
13007 (receive_packets): Don't poll if no iterfaces are registered.
13008 Open if necessary.
13009 (grub_net_fini_hw): New function.
13010 (grub_net_restore_hw): Likewise.
13011 (fini_hnd): New variable.
13012 (GRUB_MOD_INIT): Register preboot hook.
13013 (GRUB_MOD_FINI): Run and unregister preboot hook.
13014
13015 Poll network cards when idle.
13016
13017 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13018 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13019 * grub-core/net/net.c (receive_packets): Save last poll time.
13020 (grub_net_poll_cards_idle_real): New function.
13021 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13022 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13023 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13024
13025 Rename ofnet interfaces.
13026
13027 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13028 (grub_ofnet_findcards): Use ofnet_%s names.
13029
13030 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13031
13032 Cleanup socket opening.
13033
13034 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13035 (grub_net_fs_close): Likewise.
13036 (grub_net_fs_read_real): Use eof member.
13037 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13038 (+grub_net_udp_close): New inline function.
13039
13040 * include/grub/net/tftp.h: Moved to the top of ...
13041 * grub-core/net/tftp.c: ... here.
13042 * include/grub/net/ip.h: Moved mostly to the top of ...
13043 * grub-core/net/ip.c: ... here.
13044 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13045 * grub-core/net/ethernet.c: ... here.
13046
13047 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13048
13049 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13050 FS name.
13051
13052 * include/grub/net/ip.h (ipv4_ini): Removed.
13053 (ipv4_fini): Likewise.
13054
13055 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13056 (grub_net_send_ip_packets): Likewise.
13057
13058 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13061 grub_read_cmos prototype.
13062
13063 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 VGA text support in qemu-mips
13066
13067 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13068 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13069 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13070 text.
13071 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13072 * grub-core/kern/vga_init.c: ... this.
13073 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13074 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13075 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13076 Adjust.
13077 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13078 GRUB_MACHINE_PCI_IO_BASE.
13079
13080 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 MIPS qemu flash support.
13083
13084 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13085 magic.
13086 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13087 (grub_machine_init): Probe memory if its size isn't known.
13088 * util/grub-mkimage.c (image_targets): Add flash targets.
13089 (generate_image): Handle flash targets.
13090
13091 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 MIPS qemu at_keyboard support.
13094
13095 * gentpl.py (videoinkernel): Add qemu-mips.
13096 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13097 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13098 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13099 modules.
13100 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13101 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13102 * grub-core/term/serial.c (grub_serial_register)
13103 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13104
13105 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 CMOS support on sparc.
13108
13109 * gentpl.py (cmos): Add powerpc and sparc.
13110 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13111 powerpc and sparc.
13112 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13113 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13114 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13115 grub_set_datetime_cmos.
13116 * grub-core/lib/ieee1275/cmos.c: New file.
13117 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13118 (find_rtc): Set no_ieee1275_rtc on error.
13119 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13120 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13121 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13122 fail. Move value to argument. All users updated
13123 (grub_cmos_write): Likewise.
13124 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13125 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13126 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13127 grub_get_datetime_cmos and grub_set_datetime_cmos.
13128
13129 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13130
13131 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13132 sourcing grub-mkconfig_lib.
13133 * util/update-grub_lib.in: Likewise.
13134 * util/grub.d/00_header.in: Likewise.
13135 * util/grub.d/10_hurd.in: Likewise.
13136 * util/grub.d/10_kfreebsd.in: Likewise.
13137 * util/grub.d/10_linux.in: Likewise.
13138 * util/grub.d/10_netbsd.in: Likewise.
13139 * util/grub.d/10_windows.in: Likewise.
13140 * util/grub.d/20_linux_xen.in: Likewise.
13141 * util/grub.d/30_os-prober.in: Likewise.
13142
13143 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
13144
13145 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13146 default_bg_color rather than black.
13147 (grub_gfxterm_fullscreen): Likewise.
13148 (grub_gfxterm_background_color_cmd): Save new background color in
13149 default_bg_color.
13150
13151 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13154
13155 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13156
13157 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13158 mismerge.
13159
13160 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 Chainloading on coreboot support.
13163
13164 * grub-core/Makefile.core.def (chain): Add coreboot.
13165 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13166
13167 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13170 if it happens.
13171
13172 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 Implement time command.
13175
13176 * grub-core/Makefile.core.def (time): New module.
13177 * grub-core/commands/time.c: New file.
13178 * grub-core/script/parser.y: Remove "time" keyword.
13179 * grub-core/script/yylex.l: Likewise.
13180
13181 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13184
13185 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13188 when handling leftovers.
13189
13190 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13191
13192 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13193 so that help2man doesn't fail.
13194
13195 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13198 type in pointers on sparc64.
13199 (get_card_packet): Likewise.
13200
13201 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
13202
13203 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13204 with `*'.
13205 (grub_cmd_videoinfo): Fetch current video mode.
13206
13207 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13208
13209 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13210 because of underlying system restrictions.
13211
13212 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13215 necessary.
13216
13217 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 Coreboot video support.
13220
13221 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13222 (vbe): Likewise.
13223 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13224 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13225 here ...
13226 * grub-core/kern/i386/int.S: ... here.
13227 * grub-core/video/i386/pc/vbe.c: Updated includes.
13228 * grub-core/video/i386/pc/vga.c: Likewise.
13229 * include/grub/i386/coreboot/memory.h
13230 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13231 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13232 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13233 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13234 Disable interrupts.
13235 * include/grub/i386/pc/vga.h: Removed. All users updated.
13236
13237 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13240 definitions for dprintf.
13241 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13242
13243 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13246 prototype.
13247 (get_card_packet): Likewise.
13248
13249 2011-06-26 Yves Blusseau <blusseau@zetam.org>
13250
13251 Display the path of the file when file is not found
13252
13253 * grub-core/fs/fat.c: Display the filename when file is not found.
13254 * grub-core/fs/fshelp.c: Likewise.
13255 * grub-core/fs/hfs.c: Likewise.
13256 * grub-core/fs/jfs.c: Likewise.
13257 * grub-core/fs/minix.c: Likewise.
13258 * grub-core/fs/ufs.c: Likewise.
13259 * grub-core/fs/btrfs.c: Likewise.
13260 * grub-core/commands/i386/pc/play.c: Likewise.
13261
13262 2011-06-26 Szymon Janc <szymon@janc.net.pl>
13263
13264 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13265 pointer checks before calling grub_free().
13266 * grub-core/commands/wildcard.c (match_devices): Likewise.
13267 * grub-core/commands/wildcard.c (match_files): Likewise.
13268 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13269 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13270 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13271 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13272 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13273 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13274 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13275 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13276 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13277
13278 2011-06-25 Patrick <p55@mailinator.com>
13279
13280 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13281
13282 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13285 (grub_pxe_send): Likewise.
13286 (GRUB_MOD_INIT): Fix types.
13287
13288 2011-06-24 Szymon Janc <szymon@janc.net.pl>
13289
13290 * grub-core/io/xzio.c: Fix code style issues
13291
13292 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13293 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
13294
13295 Network infrastructure.
13296 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13297
13298 * include/grub/net/arp.h: New file.
13299 * include/grub/net/device.h: Likewise.
13300 * include/grub/net/ethernet.h: Likewise.
13301 * include/grub/net/ip.h: Likewise.
13302 * include/grub/net/netbuff.h: Likewise.
13303 * include/grub/net/tftp.h: Likewise.
13304 * include/grub/net/udp.h: Likewise.
13305 * include/grub/ieee1275/ofnet.h: Likewise.
13306 * include/grub/emu/export.h: Likewise.
13307 * include/grub/net.h: Likewise.
13308 * grub-core/net/arp.c: Likewise.
13309 * grub-core/net/ethernet.c: Likewise.
13310 * grub-core/net/ip.c: Likewise.
13311 * grub-core/net/udp.c: Likewise.
13312 * grub-core/net/tftp.c: Likewise.
13313 * grub-core/net/netbuff.c: Likewise.
13314 * grub-core/net/net.c: Likewise.
13315 * grub-core/net/drivers/emu/emunet.c: Likewise.
13316 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13317 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13318 export.h.
13319 * grub-core/Makefile.core.def (net): New module.
13320 (tftp): Likewise.
13321 (ofnet): Likewise.
13322 (emunet): Likewise.
13323 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13324 network protocols.
13325 * grub-core/kern/device.c (grub_net_open) : New variable.
13326 (grub_device_open): Handle network device.
13327 (grub_device_close): Likewise.
13328 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13329 (grub_grubnet_fini): Likewise.
13330 (grub_file_seek): Seek in network device.
13331 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13332 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13333 network root.
13334 (grub_machine_fini): Call grub_grubnet_fini.
13335 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13336 network.
13337 (grub_ieee1275_get_aliasdevname): New function.
13338 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13339 Add unofficial Solaris network info.
13340 (grub_multiboot_make_mbi): Likewise.
13341 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13342 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13343 * include/grub/device.h (grub_fs): Removed.
13344 * include/grub/err.h (grub_err_t): Add network-related values.
13345 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13346 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13347 (grub_ieee1275_get_aliasdevname): New proto.
13348 * include/grub/net.h: Rewritten.
13349
13350 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13353 names.
13354
13355 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13356
13357 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13358 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13359 it truncates the output.
13360 Reported by: Ximin Luo.
13361
13362 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13365
13366 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13369 partmap before abstraction.
13370
13371 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13372
13373 * util/grub-mkconfig_lib.in: Add missing quotes.
13374
13375 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13378 old method if mountinfo would return /dev/root and /dev/root doesn't
13379 exist.
13380
13381 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 ZFS zlib support
13384
13385 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13386 (decomp_table): Add zlib entries.
13387 (zio_read): USe 8 bits for compression function rather than 3.
13388 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13389
13390 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/disk/ahci.c: Add missing license statements.
13393 * grub-core/fs/romfs.c: Likewise.
13394 * grub-core/lib/ia64/setjmp.S: Likewise.
13395 * grub-core/loader/i386/pc/freedos.c: Likewise.
13396 * grub-core/loader/ia64/efi/linux.c: Likewise.
13397 * grub-core/video/colors.c: Likewise.
13398 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13399
13400 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 AHCI support.
13403
13404 * grub-core/Makefile.core.def (ata_pthru): Removed.
13405 (ahci): New module.
13406 (pata): Likewise.
13407 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13408 on unload.
13409 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13410 readwrite.
13411 (grub_hdparm_do_check_powermode_cmd): Likewise.
13412 (grub_hdparm_do_smart_cmd): Likewise.
13413 (grub_hdparm_set_val_cmd): Likewise.
13414 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13415 * grub-core/disk/ahci.c: New file.
13416 * grub-core/disk/ata.c: Factor out the low-level part into ...
13417 * grub-core/disk/pata.c: ... here.
13418 * grub-core/disk/ata_pthru.c: Contents moved to ...
13419 * grub-core/disk/pata.c: ... here.
13420 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13421 (grub_scsi_iterate): Use grub_scsi_names.
13422 (grub_scsi_open): Likewise.
13423 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13424 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13425 (grub_ata_regs_t): New struct.
13426 (grub_disk_ata_pass_through_parms): Likewise.
13427 (grub_ata_device): Renamed to ...
13428 (grub_ata): ... this.
13429 (grub_ata_dev): New struct.
13430 Removed all low-level inline functions.
13431 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13432 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13433 iterate hooks and open. All users updated.
13434 * util/grub-install.in: Handle AHCI disk module.
13435
13436 2011-06-23 Szymon Janc <szymon@janc.net.pl>
13437
13438 Add support for DRI and RSTn markers in JPEG files.
13439
13440 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13441 (JPEG_MARKER_RST0): Likewise.
13442 (JPEG_MARKER_RST1): Likewise.
13443 (JPEG_MARKER_RST2): Likewise.
13444 (JPEG_MARKER_RST3): Likewise.
13445 (JPEG_MARKER_RST4): Likewise.
13446 (JPEG_MARKER_RST5): Likewise.
13447 (JPEG_MARKER_RST6): Likewise.
13448 (JPEG_MARKER_RST7): Likewise.
13449 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13450 (grub_jpeg_decode_dri): New function.
13451 (grub_jpeg_decode_sos): Move image data related part into
13452 grub_jpeg_decode_data function.
13453 (grub_jpeg_decode_data): New function.
13454 (grub_jpeg_reset): New function.
13455 (grub_jpeg_decode_jpeg): Handle new markers.
13456
13457 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * util/ieee1275/ofpath.c (check_sas): Close fd.
13460 (main): Free of_path.
13461 Reported by: David Volgyes <dvolgyes>.
13462
13463 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13466 Reported by: David Volgyes <dvolgyes>.
13467
13468 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13471 file after stat.
13472 Reported by: David Volgyes <dvolgyes>.
13473
13474 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13477
13478 Reported by: David Volgyes <dvolgyes>.
13479
13480 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13483 Prevent memory leak.
13484
13485 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13488 (main): Close file.
13489 Reported by: David Volgyes <dvolgyes>.
13490
13491 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13494 to continue if allocation is failed.
13495
13496 Reported by: David Volgyes <dvolgyes>.
13497
13498 2011-06-23 David Volgyes <dvolgyes>
13499
13500 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13501 dereference.
13502
13503 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 Fix spurious warning.
13506
13507 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13508 (acorn_partition_map_find): Use .bin member.
13509
13510 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13513 /dev/root as a valid device.
13514
13515 2011-06-23 Jim Meyering <meyering@redhat.com>
13516
13517 Avoid NULL deref in grub_device_open.
13518
13519 * grub-core/kern/device.c (grub_device_open): Don't dereference
13520 a NULL pointer upon failed grub_env_get.
13521
13522 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 Support non-512B sectors and agglomerate reads.
13525
13526 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13527 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13528 (disk_io_guid): Removed.
13529 (make_devices): Locate solely by BlockIO.
13530 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13531 (grub_efidisk_read): Use read_blocks.
13532 (grub_efidisk_write): Use write_blocks.
13533 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13534 log_sector_size.
13535 (get_safe_sectors): Handle non-512B sectors.
13536 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13537 sectors.
13538 (grub_biosdisk_write): Handle non-512B sectors.
13539 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13540 (grub_scsi_read): Remove special non-512B block handling (now handled
13541 one level up).
13542 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13543 and do sanity checks.
13544 (grub_disk_adjust_range): Handle non-512B sectors.
13545 (transform_sector): New function.
13546 (grub_disk_read_small): Likewise.
13547 (grub_disk_read): Rewritten.
13548 (grub_disk_write): Handle non-512B sectors.
13549 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13550 log_sector_size.
13551 (open_device): Use log_sector_size.
13552 (grub_util_biosdisk_read): Likewise.
13553 (grub_util_biosdisk_write): Likewise.
13554 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13555 non-512B sectors.
13556 (pc_partition_map_embed): Likewise.
13557 * include/grub/disk.h (grub_disk): New field log_sector_size.
13558 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13559 (GRUB_DISK_CACHE_BITS): Increased to 6.
13560 * util/grub-fstest.c (fstest): New command testload.
13561 (argp_parser): Likewise.
13562
13563 2011-06-16 Robert Millan <rmh@gnu.org>
13564
13565 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13566 `ata' driver on kernel of FreeBSD 9.
13567
13568 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13569 (get_ataraid_disk_name): New functions.
13570 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13571 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13572 get_ataraid_disk_name() and get_ada_disk_name().
13573
13574 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
13575
13576 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13577 input format.
13578
13579 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
13580
13581 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13582 `ftp.gnu.org' for `alpha.gnu.org'.
13583
13584 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
13585
13586 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13587 partitions under /dev/disk/by-id/.
13588
13589 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
13590
13591 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13592 after ten consecutive open failures. Scanning all the way up to
13593 10000 is excessive and can cause serious performance problems in
13594 some configurations.
13595 Fixes Ubuntu bug #787461.
13596
13597 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
13600 opening new one.
13601
13602 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
13603 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 Don't stat devices unless we have to.
13606
13607 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
13608 dir == /dev/mapper.
13609 (grub_guess_root_device): Use already known os_dev if possible.
13610 * grub-core/kern/emu/hostdisk.c
13611 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
13612 if device is known to be a dm one.
13613
13614 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
13615
13616 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
13617 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
13618 Reported by: Pawel Tecza.
13619
13620 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
13623 (lsefisystab): Likewise.
13624 (lssal): Likewise.
13625 (lsefimmap): Likewise.
13626 (hdparm): Enable on qemu-mips.
13627 (setjmp): Add ia64 nodist.
13628 (serial): Simplify tags.
13629
13630 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
13631
13632 * Makefile.util.def (grub-ofpathname): Install manual page.
13633
13634 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
13635
13636 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
13637
13638 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
13639
13640 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
13641
13642 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
13645 into dprintf.
13646
13647 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 Use full 64-bit division.
13650
13651 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
13652 (grub_divmod64): ... this.
13653 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
13654 version.
13655
13656 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
13657
13658 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
13659 `source'.
13660
13661 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
13662
13663 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
13664 to avoid accidents when debugging with 'sh -x'.
13665 * grub-core/gensyminfo.sh.in: Likewise.
13666 * tests/example_scripted_test.in: Likewise.
13667 * tests/grub_cmd_regexp.in: Likewise.
13668 * tests/grub_script_blanklines.in: Likewise.
13669 * tests/grub_script_dollar.in: Likewise.
13670 * tests/grub_script_expansion.in: Likewise.
13671 * tests/grub_script_final_semicolon.in: Likewise.
13672 * tests/partmap_test.in: Likewise.
13673 * tests/util/grub-shell-tester.in: Likewise.
13674 * tests/util/grub-shell.in: Likewise.
13675
13676 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
13677
13678 Move gfxmenu color handling to video, so that gfxterm can use it
13679 too.
13680
13681 * grub-core/gfxmenu/named_colors.c: Move to ...
13682 * grub-core/video/colors.c: ... here. Rename
13683 grub_gui_get_named_color to grub_video_get_named_color.
13684 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
13685 * grub-core/video/colors.c (my_isxdigit): ... here.
13686 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
13687 Move to ...
13688 * grub-core/video/colors.c (parse_hex_color_component): ... here.
13689 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
13690 to ...
13691 * grub-core/video/colors.c (grub_video_parse_color): ... here.
13692
13693 * include/grub/gui.h (grub_gui_color_t): Move to ...
13694 * include/grub/video.h (grub_video_rgba_color_t): ... here.
13695 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
13696 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
13697 * include/grub/gui.h (grub_gui_map_color): Move to ...
13698 * include/grub/video.h (grub_video_map_rgba_color): ... here.
13699 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
13700 to ...
13701 * include/grub/video.h (grub_video_get_named_color): ... here.
13702 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
13703 * include/grub/video.h (grub_video_parse_color): ... here.
13704
13705 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
13706 video/colors.c.
13707 (gfxmenu): Remove gfxmenu/named_colors.c.
13708 (video) [videomodules]: Add video/colors.c.
13709
13710 Add a background_color command.
13711
13712 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
13713 function.
13714 (GRUB_MOD_INIT): Register background_color command.
13715 (GRUB_MOD_FINI): Unregister background_color command.
13716 (redraw_screen_rect): Allow blend/replace of text layer to be
13717 controlled independently from whether there is a background bitmap.
13718 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
13719 changing bitmap.
13720
13721 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 Patch BPB in ntldr and chainloader --bpb.
13724
13725 * grub-core/fs/fat.c: Include grub/fat.h.
13726 (grub_fat_bpb): Moved to ...
13727 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
13728 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
13729 grub/ntfs.h.
13730 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
13731 Moved from here...
13732 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
13733 here.
13734 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
13735 New function.
13736 (grub_chainloader_cmd): Patch BPB if --bpb is given.
13737 (GRUB_MOD_INIT): Show --bpb.
13738 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
13739 * grub-core/normal/main.c (features): New variable.
13740 (GRUB_MOD_INIT): Set feature_* variables.
13741 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
13742 proto.
13743 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
13744
13745 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
13748 for cleanness.
13749
13750 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 FreeDOS direct loading support.
13753
13754 * docs/grub.texi (Supported OS): Add FreeDOS.
13755 * grub-core/Makefile.core.def (freedos): New module.
13756 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
13757 variable.
13758 (grub_relocator16_boot): Handle %ebx.
13759 * grub-core/lib/i386/relocator16.S: Likewise.
13760 * grub-core/loader/i386/pc/freedos.c: New file.
13761
13762 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 Long Linux command line support.
13765
13766 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13767 (maximal_cmdline_size): New variable.
13768 (allocate_pages): Use maximal_cmdline_size.
13769 (grub_cmd_linux): Set and use maximal_cmdline_size.
13770 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13771 (allocate_pages): Use maximal_cmdline_size.
13772 (grub_cmd_linux): Set and use maximal_cmdline_size.
13773 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
13774 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
13775 and cmdline_size.
13776
13777 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13778 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
13779
13780 Improve devmapper support
13781
13782 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
13783 (grub_util_is_lvm): New function.
13784 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
13785 than lvm if not dmraid.
13786 Handle mapped md nodes.
13787 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
13788 (grub_util_device_is_mapped): ... this. Make always available. All users
13789 updated.
13790 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
13791 (convert_system_partition_to_system_disk): Handle lvm, mpath and
13792 dmraid nodes.
13793 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
13794
13795 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
13798
13799 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
13800 * grub-core/modinfo.sh.in: New file.
13801 * grub-core/Makefile.core.def (modinfo.sh): New script.
13802 * util/grub-mknetdir.in: Use modinfo.sh.
13803 * util/grub-mkrescue.in: Likewise.
13804
13805 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13808 Fix potential usage of Elf32 instead of Elf64 when compiling on
13809 32-bit architecture. Add endianness macros while on it.
13810
13811 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 Use mipsel- rather than mips- in directories involving mipsel ports to
13814 allow both endiannesses coexist.
13815
13816 * configure.ac: proparate target_cpu=mipsel rather than resetting to
13817 mips. All conditions adjusted.
13818 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
13819 variable.
13820 * util/grub-install.in: Adjust conditions to take renaming into account.
13821 * util/grub-mkimage.c (image_targets): Likewise. New target
13822 mips-qemu_mips-elf for bigendian mips.
13823
13824 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 Avoid unnecessary copying on MIPS.
13827
13828 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
13829 early if src == dest.
13830 * util/grub-mkimage.c (generate_image): Arange for src == dest if
13831 compression is none.
13832
13833 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 Reduce memory footprint on SGI by putting modules before the kernel
13836 as opposed to after.
13837
13838 * grub-core/Makefile.core.def (kernel): Increase linking address.
13839 (none_decompress): Likewise.
13840 (xz_decompress): Likewise.
13841 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
13842 address.
13843 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
13844 layout change.
13845 (grub_arch_modules_addr): New function.
13846 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
13847 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
13848 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
13849 here.
13850 * grub-core/kern/mips/startup.S (total_size): Rename to ...
13851 (grub_total_modules_size): ... this. Make global.
13852 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
13853 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
13854 New definition.
13855 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
13856 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
13857 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
13858 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
13859 * util/grub-mkimage.c (image_target_desc): New flag
13860 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
13861 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
13862 (generate_image): Handle images with modules before kernel.
13863
13864 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13865
13866 Prevent potential loss of memory map by overwrite on qemu-mips.
13867
13868 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13869 Save ram size in $s4.
13870 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
13871 All users changed to grub_arch_memsize.
13872 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
13873 Loongson.
13874 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
13875 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
13876 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
13877 external variable.
13878
13879 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
13880
13881 * .bzrignore: Remove grub-dumpbios.
13882
13883 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
13884
13885 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
13886 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
13887 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
13888 existing options which append).
13889 * docs/grub.texi (Simple configuration): Document new options.
13890 Reported by: Ian Jackson. Fixes Debian bug #617538.
13891
13892 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
13893
13894 * util/grub-fstest.c (cmd_cat): New function.
13895 (fstest): Handle CMD_CAT.
13896 (options): Add cat.
13897 (argp_parser): Handle cat.
13898
13899 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
13900
13901 * Makefile.util.def (grub-bin2h): Don't install.
13902 * docs/man/grub-bin2h.h2m: Remove.
13903
13904 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
13907 place.
13908
13909 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 Reenable qemu-mips port.
13912
13913 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
13914 Fix small arc bug while on it.
13915 * gentpl.py: Handle qemu_mips.
13916 * grub-core/Makefile.am: Likewise.
13917 * grub-core/Makefile.core.def: Likewise.
13918 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
13919 inappropriate includes.
13920 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
13921 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
13922 * grub-core/kern/main.c (grub_modules_get_end)
13923 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
13924 * grub-core/kern/mips/qemu-mips: Moved to ..
13925 * grub-core/kern/mips/qemu_mips: ... this.
13926 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
13927 (grub_machine_init): Call terminfo_init and serial_init.
13928 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
13929 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13930 New variable.
13931 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
13932 parameter passing.
13933 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
13934 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
13935 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
13936 * include/grub/mips/qemu_mips/cmos.h: New file.
13937 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
13938 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
13939 Removed.
13940 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
13941 Use correct mips-style address.
13942 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
13943 (GRUB_TICKS_PER_SECOND): Removed.
13944 (grub_get_rtc): Likewise.
13945 (grub_cpu_idle): Likewise.
13946 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
13947 New definition.
13948 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
13949 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
13950 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
13951 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
13952 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13953 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13954 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
13955 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
13956
13957 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 SGI ARCS port.
13960
13961 * Makefile.util.def (libgrubmods.a): Add dvh.c.
13962 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
13963 platforms.
13964 * configure.ac: New target mips-arc.
13965 * gentpl.py: Likewise.
13966 * grub-core/Makefile.am: Likewise.
13967 * grub-core/Makefile.core.def: Likewise.
13968 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
13969 (none_decompress): Likewise.
13970 (lsdev): New module.
13971 (datetime): Use lib/arc/datetime.c on ARC.
13972 (part_dvh): New module.
13973 * grub-core/commands/arc/lsdev.c: New file.
13974 * grub-core/disk/arc/arcdisk.c: Likewise.
13975 * grub-core/kern/mips/arc/init.c: Likewise.
13976 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
13977 aligned addresses.
13978 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
13979 support.
13980 (grub_arch_dl_relocate_symbols): Likewise.
13981 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
13982 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
13983 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
13984 platforms.
13985 * grub-core/lib/arc/datetime.c: New file.
13986 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
13987 pci.h on non-loongson.
13988 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
13989 (grub_linux_boot): Set unused registers to 0.
13990 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
13991 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
13992 * grub-core/mmap/mips/uppermem.c: ...here.
13993 * grub-core/partmap/dvh.c: New file.
13994 * grub-core/term/arc/console.c: Likewise.
13995 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
13996 (grub_terminfo_set_current): Add terminal "arc".
13997 (grub_terminfo_readkey): Support ARC sequences.
13998 * include/grub/arc/arc.h: New file.
13999 * include/grub/arc/console.h: Likewise.
14000 * include/grub/disk.h (grub_disk_dev_id): Add
14001 GRUB_DISK_DEVICE_ARCDISK_ID.
14002 * include/grub/mips/arc/kernel.h: New file.
14003 * include/grub/mips/arc/memory.h: Likewise.
14004 * include/grub/mips/arc/time.h: Likewise.
14005 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14006 * include/grub/mips/kernel.h (grub_halt): ... here.
14007 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14008 here...
14009 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14010 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14011 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14012 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14013 proto.
14014 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14015 from here ...
14016 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14017 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14018 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14019 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14020 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14021 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14022 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14023 (grub_phys_addr_t): Moved from here ...
14024 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14025 (grub_vtop): Moved from here ...
14026 * include/grub/mips/memory.h (grub_vtop): ... here.
14027 (grub_map_memory): Moved from here ...
14028 * include/grub/mips/memory.h (grub_map_memory): ... here.
14029 (grub_unmap_memory): Moved from here ...
14030 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14031 (grub_machine_mmap_iterate): Moved from here ...
14032 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14033 (grub_mmap_get_lower): Moved from here ...
14034 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14035 (grub_mmap_get_upper): Moved from here ...
14036 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14037 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14038 here ...
14039 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14040 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14041 here ...
14042 * include/grub/mips/time.h (grub_get_rtc): ... here.
14043 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14044 here ...
14045 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14046 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14047 here ...
14048 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14049 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14050 definition.
14051 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14052 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14053 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14054 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14055 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14056 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14057 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14058 (GRUB_MACHINE_LINK_ADDR): Likewise.
14059 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14060 to 6.
14061 * util/grub-install.in: Run dvhtool on ARC.
14062 * util/grub-mkimage.c (image_targets): Add mips-arc.
14063 (generate_image): Handle ECOFF output for mips-arc.
14064
14065 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14068 blocks.
14069
14070 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14073 after enabling port.
14074
14075 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 Skip incorrect USB devices.
14078
14079 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14080 configcnt == 0.
14081 * include/grub/usb.h (grub_usb_err_t): New enum value
14082 GRUB_USB_ERR_BADDEVICE.
14083
14084 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 Fuloong video init support.
14087
14088 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14089 well.
14090 (grub_vga_read_arx): New function.
14091 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14092 definition.
14093 (framebuffer): New members io, mmioptr and mmiobase.
14094 (read_sis_cmd): New function.
14095 (write_sis_cmd): Likewise.
14096 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14097 rather than 640x400.
14098 * grub-core/video/sis315_init.c: New file.
14099
14100 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14103 non-loongson.
14104 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14105 to grub_dl_register_symbol.
14106
14107 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14108
14109 Fix compilation errors.
14110
14111 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14112 potentially unused.
14113 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14114 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14115 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14116 to loongson machines.
14117
14118 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 Several FS mtime support.
14121
14122 * grub-core/fs/affs.c (grub_affs_time): New struct.
14123 (grub_affs_file): New field mtime.
14124 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14125 type. Removed 'size'. New field 'di'. All users updated.
14126 (grub_affs_mount): Simplify checsum checking.
14127 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14128 (grub_affs_dir): Handle mtime.
14129 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14130 (grub_cpio_dir): Likewise.
14131 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14132 (grub_hfs_filerec): New field mtime.
14133 (grub_hfs_dir): Handle mtime.
14134 (grub_hfs_mtime): New function.
14135 (grub_hfs_fs): Register grub_hfs_mtime.
14136 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14137 (grub_iso9660_dir): New field mtime.
14138 (grub_fshelp_node): New field dirent.
14139 (iso9660_to_unixtime): New function.
14140 (iso9660_to_unixtime2): Likewise.
14141 (grub_iso9660_read_symlink): Use node->dirent.
14142 (grub_iso9660_iterate_dir): Likewise.
14143 (grub_iso9660_dir): Set mtime.
14144 (grub_iso9660_mtime): New function.
14145 (grub_iso9660_fs): Register grub_iso9660_mtime.
14146 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14147 (grub_jfs_inode): New fields atime, ctime and mtime.
14148 (grub_jfs_dir): Set mtime.
14149 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14150 * grub-core/fs/ntfs.c (list_file): Set mtime.
14151 (grub_ntfs_dir): Likewise.
14152 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14153 (grub_reiserfs_iterate_dir): Set mtime.
14154 (grub_reiserfs_dir): Likewise.
14155 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14156 (grub_fshelp_node): Likewise.
14157 (grub_sfs_iterate_dir): Set mtime.
14158 (grub_sfs_dir): Likewise.
14159 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14160 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14161 (grub_xfs_inode): New fields atime, mtime, ctime.
14162 (grub_xfs_dir): Set mtime.
14163 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14164 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14165 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14166
14167 Support UDF symlinks.
14168
14169 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14170 (grub_ufs_read_symlink): New function. All users updated.
14171
14172 Check amiga partmap checksum.
14173
14174 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14175 (grub_amiga_partition): Likewise.
14176 (amiga_partition_map_checksum): New function.
14177 (amiga_partition_map_iterate): Check checksum.
14178
14179 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 ROMFS support.
14182
14183 * Makefile.util.def (libgrubmods.a): Add romfs.
14184 * grub-core/Makefile.core.def (romfs): New module.
14185 * grub-core/fs/romfs.c: New file.
14186
14187 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 Squashfs v4 support.
14190
14191 * Makefile.util.def (libgrubmods.a): Add squash4.
14192 * grub-core/Makefile.core.def (squash4): New module.
14193 * grub-core/fs/squash4.c: New file.
14194 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14195 disk_input_start, disk_input.
14196 (get_byte): Handle disk_input.
14197 (grub_zlib_disk_read): New function.
14198 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14199
14200 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14201 2011-05-15 Feiran Zheng <famcool@gmail.com>
14202
14203 * Makefile.util.def (libgrubmods.a): Add minix3.
14204 * grub-core/Makefile.core.def (minix3): New module.
14205 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14206 (GRUB_MINIX_BSIZE): Removed.
14207 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14208 (grub_minix_ino_t): New type.
14209 (grub_minix_le_to_cpu_ino): New macro.
14210 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14211 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14212 (grub_minix_data): New field block_size.
14213 (grub_minix_read_file): Handle 64-bit correctly.
14214 * grub-core/fs/minix3.c: New file.
14215
14216 2011-05-15 Tristan Gingold <gingold@free.fr>
14217 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
14218 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 IA64 support.
14221
14222 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14223 * configure.ac: Add ia64-efi target.
14224 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14225 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14226 * gentpl.py: Add ia64_efi platform.
14227 Rename x86_efi to efi and Add ia64-efi. All users updated.
14228 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14229 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14230 Remove kern/generic/rtc_get_time_ms.c on EFI.
14231 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14232 kern/ia64/dl_helper.c on ia64-efi.
14233 Add kern/emu/cache.c on emu.
14234 (linux): Use on loader/ia64/efi/linux.c on ia64.
14235 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14236 whether symbol is a function.
14237 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14238 (grub_symbol): New field 'isfunc'.
14239 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14240 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14241 (grub_dl_load_segments): Place all sections into the same region.
14242 [__ia64__]: Create trampolines and got.
14243 [GRUB_MACHINE_EMU]: Call mprotect.
14244 (grub_dl_resolve_symbols): Resolve symbol type as well.
14245 [__ia64__]: Create function descriptors.
14246 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14247 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14248 (grub_get_rtc): New function.
14249 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14250 * grub-core/kern/emu/cache.S: Renamed to ...
14251 * grub-core/kern/emu/cache_s.S: ... this.
14252 [__ia64__]: Add a nop.
14253 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14254 [__ia64__]: New function.
14255 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14256 * grub-core/kern/ia64/dl.c: New file.
14257 * grub-core/kern/ia64/dl_helper.c: Likewise.
14258 * grub-core/kern/ia64/efi/init.c: New file.
14259 * grub-core/kern/ia64/efi/startup.S: Likewise.
14260 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14261 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14262 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14263 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14264 * grub-core/loader/ia64/efi/linux.c: New file.
14265 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14266 (GRUB_MOD_DEP): Likewise.
14267 (grub_dl) [__ia64__]: New fields got and tramp.
14268 (grub_dl): New field 'base'.
14269 (grub_dl_register_symbol): New argument isfunc. All users updated.
14270 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14271 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14272 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14273 (grub_ia64_dl_get_tramp_got_size): New proto.
14274 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14275 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14276 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14277 * include/grub/efi/api.h: Skip call wrappers on ia64.
14278 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14279 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14280 * include/grub/elf.h (ELF_ST_INFO): New definition.
14281 * include/grub/ia64/efi/kernel.h: New file.
14282 * include/grub/ia64/efi/memory.h: Likewise.
14283 * include/grub/ia64/efi/time.h: Likewise.
14284 * include/grub/ia64/kernel.h: Likewise.
14285 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14286 * include/grub/ia64/time.h: New file.
14287 * include/grub/ia64/types.h: Likewise.
14288 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14289 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14290 New protos.
14291 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14292 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14293 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14294 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14295 All users updated.
14296 (EFI64_HEADER_SIZE): New definition. All users updated.
14297 (image_targets): Add ia64-efi.
14298 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14299 jumpers_addr. All users updated.
14300 Create function descriptors.
14301 (count_funcs): New function.
14302 (unaligned_uint32): New struct.
14303 (MASK20): New definition.
14304 (MASK19): Likewise.
14305 (MASKF21): Likewise.
14306 (add_value_to_slot_20b): New function.
14307 (add_value_to_slot_21_real): Likewise.
14308 (add_value_to_slot_21): Likewise.
14309 (ia64_kernel_trampoline): New struct.
14310 (nopm): New variable.
14311 (jump): Likewise.
14312 (make_trampoline): New function.
14313 (relocate_addresses): Handle ia64.
14314 (make_reloc_section): Likewise.
14315 (load_image): Likewise.
14316
14317 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14320 warning. Move variables before code while on it.
14321
14322 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 Fuloong support.
14325
14326 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14327 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14328 * grub-core/boot/mips/loongson/fuloong.S: New file.
14329 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14330 Explicitly init CS5536.
14331 [FULOONG]: Don't use serial until CS5536 is available.
14332 Set GPIO based on dumps.
14333 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14334 [FULOONG]: Handle GPIO and memory controller differences.
14335 Parse machine type in $a2.
14336 * grub-core/boot/mips/startup_raw.S: Determine and save the
14337 architecture.
14338 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14339 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14340 init on architecture type.
14341 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14342 SIS315E. Don't init at_keyboard on fuloong.
14343 (grub_halt): Support Fuloong.
14344 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14345 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14346 (loongson_machtypes): New array.
14347 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14348 type.
14349 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14350 config. All users updated. Handle CS5536 serial.
14351 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14352 default port on machine type. Register serial as inactive.
14353 * grub-core/video/sis315pro.c: New file.
14354 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14355 definition.
14356 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14357 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14358 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14359 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14360 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14361 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14362 to ...
14363 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14364 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14365 definition.
14366 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14367 (grub_arch_machine): New extern var.
14368 * include/grub/mips/loongson/serial.h
14369 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14370 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14371 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14372 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14373 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14374 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14375 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14376 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14377 * include/grub/term.h (grub_term_register_input_inactive): New inline
14378 function.
14379 (grub_term_register_output_inactive): Likewise.
14380 * include/grub/video.h (grub_video_driver_id): New value
14381 GRUB_VIDEO_DRIVER_SIS315PRO.
14382 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14383 New field "names". All users updated.
14384 New field value IMAGE_FULOONG_FLASH.
14385 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14386
14387 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14388
14389 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14390 and add some clarification.
14391
14392 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14395 platforms if kernel is compressed.
14396
14397 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14400 unused modules since currently referrence counter isn't reliable and
14401 there isn't much memory to recover there anyway.
14402
14403 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14406 rather than resetting it to allow modules to reference themselves
14407 in init.
14408
14409 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14412 counter on dependencies since grub_dl_unref already handles this.
14413
14414 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14417 on error if not already done.
14418
14419 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 Fix few potential memory misusage.
14422
14423 * grub-core/font/font.c (load_font_index): Don't free char_index to
14424 avoid double free.
14425 (grub_font_load): Zero-fill font at alloc for safety.
14426 Close file on error.
14427 (free_font): Free bmp_idx.
14428
14429 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 * docs/grub.texi (Installation): Fix several outdated claims.
14432
14433 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 Handle module_license on windows.
14436
14437 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14438 sections shifted.
14439 (insert_string): Make argument const char * instead of char *.
14440 (write_section_data): Handle long section names.
14441 Handle module_license.
14442
14443 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14446 handle class-free menuentries.
14447 (grub_normal_add_menu_entry): Add a check to be sure.
14448
14449 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14450
14451 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14452 PgUp and PgDown.
14453
14454 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * configure.ac: Bump version to 1.99.
14457
14458 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 Give ATA device a bit more time on first try in order to allow disks
14461 to spin up.
14462
14463 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14464 if dev->present is 1. Reset dev->present on failure.
14465 (grub_ata_device_initialize): Set dev->present to 1.
14466 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14467 (grub_ata_device): New member 'present'.
14468
14469 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * util/grub-mkimage.c (generate_image): Update hash.
14472
14473 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 Flush caches on DMA memory.
14476
14477 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14478 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14479 (grub_dma_free): Likewise.
14480 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14481
14482 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14485 to avoid asm treating ld and sd as macros.
14486
14487 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14490 decompressor.
14491
14492 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14495 grub_decompress_core since later would fail if grub_decompress_core
14496 is too far.
14497
14498 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14501 R_MIPS_JALR since it's used by newer compiler.
14502
14503 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14506
14507 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14510 file_path to 0 for surety.
14511 (grub_chainloader_boot): Set exit_data to NULL.
14512 Unset the loader once done.
14513 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14514
14515 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14518 unknown key into a dprintf.
14519
14520 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14523 on first non-existant partition.
14524
14525 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14528 openning fails.
14529 Reported by: Mark Korenberg.
14530
14531 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14534 overflow.
14535
14536 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14539 before closing to ensure that it will be readable by grub-setup.
14540
14541 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14544 (devpath_1): Use MAKE_PIWG_PATH.
14545 (devpath_2): Likewise.
14546 (devpath_3): Likewise.
14547 (devpath_4): Likewise.
14548 (devpath_5): Likewise.
14549 (devpath_6): Likewise.
14550
14551 The appleldr.mod was checked that to be binary identical to previous
14552 version.
14553
14554 2011-05-05 Zach <mikezackles>
14555
14556 Support 2010 Macbooks.
14557
14558 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14559 (devs): Add devpath_6.
14560
14561 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14564 /dev/random. /dev/urandom is good enough for our purposes (salting).
14565
14566 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14569
14570 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14573 hexadecimal.
14574
14575 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14578 and not 0 on failure.
14579
14580 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
14581
14582 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14583 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14584 disk; otherwise grub_fs_probe will not fall back to the next
14585 filesystem.
14586 (grub_pxefs_open): Likewise, for consistency.
14587 Reported and tested by: Ezekiel Grave.
14588
14589 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
14590
14591 * tests/partmap_test.in: Don't hardcode path to parted.
14592 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14593
14594 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
14597 of `ls' to find out which devices are available.
14598
14599 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
14602 than source address for efi mmap buffer.
14603
14604 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14605
14606 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
14607 wrong action on non-detecting the magic.
14608
14609 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
14612 already supplied by another part of the module (fixes compilation on
14613 FreeBSD).
14614
14615 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
14618 match the one used by mdadm.
14619
14620 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
14621
14622 * po/README: Add instructions for creating po/LINGUAS.
14623
14624 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
14625
14626 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
14627 #551428.
14628
14629 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
14630 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
14631 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
14632 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
14633 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
14634 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
14635 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
14636 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
14637 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
14638 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
14639 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
14640 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
14641 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
14642 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
14643 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
14644 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
14645 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
14646 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
14647 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
14648 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
14649 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
14650 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
14651
14652 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
14653
14654 * grub-core/kern/emu/getroot.c
14655 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
14656 test that was incorrectly reintroduced in r3214.
14657 Reported by: Ian Dall. Fixes Savannah bug #33133.
14658
14659 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
14660
14661 Fix stack pointer handling in 16-bit relocator.
14662
14663 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
14664 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
14665 Fixes Ubuntu bug #683904.
14666
14667 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 * configure.ac: Bump version to 1.99~rc2.
14670
14671 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
14674 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
14675 * grub-core/lib/x86_64/setjmp.S: Likewise.
14676 * grub-core/lib/mips/setjmp.S: Likewise.
14677 * grub-core/lib/powerpc/setjmp.S: Likewise.
14678 * grub-core/lib/sparc64/setjmp.S: Likewise.
14679
14680 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
14683 * grub-core/lib/efi/datetime.c: Likewise.
14684
14685 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
14688 New function.
14689 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
14690 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
14691 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
14692
14693 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
14696 bitmap.
14697 (grub_gfxterm_term_init): Likewise.
14698
14699 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 Take into account the decorations the computing menu entry width.
14702
14703 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
14704 (grub_gfxmenu_create_box): Register get_border_width.
14705 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
14706 if available.
14707 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
14708 get_border_width.
14709
14710 2011-04-18 Endres Puschner <code@e7p.de>
14711
14712 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
14713 Don't skip first class.
14714
14715 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
14718 chunks.
14719 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
14720
14721 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 Complete 64-bit division support.
14724
14725 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
14726 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
14727 * include/grub/misc.h (grub_divmod64): Rename to ...
14728 (grub_divmod64_full): ... this.
14729 (grub_divmod64): New inline function.
14730
14731 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * util/grub-mkimage.c (generate_image): Add forgotten comma.
14734
14735 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
14738 performing the necessary test.
14739
14740 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
14743 (kfreebsd.elf): Likewise.
14744 (pc-chainloader.elf): Likewise.
14745 (ntldr.elf): Likewise.
14746
14747 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 Identify RAID by its UUID rather than (guessed) name.
14750
14751 * grub-core/disk/raid.c (ascii2hex): New function.
14752 (grub_raid_open): Accept mduuid/%s specification.
14753 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
14754 (get_mdadm_uuid): ... this.
14755 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
14756
14757 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
14760 to negative size.
14761
14762 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
14763
14764 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
14765 btrfs subvolume.
14766 * util/grub.d/20_linux_xen.in: Likewise.
14767
14768 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
14769
14770 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
14771 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
14772
14773 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14774 Build a list of relevant visible mounts using the mnt_id and
14775 parent_mnt_id fields, and then scan that list at the end.
14776
14777 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
14778
14779 * docs/grub.texi (normal): New section.
14780 (normal_exit): New section.
14781 (Embedded configuration): Add reference to normal.
14782 (GRUB only offers a rescue shell): Likewise.
14783 * docs/grub-dev.texi (Error Handling): Fix typo.
14784
14785 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
14786
14787 * NEWS: Drop obsolete entry about probe-only btrfs support.
14788
14789 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
14790
14791 * util/import_gcry.py: Fix typo.
14792
14793 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 * NEWS: Add btrfs support.
14796
14797 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14798 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
14799
14800 BtrFS support. Written by me (Vladimir) with important bugfixes and
14801 even more important testing by Colin.
14802
14803 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
14804 * grub-core/Makefile.core.def (btrfs): Add crc.c.
14805 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
14806 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
14807 mem_input_off and mem_input. All users updated to accept in-RAM input.
14808 (gzio_seek): New function.
14809 (test_zlib_header): Likewise.
14810 (grub_gzio_read): Likewise.
14811 (grub_zlib_decompress): Likewise.
14812 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
14813 Accept partial and non-virtual mounts.
14814 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
14815 avoid receiving /dev/dm-X as device.
14816 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
14817 Handle bind and partial mounts.
14818 * grub-core/lib/crc.c: New file.
14819 * include/grub/deflate.h: Likewise.
14820 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
14821 proto.
14822 * include/grub/lib/crc.h: New file.
14823
14824 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 Implement automatic module license checking according to new GNU
14827 guidelines.
14828
14829 * grub-core/kern/dl.c (grub_dl_check_license): New function.
14830 (grub_dl_load_core): Use grub_dl_check_license.
14831 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
14832 (GRUB_MOD_LICENSE): Likewise.
14833 (GRUB_MOD_DUAL_LICENSE): Likewise.
14834 All modules updated.
14835
14836 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
14837
14838 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
14839 reserved_first_sector to 1. btrfs reserves plenty of space for boot
14840 loaders.
14841 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
14842
14843 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
14846
14847 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * util/grub-fstest.c (read_file): Report GRUB error if file opening
14850 failed.
14851
14852 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * grub-core/kern/file.c (grub_file_open): Don't take into account the
14855 parenthesis in the middle of the filename.
14856
14857 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
14860 rather than trying to put initrd way too high.
14861 Reported by: Ryan Lortie <desrt@desrt.ca>
14862
14863 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
14866 improperly removed string.
14867
14868 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14869
14870 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
14871 is_disk.
14872 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
14873 (open_device) Likewise.
14874 (grub_util_biosdisk_close): Likewise.
14875 Reported by: Mark Korenberg.
14876
14877 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
14878
14879 * util/grub-mkconfig_lib.in: Add missing quotes.
14880
14881 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
14882
14883 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
14884 is NULL.
14885
14886 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 Dynamically count the number of lines for the lower banner.
14889
14890 * grub-core/normal/menu_entry.c (per_term_screen): New member
14891 num_entries.
14892 (print_down): Use num_entries.
14893 (update_screen): Likewise.
14894 (grub_menu_entry_run): Set num_entries.
14895 * grub-core/normal/menu_text.c (menu_viewer_data): New member
14896 num_entries.
14897 (grub_print_message_indented): Move real part to ...
14898 (grub_print_message_indented_real): ... here. Additional argument
14899 dry_run.
14900 (draw_border): Additional argument num_entries.
14901 (print_message): Additional argument dry_run.
14902 (print_entries): Receive menu viewer data.
14903 (grub_menu_init_page): New argment num_entries.
14904 (menu_text_set_chosen_entry): Use num_entries.
14905 (grub_menu_try_text): Likewise.
14906 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
14907 All users updated.
14908 (grub_ucs4_count_lines): New function.
14909 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
14910 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
14911 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
14912 (grub_term_border_height): Likewise.
14913 (grub_term_num_entries): Likewise.
14914
14915 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
14918 Remove now unused string.
14919
14920 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
14921
14922 * docs/grub-dev.texi (Finding your way around): Update for 1.99
14923 build system.
14924 (Getting started): GRUB is developed in Bazaar now, not Subversion.
14925
14926 (Comment): Fix typo.
14927 (Getting started): General copy-editing.
14928 (Typical Development Experience): Likewise.
14929 (Error Handling): Likewise.
14930 (Video API): Likewise.
14931
14932 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
14933
14934 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
14935 throughout.
14936
14937 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 * util/grub-mkimage.c (main): Handle special naming of yeeloong
14940 directory.
14941
14942 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
14943
14944 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
14945 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
14946 "development".
14947
14948 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
14951 grub_strcpy since the lines aren't necessarily 0-terminated.
14952
14953 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
14956 root on legacy.
14957
14958 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * grub-core/commands/probe.c (options): Argument to set isn't optional.
14961 (GRUB_MOD_INIT): DEVICE isn't optional.
14962
14963 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
14966 word on new line if it's too long anyway. Fixes a hang.
14967
14968 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
14971 const.
14972 * util/grub-setup.c (main): Reuse md device name if available.
14973 * util/raid.c (grub_util_raid_getmembers): Receive device name and
14974 not GRUB name as argument.
14975 Based on patch by: Florian Wagner <fwagner>.
14976
14977 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14980 Place mbi on low memory for better compatibility.
14981
14982 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
14985
14986 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14987 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
14988
14989 * autogen.sh: Ensure that collate and ctype locale is C.
14990 * conf/Makefile.common: Likewise.
14991
14992 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 * grub-core/normal/menu.c: Add missing include.
14995
14996 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
14999
15000 2011-04-08 Martin Zuther <mzuther@mzuther.de>
15001
15002 * util/grub-mkconfig.in: Ignore emacsen backup.
15003
15004 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15007 on open.
15008 (grub_util_biosdisk_close): Likewise.
15009
15010 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15013 const attribute and use grub_isdigit.
15014
15015 2011-04-06 Andrey <dev_null@ukr.net>
15016
15017 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15018 gcc warning.
15019
15020 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15023 useful grub_dprintf's.
15024
15025 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15028
15029 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15032
15033 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 Output errors if theme loading failed.
15036
15037 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15038 grub_gfxterm_fullscreen on error paths to ...
15039 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15040 theme loading error.
15041
15042 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15045 space for older compilers.
15046 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15047
15048 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15051 and report them as not RAID members since they are useless for GRUB.
15052 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15053
15054 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 Increase LVM implementation robustness in order not to crash on
15057 configurations like pvmove. Previously code assumed that in some places
15058 only lvs or only pvs are used whereas it seems that they are used
15059 interchangeably.
15060
15061 * grub-core/disk/lvm.c (read_node): New function.
15062 (read_lv): Use read_node.
15063 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15064 Match volumes only at the end when all lvs are found. Take both
15065 pvs (first) and lvs (second) into account.
15066 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15067 mirror_* into node_*. All users updated.
15068 (grub_lvm_stripe): Merge this ...
15069 (grub_lvm_mirror): ... and this ...
15070 (grub_lvm_node): ... into this. All users updated.
15071
15072 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15075 of function to allow further scanning for LVMs.
15076
15077 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15080 on failed seek as it breaks open fd reusage.
15081
15082 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * util/grub-install.in: Add a recommendation to use --recheck before
15085 reporting bugs.
15086
15087 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15090 are obtained.
15091
15092 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 GRUB developper manual based on existing Internals section and
15095 contributions by the various authors with active copyright assignment.
15096
15097 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15098 * docs/font_char_metrics.png: New file.
15099 * docs/font_char_metrics.txt: Likewise.
15100 * docs/grub-dev.texi: Likewise.
15101 * docs/grub.texi (Internals): Move from here ...
15102 * docs/grub-dev.texi: ... here.
15103
15104 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
15105
15106 Store the loopback device as data on loopback grub_disk structures,
15107 rather than the file it points to. This fixes use of freed memory
15108 if an existing loopback device is replaced.
15109
15110 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15111 disk->data, not dev->file.
15112 (grub_loopback_read): Adjust file assignment to match.
15113 Fixes Ubuntu bug #742967.
15114
15115 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
15116
15117 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15118 when replacing an existing device.
15119
15120 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15123 memory corruptions.
15124
15125 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15126 unsigned.
15127 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15128 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15129 (grub_jfs_read_inode): Likewise.
15130 (grub_jfs_opendir): Likewise. Remove now useless casts.
15131 (grub_jfs_getent): Likewise.
15132 Make ino a grub_uint32_t rather than int.
15133 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15134 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15135 division and module with bit operations.
15136 (grub_jfs_find_file): Make ino a grub_uint32_t.
15137 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15138
15139 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
15140
15141 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15142 warning. (This was in fact always initialised before use, but GCC
15143 wasn't smart enough to prove that.)
15144 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15145
15146 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15149 stack alignment.
15150 (efi_wrap_1): Likewise.
15151 (efi_wrap_2): Likewise.
15152 (efi_wrap_3): Likewise.
15153 (efi_wrap_4): Likewise.
15154 (efi_wrap_5): Likewise.
15155 (efi_wrap_6): Likewise.
15156 (efi_wrap_10): Likewise.
15157 Based on information by: Red Hat/Peter Jones.
15158
15159 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
15160
15161 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15162 set-but-not-used variable.
15163
15164 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
15165
15166 * docs/grub.texi (Simple configuration): Be more explicit about
15167 GRUB_DEFAULT, and add an example.
15168 Reported by: Leslie Rhorer.
15169
15170 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15173 shell".
15174
15175 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15176
15177 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15178 * util/grub.d/20_linux_xen.in: Likewise.
15179
15180 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 * util/grub.d/10_linux.in: Try alternative config filenames where
15183 we parse config file.
15184 * util/grub.d/20_linux_xen.in: Likewise.
15185
15186 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15187
15188 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15189 * util/grub.d/20_linux_xen.in: Likewise.
15190
15191 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 * grub-core/disk/raid.c (insert_array): Add few potentially
15194 useful grub_util_info.
15195 (grub_raid_register): Likewise.
15196
15197 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15200 Preserve partition number in mdadm code path.
15201
15202 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15205 few potentially useful grub_util_info.
15206
15207 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15210
15211 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
15212
15213 * docs/grub.texi (default): Use @example rather than nested
15214 itemized lists to avoid breaking gendocs.
15215
15216 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
15217
15218 * docs/grub.texi (Future): Update.
15219
15220 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
15221
15222 * docs/grub.texi (Environment): New chapter.
15223 (Changes from GRUB Legacy): Link to "Environment block" section for
15224 details of limitations.
15225 (Simple configuration): Likewise. Link to documentation of gfxmode
15226 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15227 respectively.
15228 (Shell-like scripting): Note that normal variables are stored in the
15229 environment.
15230 (gettext): Link to documentation of lang and locale_dir.
15231 (list_env): New section.
15232 (load_env): New section.
15233 (save_env): New section.
15234
15235 (Reporting bugs): Fix typo.
15236
15237 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15238
15239 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15240 the example.
15241
15242 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15243
15244 * grub-core/term/at_keyboard.c (set_scancodes)
15245 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15246
15247 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
15248
15249 * docs/grub.texi (Menu-specific commands): Remove some semantics
15250 that were true in GRUB Legacy but not in GRUB 2.
15251 (submenu): New section.
15252 (false): New section.
15253 (read): New section.
15254 (true): New section.
15255
15256 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
15257
15258 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15259
15260 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
15261
15262 * docs/grub.texi (Simple configuration): Explain some of the
15263 current limitations of grub-mkconfig.
15264 Reported by: Leslie Rhorer.
15265
15266 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Old macs search for boot.efi rather than for bootia32.efi.
15269
15270 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15271 * util/grub-mkrescue.in: Likewise.
15272 Suggested by: Peter Jones.
15273
15274 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15277
15278 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15281 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15282 (grub_lvm_mirror): New struct.
15283 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15284 (grub_lvm_iterate): Iterate only visible volumes.
15285 (grub_lvm_read): Factor out to ..
15286 (read_lv): ... this. Support mirrors.
15287 (grub_lvm_read): New wrapper function.
15288 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15289 stripped or mirrored.
15290
15291 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15294
15295 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
15296
15297 * docs/grub.texi (loopback): New section.
15298
15299 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15302 removed -p option.
15303
15304 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
15305
15306 * docs/grub.texi (BIOS installation): New section, partly based on
15307 previous text in other sections.
15308 (Installing GRUB using grub-install): Replace BIOS discussion with a
15309 cross-reference.
15310 (Images): Likewise.
15311
15312 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15315 [HAVE_DIOCGDINFO]: Add safety checks.
15316
15317 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15318
15319 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15320 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15321
15322 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
15323
15324 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15325 real_sb->size is zero (e.g. RAID-0), get the disk size from
15326 real_sb->data_size instead.
15327 Fixes Ubuntu bug #743136.
15328
15329 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15332 printf clauses for printing size and start.
15333
15334 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15337 Reported and tested by: Timothy Nikkel.
15338
15339 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15342 (dirty_region_add_real): ... this.
15343 (dirty_region_add): Don't discard margin refresh when performing
15344 scheduled repaint.
15345
15346 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * grub-core/lib/relocator.c (allocate_regstart)
15349 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15350 terminals are capabple of malloc-free operation.
15351 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15352 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15353
15354 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15355
15356 * util/grub-setup.c: Copy the partition table zone if floppy support
15357 is disabled, even if no partition table is found.
15358
15359 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15360 during POST if an invalid partition table is contained in the PBR
15361 of the active partition when GRUB is installed to a partition.
15362
15363 2011-03-28 Colin Watson <cjwatson@debian.org>
15364
15365 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15366 comment.
15367
15368 2011-03-28 Colin Watson <cjwatson@debian.org>
15369
15370 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15371 to be specific about what kind of RAID device we're scanning for.
15372
15373 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15374
15375 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15376 return freed string.
15377
15378 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15381
15382 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 Use libgeom on FreeBSD to detect partitions.
15385
15386 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15387 (grub-mkrelpath): Likewise.
15388 (grub-script-check): Likewise.
15389 (grub-editenv): Likewise.
15390 (grub-mkpasswd-pbkdf2): Likewise.
15391 (grub-fstest): Likewise.
15392 (grub-mkfont): Likewise.
15393 (grub-mkdevicemap): Likewise.
15394 (grub-probe): Likewise.
15395 (grub-setup): Likewise.
15396 (grub-ofpathname): Likewise.
15397 (grub-mklayout): Likewise.
15398 (example_unit_test): Likewise.
15399 (grub-menulst2cfg): Likewise.
15400 * grub-core/Makefile.core.def (grub-emu): Likewise.
15401 (grub-emu-lite): Likewise.
15402 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15403 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15404 define HAVE_DIOCGDINFO.
15405 (follow_geom_up) [FreeBSD]: New function.
15406 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15407 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15408 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15409 unconditionally of HAVE_DIOCGDINFO.
15410
15411 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 Fix FreeBSD compilation problem.
15414
15415 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15416 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15417
15418 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
15419
15420 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15421 Switch back to page zero before loading a kernel, since some kernel
15422 drivers expect that.
15423 Thanks to: Felix Kuehling.
15424
15425 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15428 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15429 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15430
15431 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15432
15433 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15434 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15435
15436 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15439 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15440 malloc is disabled.
15441
15442 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15445 for modules headers when counting the needed allocation size.
15446
15447 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15450 if no ASCII character is found to prevent crash.
15451
15452 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15453
15454 * grub-core/video/bitmap.c (match_extension): Ignore case.
15455
15456 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15459
15460 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 * grub-core/script/parser.y: Declare "time" as valid argument.
15463
15464 2011-03-23 Peter Jones <pjones@redhat.com>
15465
15466 Fix incorrect assert failure reporting.
15467
15468 * grub-core/tests/example_functional_test.c (example_test): Add
15469 a failure comment.
15470 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15471 (failure_start): ...this. Check that malloc succeeded.
15472 Don't call xvasprintf. Return failure struct.
15473 (failure_append_vtext): New function.
15474 (failure_append_text): Likewise.
15475 (add_failure): Likewise.
15476 (grub_test_assert_helper): Likewise.
15477 * include/grub/test.h (grub_test_assert_helper): New declaration.
15478 (grub_test_assert): Macro rewritten.
15479
15480 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15483
15484 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15487
15488 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15491 into GRUB-style one.
15492
15493 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15496 error and not grub_errno.
15497 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15498
15499 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15502 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15503
15504 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 * grub-core/efiemu/i386/pc/cfgtables.c
15507 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15508 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15509 (grub_xnu_unlock): Likewise.
15510 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15511
15512 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15515 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15516 * grub-core/commands/hashsum.c (aliases): Likewise.
15517 * grub-core/commands/setpci.c (pci_registers): Likewise.
15518 * grub-core/disk/usbms.c (attach_hook): Likewise.
15519 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15520 (zio_checksum_table): Likewise.
15521 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15522 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15523 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15524 * grub-core/lib/relocator.c (leftovers): Likewise.
15525 (extra_blocks): Likewise.
15526 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15527 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15528 (modules_last): Likewise.
15529 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15530 (devices): Likewise.
15531 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15532 (modules_last): Likewise.
15533 * grub-core/normal/auth.c (users): Likewise.
15534 * grub-core/normal/context.c (initial_menu): Likewise.
15535 (current_menu): Likewise.
15536 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15537 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15538 (grub_serial_terminfo_input_template): Likewise.
15539 (grub_serial_terminfo_output_template): Likewise.
15540 (grub_serial_terminfo_input): Likewise.
15541 (grub_serial_terminfo_output): Likewise.
15542 (registered): Likewise.
15543 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15544
15545 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15548 grub_video_mode_type_t.
15549 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15550 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15551 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15552
15553 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 * util/grub-install.in: Correct the x86-64 name as x86_64.
15556
15557 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
15558
15559 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15560 initial chunk read from the kernel always includes GRUB's multiboot
15561 header, which is now outside the first sector.
15562
15563 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
15564
15565 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15566 cached mmap_size, so that this works correctly when called multiple
15567 times.
15568 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15569
15570 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
15571
15572 * docs/grub.texi (Simple configuration): Tidy up formatting.
15573
15574 2011-03-07 Szymon Janc <szymon@janc.net.pl>
15575
15576 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15577 Set-but-not-used variable removed.
15578
15579 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 Workaround yet another IEEE1275 bug.
15582
15583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15584 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15585 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15586 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15587 is set.
15588 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15589 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15590
15591 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15594 error.
15595
15596 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
15597
15598 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
15599 empty, since in that case we can only generate either nothing or a
15600 syntactically invalid configuration file.
15601 Reported by: Michal Suchanek. Fixes Debian bug #612898.
15602
15603 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
15604
15605 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
15606 (Making a GRUB bootable CD-ROM): Likewise.
15607 (Invoking grub-mkrescue): New section.
15608 Reported by: Yann Dirson. Fixes Debian bug #612585.
15609
15610 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
15611
15612 * util/grub-install.in: Remove unnecessary brackets from tr
15613 arguments.
15614 * util/grub.d/10_hurd.in: Likewise.
15615 * util/grub.d/10_kfreebsd.in: Likewise.
15616 * util/grub.d/10_linux.in: Likewise.
15617 * util/grub.d/20_linux_xen.in: Likewise.
15618 Reported by: Jamie Heilman. Fixes Debian bug #612564.
15619
15620 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
15621
15622 * include/grub/file.h (not_easly_seekable): Rename to ...
15623 (not_easily_seekable): ... this. Update all users.
15624
15625 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
15626
15627 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
15628 grub-mkrescue.
15629
15630 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 * util/grub-mkimage.c (generate_image): Refuse to create the images
15633 bigger than the actual flash (512K) in Loongson machines. 512K is also
15634 the biggest chip supported by them.
15635
15636 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
15639
15640 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
15641
15642 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
15643 super_offset field.
15644
15645 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * util/grub-install.in: Ignore install device on platforms
15648 where it doesn't make sense. Always use UUIDs except on pc, efi and
15649 sparc64.
15650 Reported by: Daniel Kahn Gillmor.
15651
15652 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
15655
15656 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
15659 (iterate_real): Don't rely on partition being non-NULL.
15660
15661 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
15664 supported platforms. Put a compile time assert for this rather than
15665 generate a warning with 32-bit shift.
15666
15667 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
15670 logical expression more readable.
15671
15672 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
15675 even if some elements have a name.
15676 Reported by: Alexander GQ Gerasiov.
15677
15678 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
15679
15680 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
15681 path unreadable if `grub-probe -t abstraction' fails, for example if
15682 memberlist fails on an LVM volume group.
15683 Reported by: Darius Jahandarie.
15684
15685 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
15686
15687 * docs/grub.texi (Simple configuration): Document
15688 GRUB_PRELOAD_MODULES.
15689
15690 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
15691
15692 * .bzrignore: Remove nonexistent grub-pbkdf2.
15693
15694 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 * configure.ac: Bump version to 1.99~rc1.
15697
15698 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
15701 for safety.
15702
15703 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
15706 module.
15707
15708 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
15711
15712 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
15715 diskdevid.
15716
15717 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 Fix compilation on cygwin.
15720
15721 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
15722 -R .drectve on cygwin.
15723 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
15724 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
15725 (COND_CYGWIN): New condition.
15726 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
15727 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
15728 not @TARGET_OBJ2ELF@.
15729 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
15730 type to determine whether aux is to be used.
15731
15732 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
15735 realpath'ed device string.
15736 Handle floppy (somewhat).
15737 Issue error in unknown case rather than garbage.
15738 Reported by: Axel Beckert.
15739
15740 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 * util/grub.d/00_header.in (load_video): Handle the case when no video
15743 drivers available.
15744 Thanks to: Axel Beckert.
15745
15746 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
15749 variable. Fixes problem on big endian platforms.
15750
15751 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
15754 It doesn't work well there.
15755
15756 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
15759 warning.
15760 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
15761 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
15762 counter.
15763
15764 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 Use alias->path rather than buggy "canon".
15767
15768 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
15769 (ofdisk_hash_add): New argument curcan. All users updated.
15770
15771 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
15772
15773 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
15774
15775 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
15778 loadmask before doing any calculations. Use correct type for offset.
15779 (grub_linux_load64): Likewise.
15780
15781 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
15782
15783 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
15784 with NULL.
15785 (console_grub_equivalences_unshift): Likewise.
15786 Reported by: Daniel Dehennin.
15787
15788 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
15791 (set_env_limn_ro): Likewise.
15792 (GRUB_MOD_INIT): Likewise.
15793 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
15794 ARRAY_SIZE while on it.
15795 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
15796 * grub-core/normal/context.c (grub_env_export): Move from here ...
15797 * grub-core/kern/env.c (grub_env_export): ... here.
15798 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
15799 prefix.
15800 * grub-core/kern/main.c (grub_main): Export root and prefix.
15801 * include/grub/env.h (grub_env_export): Export.
15802 Reported by: Seth Goldberg.
15803
15804 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15807 Take into account space used by ELF sections and multiboot palette.
15808 Reported by: Grégoire Sutre.
15809
15810 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 * BUGS: New file.
15813
15814 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 Pass more appropriate video id to Linux.
15817
15818 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
15819 grub_video_get_driver_id and variable gfxpayloadforcelfb to
15820 fill have_vga.
15821 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
15822 shift params->lfb_size.
15823 * include/grub/i386/linux.h: Make an enume out of have_vga values.
15824
15825 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * util/grub-menulst2cfg.c: Add missing include of misc.h.
15828
15829 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
15832 separator and pass bootpath/devid even if only one of them is available.
15833 Reported by: Seth Goldberg.
15834
15835 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
15838 implementations bug on them.
15839
15840 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
15841 memory.
15842 (filter_memory_map): Likewise.
15843
15844 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
15847 Reported by: nebuchadnezzar.
15848
15849 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
15852 Reported by: nebuchadnezzar.
15853
15854 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 Submenu default support.
15857
15858 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
15859 auto_boot. All users updated.
15860 Declared static.
15861 Handle chosen and default with submenus.
15862 (grub_menu_execute_with_fallback): Declared static.
15863 Don't notify failure if autobooted. Upper level does it.
15864 (menuentry_eq): New function.
15865 (get_entry_number): Use menuentry_eq.
15866 (show_menu): New parameter "autobooted". All users updated.
15867 (grub_show_menu): Likewise.
15868 * include/grub/normal.h (grub_show_menu): Likewise.
15869 * include/grub/menu.h (grub_menu_execute_entry): Removed.
15870 (grub_menu_execute_with_fallback): Likewise.
15871
15872 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 * util/grub-mklayout.c (usage): Update help text.
15875
15876 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
15879
15880 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * util/grub-menulst2cfg.c (main): Trim the line.
15883
15884 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
15887 (grub_machine_init): Don't check amount of low memory as reportedly
15888 INT 12h can be broken and if low memory is too low we wouldn't have
15889 gotten into grub_machine_init anyway.
15890
15891 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
15894 (grub_machine_mmap_iterate): Take low memory into account
15895
15896 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
15899 badfs.
15900 Reported by: TiCPU.
15901
15902 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
15905 members errors.
15906
15907 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15908
15909 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
15910 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
15911
15912 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15913
15914 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
15915 openbsd and netbsd types being in part_bsd module.
15916
15917 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
15920 (_FILE_OFFSET_BITS): Likewise.
15921 Reported by: Seth Goldberg.
15922
15923 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15924
15925 * configure.ac: Check for libdevmapper header.
15926
15927 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
15930 avoid aliasing.
15931 (fzap_lookup): Likewise.
15932 (dnode_get): Likewise.
15933 (make_mdn): Likewise.
15934 (zfs_mount): Likewise.
15935 (fzap_iterate): Use temporary pointer to avoid aliasing.
15936 (grub_zfs_read): Likewise.
15937 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
15938 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
15939 pointers to avoid aliasing.
15940 (grub_cmd_xnu_kernel64): Likewise.
15941 (grub_xnu_load_driver): Likewise.
15942
15943 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
15946 aliasing warning.
15947 (grub_cmd_terminal_output): Likewise.
15948 Reported and tested by: Grégoire Sutre.
15949
15950 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
15953 warning.
15954 Reported and tested by: Grégoire Sutre.
15955
15956 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * configure.ac: Do CPU substitution even if it's specified explicitly.
15959 Reported and tested by: Alain Greppin.
15960
15961 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
15964 Reported and tested by: Alain Greppin.
15965
15966 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 Satisfy some bison versions need for inttypes.h.
15969
15970 * grub-core/lib/posix_wrap/inttypes.h: New file.
15971 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
15972 (int16_t): Likewise.
15973 (int32_t): Likewise.
15974 (int64_t): Likewise.
15975 Reported and tested by: Alain Greppin.
15976
15977 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
15980 Silence spurious warning.
15981 Reported and tested by: Alain Greppin.
15982
15983 2011-01-07 Szymon Janc <szymon@janc.net.pl>
15984
15985 * docs/grub.texi (Support automatic decompression): Update with xz
15986 decompression support.
15987
15988 2011-01-07 Szymon Janc <szymon@janc.net.pl>
15989
15990 Improve loaders' kernel command line handling.
15991
15992 * grub-core/lib/cmdline.c: New file.
15993 * include/grub/lib/cmdline.h: Likewise.
15994 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
15995 grub_create_loader_cmdline to create kernel command line.
15996 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15997 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
15998 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
15999 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16000 (linux): Add lib/cmdline.c on common.
16001
16002 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16005 inopos might be unaligned.
16006
16007 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16010 endian transformations.
16011 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16012 Based on report by: Doug Nazar.
16013
16014 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
16015
16016 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16017 array->members[i].start_sector.
16018 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16019
16020 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16023 Reported and tested by: Grégoire Sutre.
16024
16025 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
16026
16027 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16028 avoid causing test failures by clearing the screen.
16029
16030 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
16031
16032 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16033 Fix prefix check to handle the case where dir ends with a slash
16034 (most significantly, "/" itself).
16035 Reported by: Michael Vogt.
16036
16037 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 Run terminfo_cls on initing terminfo output to clear the screen and
16040 move the cursor to (0,0).
16041
16042 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16043 Call grub_terminfo_output_init.
16044 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16045 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16046 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16047
16048 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16051 only when needed.
16052
16053 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16056 CTRL.
16057
16058 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16059
16060 The E820 type 5 is BADRAM, not EXEC_CODE.
16061
16062 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16063 (GRUB_E820_BADRAM): New define.
16064 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16065 into reserved. Propagate BADRAM.
16066 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16067 (GRUB_E820_BADRAM): New define.
16068
16069 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16072 Ignore the memory post-4G.
16073 (grub_relocator_firmware_alloc_region): Additional debug statement.
16074
16075 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16078 names.
16079 Reported by: David Pravec.
16080
16081 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16084 BIOSes.
16085
16086 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16089 Prevent overflow.
16090 (grub_reed_solomon_recover): Likewise.
16091
16092 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16093
16094 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16095
16096 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16099 variable.
16100
16101 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
16102
16103 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16104 descriptions of extract_legacy_entries_source and
16105 extract_legacy_entries_configfile.
16106 Reported by: Seung Soo, Ha.
16107
16108 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
16109
16110 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16111 on devices that do not implement function 0.
16112
16113 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16114
16115 * grub-core/fs/hfsplus.c: Make parent unsigned.
16116 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16117 overflows.
16118 (grub_hfsplus_cmp_extkey): Likewise
16119
16120 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * util/grub-install.in: Correctly use bootloader_id and not
16123 GRUB_DISTRIBUTOR on efibootmgr line.
16124
16125 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16128
16129 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
16130
16131 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16132 Xen and reorder menu item wording to make it clearer that this entry
16133 will launch Xen. Print separate messages when loading Xen and
16134 Linux.
16135
16136 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16139 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16140 loop in case of incorrect amiga partmap.
16141
16142 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16145 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16146 Reported by:EHeM.
16147
16148 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16151 spurious warning.
16152 Reported by: crocket
16153
16154 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16157 Preload EFIemu.
16158 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16159
16160 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16163 is loaded
16164 (grub_cmd_xnu_kextdir): Likewise.
16165 (grub_cmd_xnu_splash): Likewise.
16166
16167 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 Avoid using Reed-Solomon with 0 redundancy.
16170
16171 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16172 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16173 or 0 redundancy.
16174 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16175 (grub_reed_solomon_recover): Likewise.
16176
16177 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 Don't use disk subsystem in freebsd_boot.
16180
16181 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16182 (freebsd_biosdev): Likewise.
16183 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16184 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16185
16186 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 Handling of files of unknown size is currently limited. They can't be
16189 used e.g. for initrd or modules. Moreover gzip handling of not
16190 easily seekable files is buggy. Disable unknown file size for now. May
16191 be inefficient but works.
16192
16193 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16194 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16195
16196 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16197
16198 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16199 floppy probe.
16200
16201 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16202
16203 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16204
16205 2010-12-25 Shea Levy <shlevy>
16206
16207 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16208
16209 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16212 Windows Server 2008.
16213 Reported by: Devin Giddings.
16214
16215 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16216
16217 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16218 writing an error message because of async power management.
16219 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16220 (grub_reboot): Likewise.
16221
16222 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16223
16224 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16225 keep unit tests from failing when they shouldn't.
16226
16227 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
16228
16229 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16230 previous patch increased the size of the RS code by 20 bytes (at
16231 least with gcc-4.4), so increase this by 20 bytes to match.
16232 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16233
16234 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
16235
16236 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16237 scratch area. Make sure to initialise chosen in standalone mode as
16238 well as non-standalone.
16239 Reported by: Robert Hooker and Andy Whitcroft.
16240 Tested by: Andy Whitcroft.
16241
16242 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
16243
16244 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16245 constructing a new unescaped string and passing it to grub_xputs in
16246 one go, rather than passing characters to grub_printf one at a time.
16247
16248 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
16249
16250 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16251 initialising utf16.
16252
16253 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
16254
16255 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16256 comment. Add an extra layer of quotation, requiring the output of
16257 this function to be used in a printf format string.
16258 (gettext_printf): New function.
16259 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16260 Extract translatable strings from here-documents and use a temporary
16261 variable instead, so that xgettext can find them.
16262 * util/grub.d/10_kfreebsd.in: Likewise.
16263 * util/grub.d/10_linux.in: Likewise.
16264 * util/grub.d/20_linux_xen.in: Likewise.
16265
16266 * po/grub.d.sed: New file.
16267 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16268 arguments. Set c-format flags on all strings extracted from
16269 util/grub.d/ (xgettext refuses to include these itself for strings
16270 it extracted from a shell file, but these really are c-format).
16271
16272 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16273
16274 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16275 Avoid next pointing to nowhere.
16276
16277 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16280 rather than assuming than rootblock is exactly in the middle.
16281 (grub_affs_label): Likewise.
16282
16283 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16286 reserved_first_sector to 0.
16287 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16288 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16289 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16290
16291 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Fix handling of UTF-16 UDF labels.
16294
16295 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16296 (read_string): .. here.
16297 (grub_udf_label): Use read_string.
16298
16299 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16300
16301 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16302 editor under argument scope.
16303 Reported by: Jordan Uggla
16304
16305 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16306
16307 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16308
16309 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
16310
16311 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16312 line, and other keys scroll an entire page (previous handling was
16313 for \r and \n to scroll a page and other keys to scroll two lines).
16314
16315 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16316
16317 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16318 Set ptrdest to correct get_physical_target_address rather than
16319 incorrect get_virtual_current_address.
16320
16321 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16322
16323 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16324 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16325
16326 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
16327
16328 * .bzrignore: Ignore grub-core/rs_decoder.S.
16329
16330 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
16331
16332 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16333 .mo/.mo.gz opening sequence to ...
16334 (grub_mofile_open_lang): ... here.
16335 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16336 * util/grub.d/00_header.in (grub_lang): Include country part of
16337 locale.
16338 Reported by: Mario Limonciello.
16339
16340 2010-12-09 Robert Millan <rmh@gnu.org>
16341
16342 * NEWS: Document addition of ZFS support.
16343
16344 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
16345
16346 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16347 rather than `/ 2', as the latter requires -Wa,--divide which would
16348 require bumping our minimum binutils version.
16349
16350 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16351
16352 * util/grub-script-check.c (main): Print script line number on
16353 error.
16354
16355 2010-12-01 Robert Millan <rmh@gnu.org>
16356
16357 * grub-core/fs/zfs/zfs.c: New file.
16358 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16359 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16360 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16361 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16362
16363 * include/grub/zfs/dmu.h: Likewise.
16364 * include/grub/zfs/dmu_objset.h: Likewise.
16365 * include/grub/zfs/dnode.h: Likewise.
16366 * include/grub/zfs/dsl_dataset.h: Likewise.
16367 * include/grub/zfs/dsl_dir.h: Likewise.
16368 * include/grub/zfs/sa_impl.h: Likewise.
16369 * include/grub/zfs/spa.h: Likewise.
16370 * include/grub/zfs/uberblock_impl.h: Likewise.
16371 * include/grub/zfs/vdev_impl.h: Likewise.
16372 * include/grub/zfs/zap_impl.h: Likewise.
16373 * include/grub/zfs/zap_leaf.h: Likewise.
16374 * include/grub/zfs/zfs.h: Likewise.
16375 * include/grub/zfs/zfs_acl.h: Likewise.
16376 * include/grub/zfs/zfs_znode.h: Likewise.
16377 * include/grub/zfs/zil.h: Likewise.
16378 * include/grub/zfs/zio.h: Likewise.
16379 * include/grub/zfs/zio_checksum.h: Likewise.
16380
16381 * Makefile.util.def: Build ZFS into libgrubmods.
16382 * grub-core/Makefile.core.def: Build zfs.mod.
16383
16384 2010-11-30 Szymon Janc <szymon@janc.net.pl>
16385
16386 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16387 variable.
16388 * grub-core/commands/wildcard.c (match_files): Likewise.
16389
16390 2010-11-30 Robert Millan <rmh@gnu.org>
16391
16392 * grub-core/loader/i386/bsd.c
16393 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16394 whether kernel is loaded using grub_loader_is_loaded(), rather
16395 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16396 certain error conditions.
16397
16398 2010-11-30 Robert Millan <rmh@gnu.org>
16399
16400 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16401 (grub_cmd_echo): Call grub_refresh() after printing a message.
16402
16403 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 Avoid using tricks for initialising endian variables.
16406
16407 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16408 Make const.
16409 (GRUB_MOD_INIT): Don't byte-swap.
16410 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16411 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16412 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16413 (grub_swap_bytes32_compile_time): Likewise.
16414 (grub_cpu_to_le32_compile_time): Likewise.
16415 (grub_cpu_to_le16_compile_time): Likewise.
16416
16417 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 * util/grub-setup.c (setup): Stop recommending --force. People who
16420 understand the dangers of blocklists are able to find this option
16421 anyway and the ones who don't shouldn't use it anyway.
16422
16423 2010-11-26 Robert Millan <rmh@gnu.org>
16424
16425 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16426 Update all users.
16427
16428 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
16429
16430 Fix LVM-on-RAID probing.
16431
16432 * util/grub-probe.c (probe): Remember which disk was detected as
16433 RAID (perhaps an LVM physical volume). Use that disk's raidname
16434 rather than that of the top-level disk.
16435
16436 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
16437
16438 Fix cmdline argument quotes for setparams command of menuentry
16439 definitions.
16440
16441 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16442 quotes for arguments.
16443 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
16444 grub_strchrsub function instead.
16445
16446 * include/grub/misc.h (grub_strchrsub): New function.
16447
16448 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
16449
16450 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16451 effort by skipping "." and ".." entries up-front.
16452 Suggested by: Michael Lazarev.
16453
16454 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
16455
16456 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16457 ldflags to ldadd, to fix link line ordering.
16458 (none_decompress): Likewise.
16459
16460 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
16461
16462 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16463 platforms.
16464 (grub-emu-lite): Remove kern/emu/cache.S.
16465
16466 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
16467
16468 * util/deviceiter.c (compare_devices): If the by-id link for a
16469 device couldn't be resolved, fall back to sorting by the by-id link
16470 rather than segfaulting.
16471 Reported and tested by: Daniel Mierswa.
16472
16473 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
16474
16475 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16476 ldflags, to fix link line ordering.
16477
16478 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
16479
16480 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16481 linkers are picky about this.
16482
16483 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
16484
16485 * grub-core/Makefile.am (command.lst): Adjust sed expression
16486 ordering so that extended and priority commands aren't treated as
16487 ordinary commands.
16488
16489 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
16490
16491 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16492 Remove byte-swapping function calls, which are not valid in
16493 structure initialisers.
16494 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16495 non-const.
16496 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16497 grub_gpt_partition_type_bios_boot.
16498
16499 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
16500
16501 Fix test program build on GNU/kFreeBSD.
16502
16503 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16504 $(LIBNVPAIR)' library dependencies.
16505
16506 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
16507
16508 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16509
16510 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
16511
16512 * util/grub-install.in: Remove excessive quoting that broke
16513 installations to RAID devices.
16514
16515 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16516
16517 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16518 bootloader version instead of 0.
16519
16520 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16523 warning.
16524
16525 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16528 retrieve the metadat sector if size isn't known.
16529 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16530
16531 2010-11-18 Robert Millan <rmh@gnu.org>
16532
16533 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16534 with grub_memcmp().
16535
16536 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16539 arrow.
16540 Reported by: Jordan Uggla.
16541
16542 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 Make better UTF compliant.
16545
16546 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16547 sequences as incorrect.
16548 (grub_is_valid_utf8): Likewise.
16549 (grub_utf8_to_ucs4): Likewise.
16550 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16551 (grub_ucs4_to_utf8_alloc): Likewise.
16552 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16553
16554 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16555
16556 Make legacy_source behave like source.
16557
16558 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16559 grub_show_menu.
16560 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16561
16562 2010-11-16 Colin Watson <cjwatson@debian.org>
16563
16564 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16565 (-Wunused implies -Wunused-parameter, but not vice versa).
16566
16567 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
16568
16569 * configure.ac: Make error messages less confusing by testing for
16570 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16571 accepted, but produces a diagnostic if something else is wrong).
16572
16573 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16576 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16577 (now unused).
16578 (grub_keyboard_controller_init)
16579 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16580 read the initial state since controller isn't inited yet.
16581
16582 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16585 allocate_regbeg may need to create new chunk header.
16586
16587 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 Fix quoting in legacy parser.
16590
16591 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16592 single quotes.
16593 (grub_legacy_parse): Likewise.
16594 Reported by: Jordan Uggla.
16595 Tested by: Jordan Uggla.
16596
16597 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 Don't add -lgcc on i386 and x86_64.
16600
16601 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
16602 * conf/Makefile.common (LDADD_KERNEL): Likewise.
16603 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
16604
16605 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * configure.ac: Add -Wno-trampolines when supported.
16608
16609 2010-11-14 Modestas Vainius <modax@debian.org>
16610
16611 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
16612 fakeraid.
16613
16614 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16615
16616 Add generic logical block size support for UDF.
16617
16618 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
16619 (GRUB_UDF_BLKSZ): Removed.
16620 (struct grub_udf_data): New field "lbshift" to hold the logical block
16621 size of the file system in log2 format. All users updated.
16622 (sblocklist): Change type to unsigned.
16623 (grub_udf_mount): Change type of "sblklist" to unsigned.
16624 Move AVDP search before VRS recognition, because the latter requires
16625 knowledge of the logical block size, which is detected during the
16626 former.
16627 Detect and validate logical block size during AVDP search, adding
16628 support for block sizes 512, 1024 and 4096.
16629 Make VRS recognition independent of block size.
16630
16631 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16632
16633 Properly handle deleted files on UDF.
16634
16635 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
16636 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
16637 set.
16638
16639 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16640
16641 Support reading files larger than 2 GiB.
16642
16643 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
16644 "offset" to grub_off_t.
16645 (grub_udf_read_file): Likewise for parameter "pos".
16646
16647 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
16650 unavailable.
16651 (Simple configuration): Refer to Changes from GRUB Legacy about
16652 save_env availability.
16653
16654 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * util/grub-install.in: Ignore empty partition table detection
16657 instead of trying to include part_ module.
16658
16659 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
16662 LVM on RAID support.
16663
16664 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 Properly define WORDS_BIGENDIAN in wrapped environments.
16667
16668 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
16669 definition.
16670 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
16671
16672 Reported by: Manoel Rebelo Abranches.
16673 Tested by: Manoel Rebelo Abranches.
16674
16675 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * util/grub-mkconfig.in: Fix quoting.
16678
16679 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 Support big ext2 files.
16682
16683 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
16684 (grub_ext2_read_block): Support triple indirect blocks.
16685 (grub_ext2_read_file): Use 64-bit types and read size_high.
16686 (grub_ext2_open): Read size_high.
16687 Reported by: Ximin Luo.
16688 Tested by: Manoel Rebelo Abranches.
16689
16690 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 * util/grub-install.in: Handle filenames containing spaces.
16693 Reported by: Jordan Uggla.
16694 Tested by: Jordan Uggla.
16695
16696 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 * util/grub-mkconfig.in (grub_script_check): New variable.
16699 Use grub_script_check instead of grub-script-check.
16700 Reported by: Barry Jackson.
16701
16702 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16703
16704 * docs/grub.texi (menu): Correct the order.
16705 Reported by: D. Hugh Redelmeier.
16706
16707 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
16710 jump.
16711
16712 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16713
16714 * include/grub/elfload.h (grub_elf32_size): New parameter.
16715 All users updated.
16716 Return maximum segments alignment.
16717 (grub_elf64_size): Likewise.
16718 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
16719 Return maximum segments alignment.
16720 (grub_elf64_size): Likewise.
16721 * grub-core/loader/powerpc/ieee1275/linux.c:
16722 (grub_linux_claimmap_iterate): New function. Uses the
16723 "available" property in the "memory" node for memory allocation
16724 for kernel in the PowerPC loader.
16725 (grub_linux_load32): Correctly find linux entry point offset.
16726 (grub_linux_load64): Likewise.
16727
16728 2010-11-07 Robert Millan <rmh@gnu.org>
16729
16730 On mips-yeeloong, build with -march=loongson2f when this flag is
16731 available (GCC >= 4.4).
16732 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
16733 `-march=mips3'.
16734 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
16735 or otherwise add -march=mips3.
16736
16737 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
16738
16739 Suppress shell expansion on echo '*' and echo "*" like cases.
16740 Reported by: Jordan Uggla.
16741
16742 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
16743 string arguments before shell expansion.
16744 * tests/grub_cmd_echo.in: New testcases.
16745
16746 2010-11-07 Robert Millan <rmh@gnu.org>
16747
16748 * conf/mips-qemu-mips.rmk: Remove stale file from previous
16749 transition.
16750
16751 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 * grub-core/kern/emu/hostdisk.c
16754 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
16755
16756 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
16759 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
16760 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
16761
16762 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
16765
16766 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16767
16768 * util/grub-install.in: Replace useless recomendation to pass
16769 --modules with a recomendation to report a bug.
16770
16771 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 Properly register serial terminfo.
16774 Reported by: Jordan Uggla
16775
16776 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
16777 const.
16778 (grub_serial_terminfo_output_template): Likewise.
16779 (grub_cmd_serial): Register "serial" with terminfo.
16780 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
16781 grub_serial_terminfo_output.
16782
16783 2010-11-05 Robert Millan <rmh@gnu.org>
16784
16785 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
16786 needed).
16787
16788 2010-11-05 Robert Millan <rmh@gnu.org>
16789
16790 On Yeeloong, pass machine type information to Linux.
16791
16792 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
16793 (LOONGSON_MACHTYPE): New macro, set to
16794 "machtype=lemote-yeeloong-2f-8.9inches".
16795 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
16796 additional argument to Linux.
16797
16798 2010-11-04 Robert Millan <rmh@gnu.org>
16799
16800 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
16801 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
16802 (its SATA disks are detected as slaveless IDE master drives on
16803 kFreeBSD).
16804 Reported by Carsten Aulbert.
16805
16806 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
16807
16808 * util/bin2h.c (main): Fix spelling error in generated output.
16809
16810 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
16811
16812 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
16813
16814 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
16817 vga= option is supplied.
16818
16819 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
16822 * util/grub.d/10_kfreebsd.in: Likewise.
16823 * util/grub.d/10_linux.in: Likewise.
16824 * util/grub.d/20_linux_xen.in: Likewise.
16825
16826 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
16829 argument as an argument to no-argument option.
16830
16831 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 * util/grub.d/10_linux.in: Add missing load_video with explicit
16834 GRUB_GFXPAYLOAD_LINUX.
16835
16836 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16837
16838 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
16839
16840 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16841
16842 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
16843 elements with invlid index.
16844 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16845 * grub-core/disk/raid.c (insert_array): Automatically reallocate
16846 members.
16847 * include/grub/raid.h (grub_raid_member): New struct.
16848 (grub_raid_array): Transform devices and start_sector into usage of
16849 grub_raid_member. All users updated
16850 (allocated_devs): New member.
16851
16852 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
16855 is modified
16856
16857 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
16858
16859 NetBSD build fix for getline function conflict from gnulib.
16860
16861 * Makefile.util.def (libgrubkern.a): New library for grub kernel
16862 components that depend on gnulib headers.
16863 (libgrubmods.a): Renamed from earlier libgrub.a.
16864 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
16865
16866 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16867
16868 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
16869 install rather than creating a broken install.
16870
16871 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 * util/grub-setup.c (argp): Remove misleading example of installing to
16874 a partition.
16875
16876 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * util/grub-setup.c (setup): Clarify the error message.
16879
16880 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
16883
16884 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 * grub-core/kern/emu/misc.c
16887 (grub_make_system_path_relative_to_its_root)
16888 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
16889
16890 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16891
16892 * grub-core/kern/emu/misc.c
16893 (grub_make_system_path_relative_to_its_root): Revert r2882.
16894
16895 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
16896
16897 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
16898 useless field head. All users updated.
16899 (free_subchunk): Correct handling of IN_REGION subchunk.
16900
16901 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
16902
16903 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
16904 (Supported kernels): Likewise.
16905
16906 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16907
16908 Make mktemp invocations portable.
16909
16910 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
16911 exit if mktemp fails.
16912 * tests/grub_script_blockarg.in: Likewise.
16913 * tests/partmap_test.in: Likewise.
16914 * tests/util/grub-shell-tester.in: Likewise.
16915 * tests/util/grub-shell.in: Likewise.
16916 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16917 * Makefile.am: Likewise, and chain shell commands with `&&'
16918 instead of ';'.
16919 * util/grub-mkrescue.in: Use the same explicit template as above, and
16920 exit if mktemp fails.
16921
16922 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
16923
16924 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
16925 Linux kernel, reported by Dennis Schridde.
16926
16927 2010-10-17 Szymon Janc <szymon@janc.net.pl>
16928
16929 * grub-core/normal/auth.c (grub_auth_check_authentication):
16930 Set-but-not-used variable removed.
16931
16932 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 * docs/grub.texi (GNU/Linux): Document APM unavailability with
16935 32-bit linux protocol.
16936
16937 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16938
16939 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
16940 cursor shape for sanity.
16941
16942 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16943
16944 * docs/grub.texi (Installation): Document buggy BIOS install.
16945
16946 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 * docs/grub.texi (Installation): Indent.
16949
16950 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * util/grub-setup.c (setup): New parameter allow_floppy.
16953 (arguments): New member allow_floppy.
16954 (argp_parser): Handle --allow-floppy.
16955 (main): Pass allow_floppy.
16956 * util/grub-install.in: New option --allow-floppy passed though to
16957 grub-setup.
16958
16959 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 * util/grub-install.in: Handle partitionless disks.
16962
16963 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16964
16965 * util/grub-setup.c (setup): Don't clean blocklists before readability
16966 verfification.
16967
16968 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16969
16970 * docs/grub.texi (Installation): Document embedding zone. Remove
16971 obsolete grub-install example.
16972
16973 2010-10-16 Szymon Janc <szymon@janc.net.pl>
16974
16975 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
16976 Set-but-not-used variable ifdef'ed.
16977 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
16978 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
16979 variable removed.
16980 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
16981 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
16982 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16983 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
16984 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
16985 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16986 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
16987 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
16988 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
16989 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
16990 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
16991 Likewise.
16992
16993 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
16996 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
16997 enum value.
16998
16999 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17002 synonym to _S5_. Needed for some DSDTs.
17003
17004 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 Userspace ACPI parser debugging.
17007
17008 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17009 headers and add relevant defines. Don't include standard headers.
17010 (main) [GRUB_DSDT_TEST]: New function.
17011 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17012 Don't declare functions.
17013
17014 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 Remove dead grub_efi_mm_fini.
17017
17018 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17019 (ALLOCATED_PAGES_SIZE): Likewise.
17020 (MAX_ALLOCATED_PAGES): Likewise.
17021 (allocated_pages): Likewise.
17022 (grub_efi_allocate_pages): Don't record allocated pages.
17023 (grub_efi_free_pages): Likewise.
17024 (grub_efi_mm_init): Likewise.
17025 (grub_efi_mm_fini): Removed.
17026
17027 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17030 (grub_efi_mm_init): Take into account the memory map size increase.
17031
17032 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17033
17034 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17035 (serial_hw_put): Wait based on real time rather than port reads. Don't
17036 roken ports.
17037 * include/grub/serial.h (grub_serial_port): New field broken.
17038
17039 2010-10-16 Robert Millan <rmh@gnu.org>
17040
17041 * grub-core/kern/emu/misc.c
17042 (grub_make_system_path_relative_to_its_root): Fix premature return
17043 when processing non-root ZFS filesystems.
17044 Reported by Sergio Talens-Oliag.
17045
17046 2010-10-15 Robert Millan <rmh@gnu.org>
17047
17048 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17049 guarantee compressed ones are processed first.
17050
17051 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17054 grub_efiemu_autocore.
17055
17056 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17059 rather than 0x1b.
17060 (grub_console_getkey): Use correct jae opcode rather than ja.
17061
17062 2010-10-12 Robert Millan <rmh@gnu.org>
17063
17064 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17065 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17066 variable. All references updated.
17067
17068 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17069
17070 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 Correctly distinguish mdraid flavours.
17073
17074 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17075 (insert_array): New argument raid.
17076 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17077 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17078 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17079
17080 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17083 handling of special keys.
17084
17085 2010-10-02 Aleš Nesrsta <starous@volny.cz>
17086
17087 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17088 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
17089
17090 2010-10-02 Aleš Nesrsta <starous@volny.cz>
17091
17092 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17093 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17094 users updated.
17095 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
17096 Use right endpoint when querying descriptor.
17097
17098 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 Clear out 0x80 color bit on EFI.
17101 Tested by: decoder
17102 Reported by: decoder and meta tech.
17103
17104 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17105 (grub_console_setcolorstate): Clear out 0x80 bit.
17106 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17107 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17108 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17109
17110 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17113 Set to "auto".
17114
17115 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17118 mo_file after freeing.
17119
17120 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17123
17124 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17127 flags.
17128
17129 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17132 usage.
17133
17134 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17137
17138 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17139 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17140 and terminfo.h when needed.
17141 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17142 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17143 (terminfo): Enable only on terminfokernel.
17144 (extcmd): Likewise.
17145 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17146 * include/grub/lib/arg.h: Likewise.
17147 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17148 incorrect usage of ->.
17149
17150 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17153 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17154
17155 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17156
17157 Fix coreboot compilation.
17158
17159 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17160 Take VBE info into account even if only text is supported.
17161 (fill_vbe_info): Take into account the case when only VGA text
17162 is supported.
17163 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17164 on coreboot, multiboot and qemu.
17165
17166 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17169 debug messages.
17170 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17171
17172 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17175 parameters.
17176
17177 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17178
17179 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17180 if they were BSD-style.
17181
17182 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * grub-core/boot/i386/pc/lnxboot.S: Replace
17185 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17186 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17187
17188 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 Write embedding zone using Reed-Solomon.
17191
17192 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17193 * grub-core/Makefile.am (rs_decoder.S): New target.
17194 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17195 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17196 (multiboot): Move to RS part.
17197 (post_reed_solomon): New label.
17198 (grub_boot_drive): Move to non-RS part since it's modified in memory
17199 on boot.
17200 Include rs_decoder.S.
17201 * grub-core/lib/reed_solomon.c: New file.
17202 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17203 New definition.
17204 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17205 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17206 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17207 * include/grub/partition.h (grub_partition_map): Change prototype of
17208 embed to allow returning additional sectors.
17209 * include/grub/reed_solomon.h: New file.
17210 * util/grub-setup.c (setup): Handle Reed-Solomon.
17211
17212 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
17213
17214 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17215 i386 and x86-64 definedness tests.
17216
17217 2010-09-27 Yves Blusseau <blusseau@zetam.org>
17218
17219 Fix generation of kernel_syms.lst
17220
17221 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17222 ASM_PREFIX
17223
17224 2010-09-26 Robert Millan <rmh@gnu.org>
17225
17226 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17227
17228 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17229 the pool is an array of devices, iterate through it and return the
17230 first device that passes a stat() test (instead of blindly returning
17231 the first one).
17232
17233 2010-09-26 Robert Millan <rmh@gnu.org>
17234
17235 Build fixes for GNU/kFreeBSD.
17236
17237 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17238 to programs that require ZFS conversion.
17239 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17240 kernels that don't have FLOPPY_MAJOR.
17241
17242 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17243
17244 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17245
17246 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17247
17248 Fix grub-emu build.
17249
17250 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17251 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17252 mdraid09 and mdraid1x.
17253
17254 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
17255
17256 Re-enable grub-extras.
17257
17258 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17259 avoid confusing Automake. Run autogen only twice, once for the top
17260 level and once for grub-core. Add Makefile.util.def and
17261 Makefile.core.def from extra modules to the appropriate autogen
17262 invocations. If Makefile.common exists in an extra module, include
17263 it in both Makefile.util.am and grub-core/Makefile.core.am;
17264 similarly, include any Makefile.util.common file in Makefile.util.am
17265 and any Makefile.core.common file in grub-core/Makefile.core.am.
17266 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17267 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17268 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17269 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17270
17271 * gentpl.py (gvar_add): Turn GVARS into a set.
17272 (global_variable_initializers): Sort global variables on output.
17273 (vars_init): New function.
17274 (first_time): Likewise.
17275 (library): Ensure that non-global variable initialisations are
17276 emitted before the first time we emit code for a library block.
17277 Append to variables rather than setting them. Only emit
17278 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17279 each conditional path.
17280 (program): installdir() emits an Autogen macro, so must be passed to
17281 var_add rather than gvar_add.
17282 (data): Likewise.
17283 (script): Likewise.
17284 (rules): New function, centralising handling for different target
17285 types. Set up Guile association lists for first_time and vars_init,
17286 and send most output to a diversion so that variable initialisations
17287 can be emitted first.
17288 (module_rules): Use new rules function.
17289 (kernel_rules): Likewise.
17290 (image_rules): Likewise.
17291 (library_rules): Likewise.
17292 (program_rules): Likewise.
17293 (script_rules): Likewise.
17294 (data_rules): Likewise.
17295
17296 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17297
17298 * .bzrignore: Add contrib and grub-core/contrib. Remove
17299 grub-core/Makefile.gcry.am.
17300
17301 2010-09-24 Yves Blusseau <blusseau@zetam.org>
17302
17303 * grub-core/lib/LzFind.c: Add missing include.
17304 * grub-core/lib/LzmaEnc.c: Likewise.
17305 * grub-core/script/lexer.c: Likewise.
17306 * grub-core/script/yylex.l: Likewise.
17307 * util/grub-macho2img.c: Likewise.
17308 * util/grub-menulst2cfg.c: Likewise.
17309 * util/grub-mklayout.c: Likewise.
17310 * util/grub-mkpasswd-pbkdf2.c
17311 * util/grub-mkrelpath.c: Likewise.
17312 * util/resolve.c: Likewise.
17313
17314 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17315
17316 * Makefile.util.def (example_unit_test): Add
17317 grub-core/gnulib/libgnu.a.
17318
17319 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17320
17321 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17322
17323 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17324
17325 Support xz compression on yeeloong.
17326
17327 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17328 * configure.ac: Check for LZMA.
17329 * grub-core/Makefile.core.def (xz_decompress): New target.
17330 (none_decompress): Likewise.
17331 * grub-core/boot/decompressor/minilib.c: New file.
17332 * grub-core/boot/decompressor/none.c: Likewise.
17333 * grub-core/boot/decompressor/xz.c: Likewise.
17334 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17335 * grub-core/kern/mips/cache_flush.S: Likewise.
17336 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17337 * grub-core/kern/mips/startup.S: Move first stage to ...
17338 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17339 nomacro.
17340 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17341 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17342 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17343 Allocate statically.
17344 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17345 Allocate statically or use scratch. Don't check CRC32.
17346 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17347 Allocate statically. Don't check CRC32.
17348 * include/grub/decompressor.h: New file.
17349 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17350 Removed.
17351 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17352 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17353 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17354 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17355 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17356 * util/grub-mkimage.c (grub_compression_t): New type.
17357 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17358 (image_target_desc): New field default_compression.
17359 (image_targets): Adjust yeeloong targets.
17360 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17361 (compress_kernel): New parameter comp.
17362 (generate_image): Likewise. Handle new compression case.
17363 (options): New option --compression
17364 (help): Likewise.
17365 (main): Handle new option.
17366
17367 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17368
17369 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17370
17371 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
17372
17373 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17374 typo in __i386__ conditional.
17375
17376 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17379 include.
17380
17381 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 Implement EFI and ACPI multiboot2 extensions.
17384
17385 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17386 new tags as supported.
17387 (acpiv2_size): New function.
17388 (grub_multiboot_get_mbi_size): Take new tags into account.
17389 (grub_multiboot_make_mbi): Add new tags.
17390 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
17391
17392 2010-09-21 Aleš Nesrsta <starous@volny.cz>
17393
17394 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17395 Added missing configuration of USB device.
17396
17397 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17398
17399 * grub-core/normal/menu_entry.c (run): Make sure we always return
17400 a value.
17401
17402 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17403
17404 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17405 NumberOfPages is UINT64 according to the UEFI specification, not
17406 UINTN. Fix printf format.
17407
17408 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17409
17410 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17411 `err' to grub_usb_err_t.
17412 Reported and tested by: KESHAV P.R.
17413
17414 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17415
17416 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17417 tpart non-const, so that we can assign to it. (Since this is a
17418 typedef, the constness refers to the pointer rather than what it
17419 points to.)
17420
17421 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17422
17423 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17424 $(top_srcdir)/grub-core/gnulib as well as
17425 $(top_builddir)/grub-core/gnulib.
17426 Reported by: KESHAV P.R.
17427
17428 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17429
17430 * util/grub-install.in: Fix the bootloader ID option to be
17431 consistently --bootloader-id, not --bootloader_id.
17432 Reported by: KESHAV P.R.
17433
17434 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17435
17436 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17437 check hash checksum." consistently translatable.
17438
17439 2010-09-21 Yves Blusseau <blusseau@zetam.org>
17440
17441 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17442 $(top_builddir).
17443
17444 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17445
17446 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17447 (GRUB_MOD_INIT): Register sha1sum command.
17448 (GRUB_MOD_FINI): Unregister sha1sum command.
17449
17450 2010-09-21 Yves Blusseau <blusseau@zetam.org>
17451
17452 Keep boot and grub directory names in sync with utils scripts
17453
17454 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17455 * config.h.in: Add previous macros.
17456 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17457 * util/grub-install.in: Use $bootdir and $grubdir variables.
17458
17459 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17460
17461 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17462 convert partition names to disk names if the new `convert' parameter
17463 is set.
17464 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17465 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17466 disk in its own right. This can happen with Xen disk images.
17467
17468 2010-09-21 Yves Blusseau <blusseau@zetam.org>
17469
17470 * util/grub-editenv.c: Update strings to avoid warnings when generating
17471 grub.pot file.
17472 * util/grub-setup.c: Likewise.
17473
17474 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 * configure.ac: Change version to 1.99~beta0.
17477
17478 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17479
17480 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17481 Add BADRAM.
17482 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17483 Likewise.
17484 * include/multiboot.h: Resynced with specification.
17485 * include/multiboot2.h: Likewise.
17486
17487 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
17488
17489 Fix po directory handling.
17490
17491 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17492 * grub-core/gnulib/Makefile.am: Import gettext module.
17493 * m4/gnulib-cache.m4: Likewise.
17494 * m4/gnulib-comp.m4: Likewise.
17495 * m4/gettext.m4: New file, from gnulib.
17496 * m4/glibc2.m4: Likewise.
17497 * m4/iconv.m4: Likewise.
17498 * m4/intdiv0.m4: Likewise.
17499 * m4/intl.m4: Likewise.
17500 * m4/intldir.m4: Likewise.
17501 * m4/intlmacosx.m4: Likewise.
17502 * m4/intmax.m4: Likewise.
17503 * m4/inttypes-pri.m4: Likewise.
17504 * m4/lcmessage.m4: Likewise.
17505 * m4/lib-ld.m4: Likewise.
17506 * m4/lib-link.m4: Likewise.
17507 * m4/lib-prefix.m4: Likewise.
17508 * m4/lock.m4: Likewise.
17509 * m4/nls.m4: Likewise.
17510 * m4/po.m4: Likewise.
17511 * m4/printf-posix.m4: Likewise.
17512 * m4/progtest.m4: Likewise.
17513 * m4/threadlib.m4: Likewise.
17514 * m4/uintmax_t.m4: Likewise.
17515 * m4/visibility.m4: Likewise.
17516 * po/Makefile.am: Remove.
17517 * po/Makefile.in.in: New file, from gettext.
17518 ($(DOMAIN).pot-update): Support POTFILES-shell.
17519 * po/Makevars: New file.
17520 * po/POTFILES-shell: Rename to ...
17521 * po/POTFILES-shell.in: ... this. Update.
17522 * po/POTFILES: Rename to ...
17523 * po/POTFILES.in: ... this. Update.
17524 * po/Rules-quot: New file, from gettext.
17525 * po/boldquot.sed: Likewise.
17526 * po/en@boldquot.header: Likewise.
17527 * po/en@quot.header: Likewise.
17528 * po/insert-header.sin: Likewise.
17529 * po/quot.sed: Likewise.
17530 * po/remove-potcdate.sin: Likewise.
17531
17532 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17535
17536 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 * util/grub.d/20_linux_xen.in: Use submenus.
17539
17540 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17541
17542 Support submenus.
17543
17544 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17545 parameter submenu. All users updated.
17546 * grub-core/normal/main.c (free_menu): Rename to ...
17547 (grub_normal_free_menu): ... this. Made global.
17548 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17549 if requested.
17550 * grub-core/normal/menu_entry.c (screen): New field submenu.
17551 (make_screen): Set submenu.
17552 (run): Open new context if requested.
17553 * include/grub/menu.h (grub_menu_entry): New field submenu.
17554 * include/grub/normal.h (grub_normal_free_menu): New proto.
17555
17556 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 Menu entries extractor.
17559
17560 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17561 variants.
17562 (GRUB_MOD_INIT): Register new variants.
17563 (GRUB_MOD_FINI): Unregister new variants.
17564 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17565 into grub_cmd_legacy_source.
17566 (grub_cmd_legacy_source): Implement extractor variants.
17567 (GRUB_MOD_INIT): Register new variants.
17568 (GRUB_MOD_FINI): Unregister new variants.
17569 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17570 as an extractor.
17571 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17572 search as an extractor.
17573 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17574 test as an extractor.
17575 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17576 as an extractor.
17577 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17578 (grub_env_new_context): New function.
17579 (grub_env_context_open): Likewise.
17580 (grub_env_extractor_open): Likewise.
17581 (grub_env_extractor_close): Likewise.
17582 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17583 grub_extractor_level.
17584 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17585 * include/grub/env.h (grub_env_extractor_open): New proto.
17586 (grub_env_extractor_close): Likewise.
17587 * include/grub/normal.h (grub_extractor_level): New external variable.
17588
17589 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 Make cutmem accept a region specification.
17592 Suggested by: Samuel Thibault
17593
17594 * grub-core/mmap/mmap.c (parsemem): New function.
17595 (grub_cmd_cutmem): Handle new arguments.
17596
17597 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 New command cutmem.
17600
17601 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
17602 (GRUB_MOD_INIT): Register new command.
17603 (GRUB_MOD_FINI): Unregister new command.
17604
17605 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 Support some annoying BSD and Minix subpartitions.
17608
17609 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
17610 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
17611 Properly handle concatenation.
17612 * grub-core/kern/device.c (grub_device_iterate): Likewise.
17613 * grub-core/normal/completion.c (iterate_partition): Likewise.
17614 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
17615 contain partition. All users updated.
17616 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
17617 struct.
17618 (grub_openbsdlabel_partition_map): Likewise.
17619 (bsdlabel_partition_map_iterate): Rename to ..
17620 (iterate_real): ... this. New arguments sector, freebsd and pmap.
17621 (bsdlabel_partition_map_iterate): New function.
17622 (netopenbsdlabel_partition_map_iterate): Likewise.
17623 (netbsdlabel_partition_map_iterate): Likewise.
17624 (openbsdlabel_partition_map_iterate): Likewise.
17625 (GRUB_MOD_INIT): Register new partmaps.
17626 (GRUB_MOD_FINI): Unregister new partmaps.
17627 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
17628 (grub_partition_msdos_iterate): ... this. All users updated.
17629 Don't support embedding other than in a minix partition.
17630 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
17631 proto.
17632 * include/grub/partition.h (grub_partition): New field msdostype.
17633 * util/grub-install.in: Handle openbsd and netbsd types being in
17634 part_bsd module.
17635
17636 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
17639
17640 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
17641 * grub-core/Makefile.core.def (mdraid): Renamed to ...
17642 (mdraid09): ... this.
17643 (mdraid1x): New module.
17644 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
17645 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
17646
17647 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
17650 vsprintf.
17651
17652 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
17653
17654 * grub-core/commands/efi/lsefimmap.c: Correct header.
17655 * NEWS: Update.
17656
17657 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
17658
17659 * util/grub-editenv.c (argp_parser): Don't pass translated strings
17660 as printf format strings; the translations might contain '%' which
17661 could cause a crash.
17662 (main): Likewise.
17663 * util/grub-fstest.c (argp_parser): Likewise.
17664 * util/grub-setup.c (argp_parser): Likewise.
17665 (main): Likewise.
17666
17667 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 Use argp in grub-fstest.
17670
17671 * util/grub-fstest.c: Don't include getopt.h.
17672 Include argp.h.
17673 (root): New variable.
17674 (args_count): Likewise.
17675 (nparm): Likewise.
17676 (num_disks): Likewise.
17677 (images): Likewise.
17678 (cmd): Likewise.
17679 (debug_str): Likewise.
17680 (args): Likewise.
17681 (options): Transformed to argp.
17682 (usage): Removed.
17683 (main): Split argument parsing into ...
17684 (argp_parser): ... this. Changed to argp format.
17685 (argp): New variable.
17686 (main): Use argp_parse.
17687
17688 2010-09-20 Tristan Gingold <gingold@free.fr>
17689 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
17690 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 * grub-core/commands/efi/lsefimmap.c: New file.
17693 * grub-core/Makefile.core.def (lsefimmap): New module.
17694 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
17695
17696 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17697
17698 Pause the execution (10s max) if any errors are displayed so the user
17699 has a chance to see them.
17700
17701 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
17702 (grub_print_error): Increment grub_err_printed_errors.
17703 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
17704 execution if any errors were displayed.
17705 (show_menu): Remove old code for pause.
17706 * grub-core/normal/menu_entry.c (run): Likewise.
17707 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
17708 users updated.
17709 (grub_normal_get_char_counter): Likewise.
17710 * include/grub/err.h (grub_err_printed_errors): New external variable.
17711 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
17712
17713 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17714
17715 Support multiboot VBE info.
17716
17717 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17718 Take VBE info into account.
17719 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
17720 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17721 Call fill_vbe_info when appropriate.
17722 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
17723 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
17724 as supported.
17725 (grub_multiboot_get_mbi_size): Take new tags into account.
17726 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
17727 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17728 Call fill_vbe_tag when appropriate.
17729 (grub_multiboot_make_mbi): Properly align tags.
17730 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
17731 function.
17732 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
17733 proto.
17734 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
17735
17736 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 Suport manual terminal geometry specification.
17739
17740 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
17741 Save state in grub_ofconsole_terminfo_output.
17742 (grub_ofconsole_term): Use grub_terminfo_getwh.
17743 (grub_ofconsole_getwh): Removed.
17744 * grub-core/term/serial.c (grub_serial_getwh): Removed.
17745 (grub_serial_term): Use grub_terminfo_getwh.
17746 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
17747 (options): New struct.
17748 (OPTION_*): New enum.
17749 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
17750 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
17751 width and height.
17752 (grub_terminfo_getwh): New proto.
17753 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
17754
17755 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 Handle legacy "terminal" command.
17758
17759 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
17760 and FLAG_TERMINAL.
17761 (legacy_commands): Add terminal and title.
17762 (grub_legacy_parse): Handle terminal. Simplify title handling.
17763
17764 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
17767 parameters overflow.
17768
17769 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
17770
17771 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
17772 widthspec.h.
17773
17774 * docs/grub.texi (Shell-like scripting): Document `!'.
17775 (Network): Simplify using new i386-pc-pxe format. Mention
17776 grub-mknetdir.
17777
17778 * NEWS: Update.
17779
17780 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
17781
17782 * Makefile.am (SUBDIRS): Restore "."; it's important to force
17783 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
17784 when needed.
17785
17786 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
17787
17788 * grub-core/commands/efi/lsefisystab.c: Correct header.
17789 * grub-core/commands/efi/lssal.c: Likewise.
17790 * grub-core/commands/testload.c: Likewise.
17791
17792 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
17793
17794 * util/grub-mkrescue.in: Add explicit root argument to --set to
17795 prevent the UUID being interpreted as an argument to --set (matches
17796 previous change to prepare_grub_to_access_device).
17797
17798 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
17799
17800 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
17801 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
17802 the verbosity of later #ifs.
17803 (find_partition_start): Define this function on FreeBSD too.
17804 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
17805 function.
17806 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
17807 on FreeBSD.
17808
17809 2010-09-20 Yves Blusseau <blusseau@zetam.org>
17810
17811 * util/grub-editenv.c: Use argp instead of getopt.
17812
17813 2010-09-20 Yves Blusseau <blusseau@zetam.org>
17814
17815 * util/grub-setup.c: Use argp instead of getopt.
17816
17817 2010-09-20 Yves Blusseau <blusseau@zetam.org>
17818
17819 Use gnulib-tool to create gnulib source files.
17820
17821 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
17822 grub-core/gnulib directories
17823 * .bzignore: Add **/.deps and autogenerated gnulib files
17824 * configure.ac: Assign auxiliary directory to build-aux, add invocation
17825 of gnulib macros, add grub-core/gnulib/Makefile
17826 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
17827 include m4 directory to aclocal.
17828 * Makefile.util.def: Remove direct compilation of gnulib source files
17829 and use the new grub-core/gnulib/libgnu.a.
17830 * build-aux/config.rpath: move config.rpath from top directory to
17831 build-aux
17832 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
17833 in gnulib headers
17834 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
17835 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
17836 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
17837 header.
17838 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
17839 string.
17840
17841 2010-09-20 Yves Blusseau <blusseau@zetam.org>
17842
17843 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
17844 grub-core/genmod.sh and grub-core/gensyminfo.sh
17845
17846 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
17847
17848 Add a test for echo command options.
17849
17850 * tests/grub_cmd_echo.in: New test.
17851 * Makefile.util.def: Rules for new test.
17852
17853 2010-09-20 Szymon Janc <szymon@janc.net.pl>
17854
17855 Remove crc.mod and move crc command to hashsum.mod.
17856 Remove lib/crc.c - users updated to use gcrypt implementation.
17857
17858 * grub-core/commands/crc.c: Removed.
17859 * grub-core/Makefile.core.def (crc): Module removed.
17860 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
17861 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
17862 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
17863 * grub-core/lib/crc.c: Removed.
17864 * include/grub/lib/crc.h: Removed.
17865 * Makefile.util.def (crc): Remove lib/crc.c
17866 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
17867 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
17868 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
17869 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
17870 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
17871 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
17872
17873 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
17876
17877 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 Split config.h for util and core.
17880
17881 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
17882 (ADDR32): Likewise.
17883 (DATA32): Likewise.
17884 (BSS_START_SYMBOL): Likewise.
17885 (END_SYMBOL): Likewise.
17886 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
17887 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
17888 * config.h.in: New file.
17889 * configure.ac: Use config-util.h as config define file.
17890 Rename MACHINE into GRUB_MACHINE. All users updated.
17891 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
17892 updated.
17893 (NESTED_FUNC_ATTR): Likewise.
17894 Substitue new variables.
17895 (COND_HAVE_ASM_USCORE): New conditional.
17896 * grub-core/Makefile.am (ASM_PREFIX): New variable.
17897 (kernel_syms.lst): Use ASM_PREFIX.
17898 * grub-core/kern/emu/console.c: Include config-util.h.
17899 * grub-core/kern/emu/misc.c: Likewise.
17900 * grub-core/kern/emu/mm.c: Likewise.
17901 * include/grub/emu/misc.h: Likewise.
17902 * include/grub/libgcc.h: Likewise.
17903
17904 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
17907 constants usage.
17908 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
17909 Fix GRUB_TERM_KEY_* constants usage.
17910 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
17911
17912 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17913
17914 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
17915 print pointer.
17916 * grub-core/bus/usb/uhci.c: Remove empty define.
17917 (grub_uhci_check_transfer): Add missing cast.
17918 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
17919 print pointer.
17920 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
17921 PRIuGRUB_SIZE.
17922 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
17923
17924 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * grub-core/Makefile.core.def (legacycfg): Add
17927 lib/i386/pc/vesa_modes_table.c on emu.
17928
17929 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17930
17931 Reduce number of temporary files generated by build system.
17932
17933 * grub-core/gencmdlist.sh: Removed.
17934 * grub-core/genfslist.sh: Removed.
17935 * grub-core/genhandlerlist.sh: Removed.
17936 * grub-core/genmodsrc.sh: Removed.
17937 * grub-core/genpartmaplist.sh: Removed.
17938 * grub-core/genparttoollist.sh: Removed.
17939 * grub-core/gentermiinallist.sh: Removed.
17940 * grub-core/genvideolist.sh: Removed.
17941
17942 * grub-core/genmod.sh.in: New file.
17943 * grub-core/gensyminfo.sh.in: New file.
17944
17945 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
17946 * conf/Makefile.extra-dist: Update with new files.
17947 * gentpl.py: Remove rules related to unnecessary temporary files.
17948 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
17949 and und-* files.
17950 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
17951 genmod.sh scripts.
17952 * grub-core/bus/usb/uhci.c: Remove empty #define.
17953 * grub-core/genmoddep.awk: Updated with new syminfo format.
17954 * util/bash-completion.d/Makefile.am: Add config.log to
17955 CLEANFILES.
17956
17957 2010-09-19 Yves Blusseau <blusseau@zetam.org>
17958
17959 * Makefile.util.def: Add forgotten $(LIBINTL) library.
17960
17961 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17962
17963 * util/grub-mkconfig.in: Check the config script for syntax errors
17964 before saving.
17965
17966 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
17967 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 * Makefile.util.def (grub-install): Use util/grub-install.in on all
17970 platforms.
17971 * util/grub-install.in: Add EFI and IEEE1275 support.
17972 * util/i386/efi/grub-install.in: Removed.
17973 * util/ieee1275/grub-install.in: Likewise.
17974
17975 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
17978 (grub_cmd_cmosclean): Likewise.
17979 (GRUB_MOD_INIT): Register command cmosclean.
17980 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
17981 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
17982
17983 2010-09-18 Carles Pina i Estany <carles@pina.cat>
17984 2010-09-18 Aleš Nesrsta <starous@volny.cz>
17985 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 Add keyboard layouts support.
17988
17989 * Makefile.util.def (grub-mklayout): New file.
17990 (grub-kbdcomp): New script.
17991 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
17992 Add keyboard_layouts.h.
17993 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
17994 commands/boot.c on yeeloong.
17995 (keylayouts): New module.
17996 * grub-core/bus/usb/ohci.c
17997 * grub-core/bus/usb/uhci.c
17998 * grub-core/bus/usb/usbhub.c (rescan): New variable.
17999 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18000 (attach_root_port): Likewise.
18001 (poll_nonroot_hub): Likewise.
18002 (grub_usb_poll_devices): Likewise.
18003 (detach_device): Close transfer.
18004 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18005 function.
18006 (grub_usb_bulk_setup_readwrite): Likewise.
18007 (grub_usb_bulk_finish_readwrite): Likewise.
18008 * grub-core/commands/keylayouts.c: New file.
18009 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18010 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18011 aliases.
18012 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18013 support scancode 2.
18014 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18015 * include/grub/keyboard_layouts.h: New file.
18016 * util/grub-mklayout.c: New file.
18017 * util/grub-kbdcomp.in: Likewise.
18018
18019 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 Unify memory types.
18022
18023 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18024 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18025 types.
18026 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18027 (grub_upper_mem): Likewise.
18028 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18029 * include/grub/memory.h (grub_memory_type_t): New enum.
18030 All users updated.
18031
18032 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * grub-core/Makefile.core.def (lsapm): New module.
18035 * grub-core/commands/i386/pc/lsapm.c: New file.
18036 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18037 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18038 Likewise.
18039 * include/grub/i386/pc/apm.h: New file.
18040 * include/multiboot.h (multiboot_apm_info): New struct.
18041
18042 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 GRUB-legacy configuration file support.
18045
18046 * Makefile.util.def (grub-menulst2cfg): New util.
18047 * docs/man/grub-menulst2cfg.h2m: New file.
18048 * grub-core/Makefile.core.def (legacycfg): New module.
18049 * grub-core/commands/legacycfg.c: New file.
18050 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18051 (grub_normal_add_menu_entry): ... this.
18052 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18053 (grub_normal_set_password): ...this.
18054 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18055 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18056 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18057 * grub-core/lib/legacy_parse.c: New file.
18058 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18059 * include/grub/i386/pc/vesa_modes_table.h: New file.
18060 * include/grub/legacy_parse.h: Likewise.
18061 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18062 * util/grub-menulst2cfg.c: New file.
18063
18064 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
18065
18066 * grub-core/kern/emu/hostdisk.c
18067 (convert_system_partition_to_system_disk): Initialise node.
18068
18069 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
18070
18071 * grub-core/kern/emu/hostdisk.c
18072 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18073 leak.
18074 Reported and based on patch by: Modestas Vainius.
18075
18076 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
18077
18078 Fix DM-RAID probing with recent versions of device-mapper udev
18079 rules.
18080
18081 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18082 canonicalise device paths under /dev/mapper/.
18083 (convert_system_partition_to_system_disk): Compare the
18084 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18085 path, since device nodes under /dev/mapper/ are often symlinks.
18086
18087 2010-09-17 Yves Blusseau <blusseau@zetam.org>
18088
18089 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18090
18091 2010-09-16 Yves Blusseau <blusseau@zetam.org>
18092
18093 * configure.ac: Avoid some annoying error messages if freetype-config
18094 program is not found.
18095
18096 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
18097
18098 Support RAID on virtio devices, and others.
18099
18100 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18101 Rename to ...
18102 [__MINGW32__] (grub_find_device): ... this.
18103 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18104 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18105 reasonable default if dir is NULL.
18106 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18107 ...
18108 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18109 (grub_guess_root_device): Update callers.
18110 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18111
18112 * util/raid.c (grub_util_getdiskname): Remove.
18113 (grub_util_raid_getmembers): Use grub_find_device rather than
18114 grub_util_getdiskname.
18115
18116 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
18117
18118 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18119 needing to be compiled with serial support.
18120 (ls): Indicate that multiple files are accepted.
18121 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18122 indicate that multiple files are accepted.
18123
18124 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
18125
18126 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18127 libgrub_a_init.c, and util/bash-completion.d/grub.
18128
18129 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * util/grub-setup.c (setup): Fix incorrect container semantics.
18132
18133 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18136 misusage.
18137 Reported by: J. Nick Terry
18138
18139 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 Move embedding routines to partmap sources files.
18142
18143 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18144 [GRUB_UTIL]: New variable.
18145 (gpt_partition_map_iterate): Set part.parent.
18146 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18147 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18148 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18149 New function.
18150 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18151 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18152 (grub_partition_map) [GRUB_UTIL]: New field embed.
18153 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18154 (setup): Use ->embed.
18155
18156 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18159 function.
18160 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18161 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18162
18163 2010-09-15 Yves Blusseau <blusseau@zetam.org>
18164
18165 Add function to get completions from usage.
18166
18167 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18168 completions from usage. Use LC_ALL=C to get options properly.
18169
18170 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * grub-core/gnulib/basename-lgpl.c: Imported.
18173 * grub-core/gnulib/basename.c: Likewise.
18174 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18175 * grub-core/gnulib/dirname.c: Likewise.
18176 * grub-core/gnulib/dirname.h: Likewise.
18177 * grub-core/gnulib/stripslash.c: Likewise.
18178
18179 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18180
18181 * grub-core/gnulib/error.c: Resynced.
18182 * grub-core/gnulib/getopt.c: Likewise.
18183 * grub-core/gnulib/getopt_int.h: Likewise.
18184 * grub-core/gnulib/regex.h: Likewise.
18185 * grub-core/gnulib/regex_internal.c: Likewise.
18186 * grub-core/gnulib/regex_internal.h: Likewise.
18187
18188 2010-09-15 Szymon Janc <szymon@janc.net.pl>
18189
18190 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18191 CRC calculations and validity checks.
18192 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18193 calculations.
18194
18195 2010-09-15 Szymon Janc <szymon@janc.net.pl>
18196
18197 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18198
18199 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 Fix incorrect echo options handling.
18202 Reported by: Yves Blusseau.
18203
18204 * include/grub/command.h (grub_command_flags_t): New flags
18205 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18206 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18207 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18208
18209 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18212 users updated.
18213 (GRUB_COMMAND_FLAG_MENU): Likewise.
18214 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18215 (GRUB_COMMAND_FLAG_TITLE): Removed.
18216 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18217 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18218 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18219 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18220 (grub_command_flags_t): New enum. All users updated.
18221
18222 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18223
18224 Fix solaris compilation.
18225
18226 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18227 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18228 (grub-emu-list): Likewise.
18229
18230 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 Remove deprecated root command.
18233
18234 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18235 updated.
18236
18237 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * util/i386/pc/grub-setup.c: Merge this ...
18240 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18241 * util/grub-setup.c: ... into this.
18242 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18243 New struct.
18244
18245 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18246
18247 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18248 possible.
18249
18250 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18253 allocate p.
18254
18255 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18258 explicit root argument to set to prevent UUID to be interpreted as
18259 argument to set.
18260
18261 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18262
18263 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18264
18265 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 Don't export grub_gate_a20.
18268
18269 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18270 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18271 to ...
18272 (grub_gate_a20): ... this. All users updated.
18273 * include/grub/i386/pc/init.h: Removed. All users updated.
18274
18275 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 Create euro.pf2 which supports most European languages.
18278
18279 * Makefile.am (grubdata_DATA): Add euro.pf2.
18280 (euro.pf2): New target.
18281 (CLEANFILES): Add euro.pf2.
18282
18283 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18284
18285 * configure.ac: Disable emu-usb by default to prevent inadvertent
18286 device takeover.
18287
18288 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 Disable usbserial on grub-emu since our libusb code isn't good enough
18291 yet.
18292
18293 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18294 (usbserial_pl2303): Likewise.
18295 (usbserial_ftdi): Likewise.
18296
18297 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * include/grub/disk.h (grub_disk): Remove has_partitions.
18300 All users updated.
18301 * disk/loopback.c (grub_loopback): Remove has_partitions.
18302 All users updated.
18303 (options): Remove partitions. All users updated.
18304 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18305 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18306 actual partition table is found.
18307
18308 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 Remove readability checks (too many false negatives).
18311
18312 * util/grub-install.in: Remove readability checks.
18313 * util/grub-mkconfig.in: Likewise.
18314 * util/grub.d/10_hurd.in: Likewise.
18315 * util/grub.d/10_kfreebsd.in: Likewise.
18316 * util/grub.d/10_linux.in: Likewise.
18317 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18318 way.
18319
18320 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 Enable acpi shutdown on all ACPI platforms.
18323
18324 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18325 on coreboo, multiboot and EFI.
18326 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18327 (grub_acpi_halt): Likewise.
18328 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18329 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18330 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18331 * grub-core/lib/i386/halt.c (grub_halt)
18332 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18333
18334 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18337 context.
18338
18339 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18342 * grub-core/video/efi_uga.c: Likewise.
18343
18344 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18345
18346 Filter devaliases and never open same device twice.
18347
18348 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18349 (last_ihandle): Likewise.
18350 (ofdisk_hash_ent): New member shortest.
18351 (ofdisk_hash_add): Add canonical path too.
18352 (scan): New function.
18353 (grub_ofdisk_iterate): Iterate over hashed entries.
18354 (compute_dev_path): Don't add :0.
18355 (grub_ofdisk_open): Don't really open the disk.
18356 (grub_ofdisk_close): Avoid closing unrelated disk.
18357 (grub_ofdisk_read): Implement reopen logic.
18358 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18359 New function.
18360 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18361 New proto.
18362
18363 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 Fix sparc64.
18366
18367 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18368 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18369 right address. Add sparc64_ieee1275_ldflags.
18370 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18371 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18372 to grub_host_to_target_addr
18373 (load_image): Likewise.
18374
18375 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18376
18377 * grub-core/normal/completion.c (complete_file): Handle device
18378 containing slash.
18379 Fix based on patch by Doug Nazar.
18380
18381 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18382
18383 grub-mknetdir script.
18384
18385 * Makefile.util.def (grub-mknetdir): New module.
18386 * tests/util/grub-shell.in: Support boot=net
18387 * util/grub-mknetdir.in: New file.
18388
18389 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 videoinfo on non-vbe.
18392
18393 * grub-core/Makefile.core.def (vbeinfo): Removed.
18394 (vbetest): Removed.
18395 (videoinfo): New module.
18396 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18397 * grub-core/commands/i386/pc/vbetest.c: Removed.
18398 * grub-core/commands/videoinfo.c: New file.
18399 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18400 specification.
18401 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18402 as vbetest.
18403 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18404 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18405 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18406 mode_number. New parameter mode. All users updated.
18407 (grub_video_gop_iterate): New function.
18408 (grub_video_efi_gop): New member iterate.
18409 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18410 (grub_vbe_set_video_mode): Remove setting useless fields.
18411 (vbe2videoinfo): New function.
18412 (grub_video_vbe_iterate): Likewise.
18413 (grub_video_vbe_setup): Use vbe2videoinfo.
18414 (grub_video_vbe_print_adapter_specific_info): New function.
18415 (grub_video_vbe_adapter): New fields iterate and
18416 print_adapter_specific_info.
18417 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18418 All users updated.
18419 (grub_video_mode_info): New field mode_number.
18420 (grub_video_adapter): New fields iterate and
18421 print_adapter_specific_info.
18422
18423 2010-09-13 Tristan Gingold <gingold@free.fr>
18424 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
18425 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * grub-core/commands/efi/lsefisystab.c: New file.
18428 * grub-core/commands/efi/lssal.c: Likewise.
18429 * grub-core/Makefile.core.def (lsacpi): New module.
18430 (lsefisystab): Likewise.
18431 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18432 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18433 (grub_efi_sal_system_table): New struct.
18434 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18435 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18436 (grub_efi_sal_system_table_platform_features): Likewise.
18437 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18438 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18439 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18440 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18441
18442 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18443
18444 Support explicit user claim that a device is BIOS-visible.
18445
18446 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18447 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18448 * grub-core/kern/emu/hostdisk.c
18449 (convert_system_partition_to_system_disk): Support mdX.
18450 (find_system_device): New parameter add. All users updated.
18451 (grub_util_biosdisk_is_present): New function.
18452 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18453 proto.
18454
18455 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 Search hints support.
18458
18459 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18460 All users updated.
18461
18462 2010-09-13 Yves Blusseau <blusseau@zetam.org>
18463
18464 Bash completion script for util commands
18465
18466 * Makefile.am: Add util/bash-completion.d directory
18467 * configure.ac: Likewise.
18468 * util/bash-completion.d/Makefile.am: New file.
18469 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18470
18471 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18474 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18475 Reported by: Yves Blusseau.
18476
18477 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18480 partition size and offset.
18481
18482 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18485
18486 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18487
18488 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18489
18490 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18491
18492 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18493 (grub_xvasprintf): Likewise.
18494
18495 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18496
18497 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18498
18499 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18500
18501 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18502 args ending with NULL.
18503
18504 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18505
18506 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18507 pointer.
18508
18509 2010-09-11 Szymon Janc <szymon@janc.net.pl>
18510
18511 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18512
18513 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 Shutdown using ACPI.
18516
18517 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18518 * grub-core/commands/acpihalt.c: New file.
18519 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18520 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18521 (grub_acpi_halt): New proto.
18522 (GRUB_ACPI_SLP_EN): New const.
18523 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18524 (GRUB_ACPI_OPCODE_*): New enum.
18525 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18526
18527 2010-09-11 Tristan Gingold <gingold@free.fr>
18528 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
18529 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 * commands/lsacpi.c: New file.
18532 * grub-core/Makefile.core.def (lsacpi): New module.
18533 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18534 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18535 (grub_acpi_madt_entry_header): New struct.
18536 (grub_acpi_madt): Likewise.
18537 (grub_acpi_madt_entry_interrupt_override): Likewise.
18538 (grub_acpi_madt_entry_sapic): Likewise.
18539 (grub_acpi_madt_entry_lsapic): Likewise.
18540 (grub_acpi_madt_entry_platform_int_source): Likewise.
18541 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18542 (PRIuGRUB_UINT32_T): Likewise.
18543 (PRIxGRUB_UINT64_T): Likewise.
18544
18545 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18546
18547 Implement loading palette on ieee1275_fb.
18548
18549 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18550 (have_setcolors): Likewise.
18551 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18552 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18553 (grub_video_ieee1275_set_palette): Implement.
18554
18555 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18556 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
18557
18558 * util/grub-install.in (grub_partition): New variable.
18559 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18560 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18561 Fixes a bug reported by Yves Blusseau.
18562
18563 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18564
18565 Fix emu on mipsel.
18566
18567 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18568 =grub_cpu_flush_cache on all mips and not only yeeloong.
18569 * configure.ac (COND_mips): New conditional.
18570 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18571 platforms.
18572 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18573 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18574 [GRUB_LINKER_HAVE_INIT]: New function.
18575 (grub_emu_post_init): Likewise.
18576 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18577 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18578 * include/grub/cache.h (_mips): Include mips/cache.h.
18579 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18580 LVM and RAID prototypes.
18581 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18582 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18583 function.
18584
18585 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
18586
18587 * util/grub-install.in: Don't try to verify core.img until after
18588 running grub-mkimage to create it.
18589
18590 2010-09-10 Robert Millan <rmh@gnu.org>
18591
18592 * util/grub.d/10_hurd.in: Add misc readability checks.
18593 * util/grub.d/10_kfreebsd.in: Likewise.
18594 * util/grub.d/10_linux.in: Likewise.
18595
18596 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
18597
18598 * util/grub-install.in: ${imgext} won't be defined here until the
18599 install branch is merged. For the meantime, only verify core.img on
18600 i386-pc and sparc64-ieee1275 platforms.
18601
18602 2010-09-10 Robert Millan <rmh@gnu.org>
18603
18604 Solaris support in grub_find_zpool_from_dir(). Thanks
18605 Seth Goldberg for referring to getextmntent() facility.
18606
18607 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
18608 `sys/mkdev.h'.
18609 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
18610 `<sys/mnttab.h>'.
18611 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
18612 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
18613 method for finding zpool name.
18614
18615 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
18616
18617 grub-fstest needs the host and hostfs modules while other utilities
18618 actively require those modules to be absent, so grub-fstest needs
18619 its own initialisation and finalisation code.
18620
18621 * Makefile.am (grub_fstest.pp): New target.
18622 (grub_fstest_init.lst): Likewise.
18623 (grub_fstest_init.c): Likewise.
18624 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
18625
18626 2010-09-10 Robert Millan <rmh@gnu.org>
18627
18628 * configure.ac: Check for `struct statfs.f_fstypename' and
18629 `struct statfs.f_mntfromname'.
18630
18631 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
18632 kFreeBSD-specific code.
18633
18634 2010-09-10 Robert Millan <rmh@gnu.org>
18635
18636 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
18637 on ZFS. Now non-main filesystems are supported as / too.
18638
18639 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
18640
18641 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
18642 and grub-core/disk/host.c to ...
18643 (grub-fstest): ... here. Having the host disk implementation
18644 present confuses grub-probe and other utility programs.
18645
18646 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
18647 when writing to a file, not when writing to stdout.
18648
18649 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
18650
18651 * tests/partmap_test.in: New test for partitions.
18652 * Makefile.util.def: Rules for new test.
18653
18654 2010-09-09 Robert Millan <rmh@gnu.org>
18655
18656 * util/grub-probe.c (probe): Fix a pair of unhandled error
18657 conditions.
18658
18659 2010-09-09 Robert Millan <rmh@gnu.org>
18660
18661 Basic Btrfs support (detection and UUID).
18662
18663 * grub-core/fs/btrfs.c: New file.
18664 * Makefile.util.def (library): Register btrfs.c.
18665 * grub-core/Makefile.core.def: Likewise.
18666
18667 2010-09-08 Robert Millan <rmh@gnu.org>
18668
18669 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
18670 with (optional) parameters to specify device and relative path.
18671 * util/grub-install.in: Use is_path_readable_by_grub() to
18672 verify readability of a few critical files.
18673 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
18674 verify readability of grub.cfg.new.
18675
18676 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 Split minix.mod into minix.mod and minix2.mod.
18679
18680 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
18681 * grub-core/Makefile.core.def (minix2): New module.
18682 * grub-core/fs/minix.c: Use definitions instead of runtime version
18683 checking.
18684 * grub-core/fs/minix2.c: New file.
18685
18686 2010-09-08 Yves Blusseau <blusseau@zetam.org>
18687
18688 Add new --boot-directory option to replace --root-directory
18689
18690 * util/grub-install.in: Add new --boot-directory option
18691 * util/grub-reboot.in: Likewise.
18692 * util/grub-set-default.in: Likewise.
18693
18694 2010-09-08 Yves Blusseau <blusseau@zetam.org>
18695
18696 * util/grub-mkconfig.in: Use new variable.
18697
18698 2010-09-08 Yves Blusseau <blusseau@zetam.org>
18699
18700 * configure.ac: Define some useful variables.
18701
18702 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18705 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
18706 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
18707 Use terminfo and don't use cursor-on/cursor-off unless it's known
18708 to work.
18709 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
18710 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
18711
18712 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
18713
18714 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
18715 starts with "(,", fill the drive containing the loaded image in
18716 between those two characters, but expect that a full partition
18717 specification including partition map names will follow.
18718
18719 2010-09-08 Robert Millan <rmh@gnu.org>
18720
18721 * configure.ac: Remove `--enable-grub-fstest' option.
18722 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
18723
18724 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
18725 `grub-fstest' instead of `grub-probe' for readability verification.
18726 * util/grub-probe.c (probe): Remove readability verification kludge.
18727
18728 2010-09-08 Robert Millan <rmh@gnu.org>
18729
18730 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
18731 initializing `GRUB_FS'.
18732
18733 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
18734
18735 Not command (!) support to GRUB script.
18736
18737 * tests/grub_script_not.in: New test.
18738 * Makefile.util.def: Rules for new test.
18739
18740 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18741 ! command as a special case.
18742 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
18743
18744 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18745
18746 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
18747 grub_free.
18748
18749 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18750
18751 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
18752
18753 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18754
18755 * docs/grub.texi (Shell-like scripting): Documentation for break,
18756 continue, shift and return commands.
18757
18758 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 Rename CD-ROM to cd on BIOS.
18761
18762 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
18763 "cd".
18764 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
18765
18766 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
18769 * util/grub-probe.c (main): Likewise.
18770 * util/i386/pc/grub-setup.c (main): Likewise.
18771 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18772 Reported and debugged by: alexxy
18773
18774 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18775
18776 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
18777 diagnostic info.
18778
18779 2010-09-05 Jo Shields <directhex@apebox.org>
18780
18781 * util/grub.d/30_os-prober.in: Add missing classes.
18782
18783 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 * docs/grub.texi (Theme file format): Document new position format.
18786
18787 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18788
18789 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
18790 a table. Use @code instead of @verbatim.
18791
18792 2010-09-05 Colin D Bennett <colin@gibibit.com>
18793
18794 Gfxmenu documentation.
18795
18796 * docs/grub.texi (Theme file format): New chapter.
18797
18798 2010-09-05 Szymon Janc <szymon@janc.net.pl>
18799
18800 * grub-core/Makefile.core.def (xzio): New module.
18801 * grub-core/io/xzio.c: New file.
18802 * grub-core/lib/xzembed/xz.h: New file (from xembed).
18803 * grub-core/lib/xzembed/xz_config.h: Likewise.
18804 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
18805 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
18806 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
18807 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
18808 * grub-core/lib/xzembed/xz_private.h: Likewise.
18809 * grub-core/lib/xzembed/xz_stream.h: Likewise.
18810 * include/grub/file.h (grub_file_filter_id): New compression filter
18811 GRUB_FILE_FILTER_XZIO.
18812
18813 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
18816 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
18817 size.
18818
18819 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
18822 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
18823
18824 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 Uncompressed checksum support.
18827
18828 * grub-core/commands/hashsum.c (options): Add option --uncompress.
18829 (check_list): New parameter uncompress.
18830 (grub_cmd_hashsum): Handle --uncompress.
18831
18832 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 Reintroduce testload.
18835
18836 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
18837 from here ...
18838 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
18839 (GRUB_MOD_INIT): New function.
18840 (GRUB_MOD_FINI): Likewise.
18841 * grub-core/Makefile.core.def (testload): New module.
18842
18843 2010-09-05 Szymon Janc <szymon@janc.net.pl>
18844
18845 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
18846 (uint8_t): New type.
18847 (uint16_t): Likewise.
18848 (uint32_t): Likewise.
18849 (uint64_t): Likewise.
18850
18851 2010-09-05 Szymon Janc <szymon@janc.net.pl>
18852
18853 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
18854
18855 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
18858 Made static.
18859 (grub_gzfile_open): Removed. All users updated.
18860 (GRUB_MOD_INIT): New function.
18861 (GRUB_MOD_FINI): Likewise.
18862 * grub-core/kern/file.c (grub_file_filters_all): New variable.
18863 (grub_file_filters_enabled): Likewise.
18864 (grub_file_open): Handle filters.
18865 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
18866 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
18867 * include/grub/file.h (grub_file_filter_id_t): New type.
18868 (grub_file_filter_t): Likewise.
18869 (grub_file_filters_all): New extern variable.
18870 (grub_file_filters_enabled): Likewise.
18871 (grub_file_filter_register): New inline function.
18872 (grub_file_filter_unregister): Likewise.
18873 (grub_file_filter_disable): Likewise.
18874 (grub_file_filter_disable_compression): Likewise.
18875 * include/grub/gzio.h: Removed.
18876
18877 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18878
18879 Filename expansion support for wildcards in GRUB script.
18880
18881 * tests/grub_script_expansion.in: New test.
18882 * Makefile.util.def: Rule for new test.
18883
18884 * grub-core/commands/wildcard.c: New file, implements filename
18885 expansion support for GRUB script.
18886 * grub-core/Makefile.core.def: Rule update for regexp.mod.
18887 * grub-core/script/argv.c: Cosmetic changes.
18888 * grub-core/script/execute.c (grub_script_arglist_to_argv):
18889 Refactored to perform wildcard expansion on arguments.
18890 * include/grub/script_sh.h (grub_script_wildcard_translator): New
18891 struct.
18892
18893 * tests/util/grub-shell.in: Fix quoting for read input.
18894
18895 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18896
18897 Support for updating environment variables with matched substrings
18898 of regexp.
18899
18900 * tests/grub_cmd_regexp.in: New test.
18901 * Makefile.util.def: Rule for new test.
18902
18903 * grub-core/commands/regexp.c: New option -s to update environment
18904 variables with regexp matches.
18905
18906 2010-09-04 Szymon Janc <szymon@janc.net.pl>
18907
18908 * include/grub/file.h (grub_file): New member not_easly_seekable.
18909 (grub_file_seekable): New inline function.
18910 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
18911 easily seekable.
18912 (grub_gzio_open): Set not_easly_seekable.
18913 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
18914 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
18915
18916 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18917
18918 Support for options to appear multiple times on cmdline.
18919
18920 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
18921 * grub-core/commands/extcmd.c: Support for repeatable option.
18922 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
18923 repeatable option support.
18924
18925 Refactor menuentry into a regular command.
18926
18927 * grub-core/commands/menuentry.c: New file, menuentry command
18928 implementation.
18929 * grub-core/Makefile.core.def: Rule update for normal.mod.
18930 * grub-core/normal/main.c: Moved menuentry creation to
18931 grub-core/commands/menuentry.c.
18932 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
18933 (grub_menu_execute_entry_real): Removed.
18934 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
18935 function.
18936 (grub_script_execute_menuentry): Removed.
18937 * grub-core/script/parser.y (menuentry): Removed.
18938 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
18939 * grub-core/script/yylex.l (menuentry): Removed.
18940 * include/grub/menu.h (grub_menu_init): New prototype.
18941 (grub_menu_fini): New prototype.
18942 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
18943 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
18944 (grub_script_execute_sourcecode): New prototype.
18945
18946 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18947
18948 "return" command for GRUB script functions.
18949
18950 * tests/grub_script_return.in: New test.
18951 * Makefile.util.def: Rules for new test.
18952
18953 * grub-core/script/execute.c (grub_script_return): New function.
18954 * grub-core/script/main.c: Register/unregister return commaond.
18955 * include/grub/script_sh.h (grub_script_return): New prototype.
18956
18957 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18958
18959 "setparams" command to update positional parameters.
18960
18961 * tests/grub_script_setparams.in: New test.
18962 * Makefile.util.def: Rules for new test.
18963
18964 * grub-core/script/argv.c (grub_script_argv_make): New function.
18965 * grub-core/script/execute.c (replace_scope): New function.
18966 (grub_script_setparams): New function.
18967 * grub-core/script/lexer.c: Remove unused variables.
18968 * grub-core/script/main.c: Register/unregister setparams command.
18969 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
18970 (grub_script_setparams): New prototype.
18971
18972 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18973
18974 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
18975 grub_free order.
18976
18977 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18978
18979 Support for passing block of commands as an argument to extcmds.
18980
18981 * Makefile.util.def: Rules for new test.
18982 * tests/grub_script_blockarg.in: New test.
18983 * grub-core/tests/test_blockarg.c: New file, block argument
18984 command used in the test.
18985
18986 * include/grub/extcmd.h (grub_extcmd_context): New struct.
18987 (grub_register_extcmd_prio): New function prototype.
18988 (grub_extcmd_dispatcher): New function prototype.
18989 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
18990 type.
18991 * include/grub/script_sh.h (struct grub_script): New members
18992 `children', `next_siblings' and `refcnt' for block arguments and
18993 reference counting.
18994 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
18995 (grub_script_arg): New member `script' for block argument.
18996 (grub_script_argv): New member `script' for block argument.
18997 (grub_parser_param): New member `scripts' for block argument.
18998 (grub_script_mem_free): New extern function prototype.
18999 (grub_script_ref): New function prototype.
19000 (grub_script_unref): New function prototype.
19001
19002 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19003 extcmd form to support block arguments.
19004 * grub-core/script/argv.c: Block arguments support.
19005 * grub-core/script/execute.c: Likewise.
19006 * grub-core/script/lexer.c: Likewise.
19007 * grub-core/script/main.c: Likewise.
19008 * grub-core/script/script.c: Likewise.
19009 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19010 non-terminals.
19011
19012 * grub-core/commands/acpi.c: Update extcmd implementations with
19013 grub_extcmd_context_t.
19014 * grub-core/commands/cat.c: Likewise.
19015 * grub-core/commands/echo.c: Likewise.
19016 * grub-core/commands/extcmd.c: Likewise.
19017 * grub-core/commands/hashsum.c: Likewise.
19018 * grub-core/commands/hdparm.c: Likewise.
19019 * grub-core/commands/help.c: Likewise.
19020 * grub-core/commands/hexdump.c: Likewise.
19021 * grub-core/commands/i386/cpuid.c: Likewise.
19022 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19023 * grub-core/commands/i386/pc/halt.c: Likewise.
19024 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19025 * grub-core/commands/iorw.c: Likewise.
19026 * grub-core/commands/keystatus.c: Likewise.
19027 * grub-core/commands/loadenv.c: Likewise.
19028 * grub-core/commands/ls.c: Likewise.
19029 * grub-core/commands/lspci.c: Likewise.
19030 * grub-core/commands/memrw.c: Likewise.
19031 * grub-core/commands/probe.c: Likewise.
19032 * grub-core/commands/search_wrap.c: Likewise.
19033 * grub-core/commands/setpci.c: Likewise.
19034 * grub-core/commands/sleep.c: Likewise.
19035 * grub-core/disk/loopback.c: Likewise.
19036 * grub-core/hello/hello.c: Likewise.
19037 * grub-core/loader/i386/bsd.c: Likewise.
19038 * grub-core/loader/xnu.c: Likewise.
19039 * grub-core/term/gfxterm.c: Likewise.
19040 * grub-core/term/serial.c: Likewise.
19041 * grub-core/tests/lib/functional_test.c: Likewise.
19042
19043 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19044
19045 Multi-line quoted strings support.
19046
19047 * grub-core/script/lexer.c (append_newline): Removed.
19048 (grub_script_lexer_yywrap): Refactored.
19049 (grub_script_lexer_init): Refactored.
19050 * grub-core/script/yylex.l (yywrap): New function.
19051 (grub_lexer_resplit): New function.
19052 (grub_lexer_unput): New function.
19053 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19054 and resplit.
19055 * tests/grub_script_echo1.in: Added few more testcases.
19056
19057 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 * grub-core/kern/misc.c: Don't add abort alias in utils.
19060 Reported by: echoline.
19061
19062 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19063
19064 Add missing files into "make dist" tarball for other platforms.
19065
19066 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19067 * conf/Makefile.common (dist_noinst_DATA): New variable.
19068 * conf/Makefile.extra-dist: Added missing make dist files.
19069 * grub-core/Makefile.core.def: Likewise.
19070
19071 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19072
19073 Compress grub_prefix.
19074
19075 * grub-core/boot/i386/pc/lnxboot.S: Use
19076 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19077 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19078 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19079 GRUB_MACHINE_PREFIX_END. All users updated.
19080 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19081 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19082 + 0x40.
19083 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19084 * util/grub-mkimage.c (image_target_desc): Change data_end to
19085 prefix_end. All users updated.
19086
19087 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19090 value.
19091 (grub_openbsd_boot): Likewise.
19092 (grub_netbsd_boot): Likewise.
19093 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19094 (grub_xnu_boot): Likewise.
19095
19096 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19097
19098 * configure.ac: Clean LIBS variable after tests.
19099
19100 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
19101
19102 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19103
19104 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19107 echo if libdevmapper will be used.
19108
19109 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19110
19111 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19112 constant for the same file.
19113
19114 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19117
19118 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
19119
19120 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19121 grub-core/*.pp.
19122
19123 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
19124
19125 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19126 required by the boot protocol.
19127
19128 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19129 ebp and edi members.
19130 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19131 state.ebp and state.edi.
19132 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19133 %ebp and %edi according to grub_relocator32_ebp and
19134 grub_relocator32_edi respectively.
19135 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19136 and state.edi.
19137
19138 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19139
19140 Add i386-pc-pxe image target.
19141
19142 * util/grub-mkimage.c (image_target_desc): New enum value
19143 IMAGE_I386_PC_PXE.
19144 (image_targets): New target i386-pc-pxe.
19145 (generate_image): Handle i386-pc-pxe image.
19146
19147 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 Fix grub_pxe_scan.
19150
19151 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19152 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19153 All users updated.
19154 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19155 (grub_pxe_pxenv): Correct type.
19156
19157 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
19158
19159 * NEWS: Document most of the important changes since 1.98.
19160
19161 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
19162
19163 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19164 generated manual page) a little.
19165
19166 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
19167
19168 * docs/grub.texi: Add myself as an author.
19169
19170 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * Makefile.util.def (libgrub.a): Add missing sunpc.
19173 Reported by: Seth Goldberg.
19174
19175 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 Interrupt wrapping and code simplifications.
19178
19179 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19180 x86_noieee1275 which are functionaly equivalent in this case.
19181 (grub-install): Make source on each platform explicit. Enable on
19182 all noemu.
19183 * gentpl.py (x86_efi_pc): Removed group.
19184 (x86_noefi): Likewise.
19185 (i386_noefi): Likewise.
19186 (x86_noieee1275): Likewise.
19187 (i386_noieee1275): Likewise.
19188 (i386_noefi_noieee1275): Likewise.
19189 (i386_pc_qemu_coreboot): Likewise.
19190 (i386_coreboot_multiboot): Likewise.
19191 (i386_pc_coreboot_multiboot_qemu): Likewise.
19192 (x86_noefi_mips): Likewise.
19193 (noieee1275): Likewise.
19194 (ieee1275_mips): Likewise.
19195 (noemu_noieee1275): Likewise.
19196 (cmos): New group.
19197 (usb): Likewise.
19198 (videoinkernel): Likewise.
19199 (videomodules): Likewise.
19200 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
19201 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19202 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19203 include/grub/loader.h, include/grub/msdos_partition.h,
19204 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19205 include/grub/machine/console.h, include/grub/machine/vga.h,
19206 include/grub/machine/vbe.h, include/grub/machine/init.h,
19207 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19208 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
19209 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
19210 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19211 * grub-core/Makefile.core.def (kernel): Explicit the source for
19212 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19213 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19214 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19215 Use videoinkernel tag.
19216 (usb): Enable on all usb.
19217 (usbserial_common): Likewise.
19218 (usbserial_pl2303): Likewise.
19219 (usbserial_ftdi): Likewise.
19220 (uhci): Enable on all x86.
19221 (ohci): Enable on all pci.
19222 (cmostest): Enable on all CMOS.
19223 (acpi): Include commands/acpi.c on all platforms.
19224 (halt): Add relevant lib/*/halt.c.
19225 (hdparm): Enable on all pci.
19226 (lspci): Likewise.
19227 (usbtest): Enable on all usb.
19228 (ata): Enable on all pci.
19229 (ata_pthru): Likewise.
19230 (usbms): Enable on all usb.
19231 (usb_keyboard): Likewise.
19232 (font): Use tag videomodules.
19233 (bufio): Likewise.
19234 (datetime): Use tag cmos. Enable on all noemu.
19235 (mmap): Use tags common and x86.
19236 (gfxterm): Use tag videomodules.
19237 (bitmap): Likewise.
19238 (bitmap_scale): Likewise.
19239 (video_fb): Likewise.
19240 (video): Likewise.
19241 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19242 adjust padding accordingly. All users updated.
19243 (grub_ohci_transaction): Fix bad format specification.
19244 (GRUB_MOD_INIT): Add asserts for struct size.
19245 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19246 (grub_alloc_td): Likewise.
19247 (grub_free_queue): Likewise.
19248 (grub_uhci_transfer): Likewise.
19249 (grub_uhci_transaction): Fix bad format specification.
19250 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19251 (grub_usb_bulk_readwrite): Likewise.
19252 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19253 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19254 Made static.
19255 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19256 Made static.
19257 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19258 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19259 Transformed into C.
19260 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19261 Moved from here ...
19262 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19263 ... here. Transformed into C. Made static.
19264 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19265 Moved from here ...
19266 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19267 ... here. Transformed into C. Made static.
19268 * grub-core/kern/i386/pc/startup.S
19269 (grub_biosdisk_check_int13_extensions): Moved from here ...
19270 * grub-core/disk/i386/pc/biosdisk.c
19271 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19272 Made static.
19273 * grub-core/kern/i386/pc/startup.S
19274 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19275 * grub-core/disk/i386/pc/biosdisk.c
19276 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19277 Transformed into C. Made static.
19278 * grub-core/kern/i386/pc/startup.S
19279 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19280 * grub-core/disk/i386/pc/biosdisk.c
19281 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19282 Transformed into C. Made static.
19283 * grub-core/kern/i386/pc/startup.S
19284 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19285 * grub-core/disk/i386/pc/biosdisk.c
19286 (grub_biosdisk_get_diskinfo_standard): ... here.
19287 Transformed into C. Made static.
19288 * grub-core/kern/i386/pc/startup.S
19289 (grub_biosdisk_get_num_floppies): Moved from here ...
19290 * grub-core/disk/i386/pc/biosdisk.c
19291 (grub_biosdisk_get_num_floppies): ... here.
19292 Transformed into C. Made static.
19293 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19294 New function.
19295 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19296 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19297 Transformed into C. Made static.
19298 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19299 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19300 Transformed into C. Made static.
19301 * grub-core/kern/i386/ieee1275/init.c: Removed.
19302 * grub-core/kern/i386/misc.S: Likewise.
19303 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19304 Splitted from here ...
19305 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19306 Transformed into C. Made static. All users updated.
19307 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19308 Transformed into C. Made static. All users updated.
19309 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19310 Moved from here...
19311 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19312 Transformed into C. Made static. All users updated.
19313 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19314 Moved from here...
19315 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19316 Transformed into C. Made static. All users updated.
19317 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19318 Removed (replaced by C version).
19319 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19320 Moved from here...
19321 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19322 Transformed into C. Made static.
19323 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19324 Moved from here...
19325 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19326 ... here. Transformed into C.
19327 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19328 Moved from here...
19329 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19330 ... here. Transformed into C.
19331 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19332 Moved from here...
19333 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19334 ... here. Transformed into C. Made static.
19335 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19336 Moved from here...
19337 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19338 ... here. Transformed into C.
19339 * grub-core/kern/i386/pc/startup.S
19340 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19341 * grub-core/video/i386/pc/vbe.c
19342 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
19343 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19344 Moved from here...
19345 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19346 ... here. Transformed into C.
19347 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19348 Moved from here...
19349 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19350 ... here. Transformed into C.
19351 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19352 Moved from here...
19353 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19354 ... here. Transformed into C.
19355 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19356 Moved from here...
19357 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19358 ... here. Transformed into C.
19359 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19360 Moved from here...
19361 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19362 ... here. Transformed into C. Made static.
19363 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19364 Moved from here...
19365 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19366 ... here. Transformed into C. Made static.
19367 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19368 Moved from here...
19369 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19370 ... here. Transformed into C. Made static.
19371 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19372 pxe_rm_entry as third argument.
19373 (grub_bios_interrupt): New function.
19374 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19375 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19376 of calling grub_stop.
19377 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19378 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19379 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19380 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19381 * grub-core/lib/i386/halt.c: Moved from here ...
19382 * grub-core/lib/i386/halt.c: ... here.
19383 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19384 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19385 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19386 grub_stop_floppy.
19387 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19388 * include/grub/i386/coreboot/init.h: Removed.
19389 * include/grub/i386/multiboot/init.h: Likewise.
19390 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19391 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19392 * include/grub/i386/pc/int.h: New file.
19393 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19394 (grub_pxe_scan): Removed.
19395 (grub_pxe_call): Update prototype.
19396 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19397 prototypes.
19398 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19399 * include/grub/i386/qemu/init.h: Removed.
19400 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19401 noreturn.
19402 (grub_halt): Likewise.
19403 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19404 (grub_reboot): Likewise.
19405 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19406 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
19407 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19408
19409 2010-08-30 Robert Millan <rmh@gnu.org>
19410
19411 * NEWS: Document addition of ZFS support in `grub-install' and
19412 `grub-mkconfig'.
19413
19414 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19415
19416 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19417 dprintf output.
19418
19419 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19420
19421 Remove leftover embedding of font objects.
19422
19423 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19424 * util/grub-install.in (font): Removed.
19425 * util/grub-mkimage.c (generate_image): Remove font support. All users
19426 updated.
19427
19428 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 Remove leftover embedding of font objects.
19431
19432 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19433 * util/grub-install.in (font): Removed.
19434 * util/grub-mkimage.c (generate_image): Remove font support. All users
19435 updated.
19436
19437 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 * docs/grub.texi (Network): Fix reference to pxe_blksize.
19440 Reported by: Ian Turner
19441
19442 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19445 timeout to avoid indefinite boot stalling.
19446
19447 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19450 (grub_env_write_color_highlight): Likewise.
19451
19452 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 * grub-core/normal/term.c (print_more): Return to normal and not
19455 to standard state after printing "---MORE---".
19456
19457 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19458
19459 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19460 Mask out the bit 0x80 since it has other meaning that specifiing color.
19461
19462 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 New relocator. Allows for more kernel support and more straightforward
19465 loader writing.
19466
19467 * Makefile.am (BOOTTARGET): New variable.
19468 (QEMU32): Likewise.
19469 (linux.init.x86_64): New target.
19470 (linux.init.i386): Likewise.
19471 (multiboot.elf): Likewise.
19472 (kfreebsd.elf): Likewise.
19473 (kfreebsd.aout): Likewise.
19474 (pc-chainloader.elf): Likewise.
19475 (pc-chainloader.bin): Likewise.
19476 (ntldr.elf): Likewise.
19477 (ntldr.bin): Likewise.
19478 (multiboot2.elf): Likewise.
19479 (kfreebsd.init.x86_64): Likewise.
19480 (kfreebsd.init.i386): Likewise.
19481 (knetbsd.init.i386): Likewise.
19482 (kopenbsd.init.i386): Likewise.
19483 (knetbsd.init.x86_64): Likewise.
19484 (kopenbsd.init.x86_64): Likewise.
19485 (linux-initramfs.i386): Likewise.
19486 (linux-initramfs.x86_64): Likewise.
19487 (kfreebsd-mfsroot.i386.img): Likewise.
19488 (knetbsd.image.i386): Likewise.
19489 (kopenbsd.image.i386): Likewise.
19490 (kopenbsd.image.x86_64): Likewise.
19491 (knetbsd.miniroot-image.i386.img): Likewise.
19492 (kfreebsd-mfsroot.x86_64.img): Likewise.
19493 (knetbsd.image.x86_64): Likewise.
19494 (knetbsd.miniroot-image.x86_64.img): Likewise.
19495 (kfreebsd-mfsroot.i386.gz): Likewise.
19496 (bootcheck-kfreebsd-i386): Likewise.
19497 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19498 (bootcheck-kfreebsd-x86_64): Likewise.
19499 (knetbsd.miniroot-image.i386.gz): Likewise.
19500 (bootcheck-knetbsd-i386): Likewise.
19501 (bootcheck-kopenbsd-i386): Likewise.
19502 (bootcheck-kopenbsd-x86_64): Likewise.
19503 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19504 (bootcheck-knetbsd-x86_64): Likewise.
19505 (bootcheck-linux-i386): Likewise.
19506 (bootcheck-linux-x86_64): Likewise.
19507 (bootcheck-linux16-i386): Likewise.
19508 (bootcheck-linux16-x86_64): Likewise.
19509 (bootcheck-multiboot): Likewise.
19510 (bootcheck-multiboot2): Likewise.
19511 (bootcheck-kfreebsd-aout): Likewise.
19512 (bootcheck-pc-chainloader): Likewise.
19513 (bootcheck-ntldr): Likewise.
19514 (CLEANFILES): Add new targets.
19515 (BOOTCHECKS): New variable.
19516 (.PHONY): Add bootchecks.
19517 (SUCCESSFUL_BOOT_STRING): New variable.
19518 (BOOTCHECK_TIMEOUT): Likewise.
19519 (bootcheck): New target
19520 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19521 * configure.ac: Correct efiemu excuse.
19522 * docs/grub.texi (Supported kernels): New chapter.
19523 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19524 include/grub/mm_private.h. Simplify inclusion of
19525 include/grub/boot.h, include/grub/loader.h
19526 and include/grub/msdos_partition.h
19527 (KERNEL_HEADER_FILES) [i386_coreboot]:
19528 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19529 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19530 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19531 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19532 include/grub/machine/loader.h.
19533 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19534 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19535 extra_dist.
19536 (pci.mod): Enable on i386-multiboot.
19537 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19538 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19539 i386-qemu.
19540 (relocator.mod): Rewritten.
19541 (aout.mod): Enable on all x86.
19542 (bsd.mod): Likewise.
19543 (ntldr.mod): New module.
19544 (linux.mod): Use loader/i386/linux.c on all x86.
19545 (xnu.mod): Enable on all x86.
19546 (vga_text.mod): disable on EFI and QEMU.
19547 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19548 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19549 * grub-core/efiemu/loadcore.c: Likewise.
19550 * grub-core/efiemu/main.c: Likewise.
19551 (grub_efiemu_exit_boot_services): Removed.
19552 (grub_efiemu_finish_boot_services): Likewise.
19553 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19554 function.
19555 * grub-core/efiemu/i386/nocfgtables.c: New file.
19556 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19557 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19558 (grub_efi_finish_boot_services): Moved from here ...
19559 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19560 Fille finish memory map and related data.
19561 (finish_mmap_buf): New variable.
19562 (grub_efi_uintn_t finish_mmap_size): Likewise.
19563 (grub_efi_uintn_t finish_key): Likewise.
19564 (grub_efi_uintn_t finish_desc_size): Likewise.
19565 (grub_efi_uint32_t finish_desc_version): Likewise.
19566 (grub_efi_is_finished): Likewise.
19567 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19568 finished.
19569 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19570 (grub_elf64_phdr_iterate): Likewise.
19571 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19572 (grub_os_area_size): Likewise.
19573 (grub_machine_init): Don't reserve os area.
19574 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19575 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19576 * grub-core/kern/i386/loader.S: Removed.
19577 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19578 (grub_os_area_size): Likewise.
19579 (grub_machine_init): Don't reserve os area.
19580 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19581 Don't call grub_dl_unload_all.
19582 Don't include loader.S.
19583 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19584 Declare the memory after _end as available.
19585 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
19586 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
19587 (GRUB_MM_ALLOC_MAGIC): Moved from here...
19588 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19589 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19590 * include/grub/mm_private.h (grub_mm_header): ... here.
19591 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19592 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
19593 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19594 (grub_mm_region): ..here. Removed addr. Added pre_size.
19595 All users updated.
19596 * grub-core/kern/mm.c (base): Renamed to ...
19597 (grub_mm_base): ... this. Made global.
19598 (grub_real_malloc): Alloc from end of region.
19599 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
19600 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
19601 * grub-core/kern/powerpc/cache_flush.S: ... here.
19602 * grub-core/lib/efi/relocator.c: New file.
19603 * grub-core/lib/i386/relocator.c: Rewritten.
19604 * grub-core/lib/i386/relocator16.S: New file.
19605 * grub-core/lib/i386/relocator32.S: Likewise.
19606 * grub-core/lib/i386/relocator64.S: Likewise.
19607 * grub-core/lib/i386/relocator_asm.S: Rewritten.
19608 * grub-core/lib/i386/relocator_common.S: New file.
19609 * grub-core/lib/ieee1275/relocator.c: Likewise.
19610 * grub-core/lib/mips/relocator.c: Rewritten.
19611 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
19612 stylistic adjustments.
19613 * grub-core/lib/powerpc/relocator.c: New file.
19614 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
19615 * grub-core/lib/relocator.c: Rewritten.
19616 * grub-core/lib/x86_64/relocator_asm.S: New file.
19617 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
19618 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
19619 (bsd_tag): New struct.
19620 (tags): New variable.
19621 (tags_last): Likewise.
19622 (netbsd_module): New struct.
19623 (netbsd_mods): New variable.
19624 (netbsd_mods_last): Likewise.
19625 (openbsd_opts): New parameter "serial".
19626 (OPENBSD_SERIAL_ARG): New definition.
19627 (netbsd_opts): New parameter "serial".
19628 (NETBSD_SERIAL_ARG): New definition.
19629 (grub_freebsd_add_meta): Reorganised into ...
19630 (grub_bsd_add_meta): ...this. All users updated.
19631 (grub_freebsd_add_mmap): Reorganised into ...
19632 (generate_e820_mmap): ...this...
19633 (grub_bsd_add_mmap): ...and this. All users updated.
19634 (grub_freebsd_list_modules): Use tags.
19635 (grub_netbsd_add_meta_module): New function.
19636 (grub_netbsd_list_modules): Likewise.
19637 (grub_freebsd_boot): Use relocator and finish EFI.
19638 (grub_openbsd_boot): Likewise.
19639 (grub_netbsd_setup_video): New function.
19640 (grub_netbsd_add_modules): Likewise.
19641 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
19642 and finish EFI.
19643 (grub_bsd_unload): Unload tags.
19644 (grub_bsd_load_aout): Use relocator.
19645 (grub_bsd_elf32_size_hook): New function.
19646 (grub_bsd_elf32_hook): Use relocator.
19647 (grub_bsd_elf64_size_hook): New function.
19648 (grub_bsd_elf64_hook): Use relocator.
19649 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
19650 (grub_bsd_load): Zero-out openbsd_ramdisk.
19651 (grub_bsd_load): Use relocator.
19652 (grub_cmd_openbsd): Support serial.
19653 (grub_cmd_netbsd): Support modules.
19654 (grub_cmd_freebsd_module): Use relocator.
19655 (grub_netbsd_module_load): New function.
19656 (grub_cmd_netbsd_module): Likewise.
19657 (grub_cmd_openbsd_ramdisk): Likewise.
19658 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
19659 kopenbsd_ramdisk.
19660 (GRUB_MOD_FINI): Unregister new commands.
19661 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
19662 (grub_freebsd_load_elfmodule_obj): Use relocator.
19663 (grub_freebsd_load_elfmodule): Likewise.
19664 (grub_freebsd_load_elf_meta): Likewise.
19665 (grub_netbsd_load_elf_meta): New function.
19666 (grub_openbsd_find_ramdisk): Likewise.
19667 * grub-core/loader/i386/bsd_helper.S: Removed.
19668 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
19669 * grub-core/loader/i386/bsd_trampoline.S: Removed.
19670 * grub-core/loader/i386/efi/linux.c: Likewise.
19671 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
19672 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
19673 (DEFAULT_VIDEO_MODE): Likewise.
19674 (real_mode_target): New variable.
19675 (prot_mode_target): Likewise.
19676 (initrd_mem_target): Likewise.
19677 (relocator): Likewise.
19678 (efi_mmap_buf): Likewise.
19679 (efi_mmap_size): Likewise.
19680 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
19681 (free_pages): Use relocator.
19682 (allocate_pages): Account for efi_mmap and use relocator. Return error.
19683 (grub_linux_setup_video): Return error.
19684 (grub_linux_trampoline_start): Removed.
19685 (grub_linux_trampoline_end): Likewise.
19686 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
19687 andd video parameters depending on firmware.
19688 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
19689 [GRUB_MACHINE_EFI]: Pass EFI parameters.
19690 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
19691 (grub_cmd_initrd): Use relocator.
19692 * grub-core/loader/i386/linux_trampoline.S: Removed.
19693 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
19694 (elf_sec_entsize): Likewise.
19695 (elf_sec_shstrndx): Likewise.
19696 (elf_sections): Likewise.
19697 (grub_multiboot_load): Use relocator.
19698 (grub_multiboot_get_mbi_size): Account for sections.
19699 (grub_multiboot_make_mbi): Use relocator and support sections.
19700 (grub_multiboot_add_elfsyms): New function.
19701 (grub_multiboot_free_mbi): Free sections.
19702 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
19703 (grub_linux_real_target): Likewise.
19704 (grub_linux_real_chunk): Likewise.
19705 (grub_linux16_prot_size): Likewise.
19706 (grub_linux16_boot): Use relocator.
19707 (grub_linux_unload): Unload relocator.
19708 (grub_cmd_linux): Use relocator.
19709 (grub_cmd_initrd): Likewise.
19710 * grub-core/loader/i386/pc/ntldr.c: New file.
19711 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
19712 Don't try to guess CPU frequency.
19713 (grub_xnu_set_video): Stretch bitmap.
19714 (grub_xnu_boot): Use relocator.
19715 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
19716 (grub_linux_unload): Free relocator.
19717 (grub_linux_load32): Use relocator.
19718 (grub_linux_load64): Likewise.
19719 (grub_cmd_initrd): Likewise.
19720 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
19721 (grub_multiboot_unload): Unload relocator.
19722 (grub_cmd_multiboot): Use relocator.
19723 (grub_cmd_module): Likewise.
19724 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
19725 Use relocator and support sections.
19726 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
19727 (elf_sec_entsize): Likewise.
19728 (elf_sec_shstrndx): Likewise.
19729 (elf_sections): Likewise.
19730 (grub_multiboot_load): Use relocator.
19731 (grub_multiboot_get_mbi_size): Account for sections.
19732 (grub_multiboot_make_mbi): Use relocator and support sections.
19733 (grub_multiboot_add_elfsyms): New function.
19734 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
19735 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
19736 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
19737 Prototype changed. All users updated.
19738 (grub_xnu_align_heap): Simplified.
19739 (grub_xnu_writetree_toheap): Likewise.
19740 (grub_xnu_unload): Unload relocator.
19741 (grub_cmd_xnu_kernel): Use relocator.
19742 (grub_cmd_xnu_kernel64): Likewise.
19743 (grub_xnu_register_memory): Simplified.
19744 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
19745 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
19746 EFI is finished.
19747 (grub_console_checkkey): Likewise.
19748 (grub_console_getkey): Likewise.
19749 (grub_console_getwh): Likewise.
19750 (grub_console_getxy): Likewise.
19751 (grub_console_gotoxy): Likewise.
19752 (grub_console_cls): Likewise.
19753 (grub_console_setcolorstate): Likewise.
19754 (grub_console_setcursor): Likewise.
19755 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
19756 * grub-core/tests/boot/kbsd.init-i386.S: New file.
19757 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
19758 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
19759 * grub-core/tests/boot/kernel-8086.S: Likewise.
19760 * grub-core/tests/boot/kernel-i386.S: Likewise.
19761 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
19762 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
19763 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
19764 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
19765 * grub-core/tests/boot/knetbsd.cfg: Likewise.
19766 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
19767 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
19768 * grub-core/tests/boot/linux.cfg: Likewise.
19769 * grub-core/tests/boot/linux.init-i386.S: Likewise.
19770 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
19771 * grub-core/tests/boot/linux16.cfg: Likewise.
19772 * grub-core/tests/boot/multiboot.cfg: Likewise.
19773 * grub-core/tests/boot/multiboot2.cfg: Likewise.
19774 * grub-core/tests/boot/ntldr.cfg: Likewise.
19775 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
19776 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
19777 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
19778 New definition.
19779 * include/grub/dl.h (grub_dl_unload_all): Removed.
19780 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
19781 (grub_efi_finish_boot_services): Change prototype.
19782 (grub_efi_is_finished): New variable.
19783 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
19784 Changed prototype.
19785 (grub_efiemu_finish_boot_services): Removed.
19786 (grub_machine_efiemu_init_tables): New prototype.
19787 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
19788 (grub_elf64_phdr_iterate): Likewise.
19789 * include/grub/i386/bsd.h: Include relocator.h.
19790 (freebsd_tag_header): New struct.
19791 (grub_openbsd_bios_mmap): Removed.
19792 (grub_unix_real_boot): Removed.
19793 (grub_freebsd_load_elfmodule32): Changed prototype.
19794 (grub_freebsd_load_elfmodule_obj64): Likewise.
19795 (grub_freebsd_load_elf_meta32): Likewise.
19796 (grub_freebsd_load_elf_meta64): Likewise.
19797 (grub_freebsd_add_meta): Removed.
19798 (grub_netbsd_load_elf_meta32): New prototype.
19799 (grub_netbsd_load_elf_meta64): Likewise.
19800 (grub_bsd_add_meta): Likewise.
19801 (grub_openbsd_ramdisk_descriptor): New struct.
19802 (grub_openbsd_find_ramdisk32): New prototype.
19803 (grub_openbsd_find_ramdisk64): Likewise.
19804 * include/grub/i386/coreboot/loader.h: Removed.
19805 * include/grub/i386/efi/loader.h: Likewise.
19806 * include/grub/i386/ieee1275/loader.h: Likewise.
19807 * include/grub/i386/linux.h (linux_kernel_header): Change void *
19808 to grub_uint32_t.
19809 * include/grub/i386/loader.h: Removed.
19810 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
19811 value.
19812 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
19813 (grub_phys_addr_t): New type.
19814 (grub_vtop): New inline function.
19815 (grub_map_memory): Likewise.
19816 (grub_unmap_memory): Likewise.
19817 * include/grub/i386/multiboot/loader.h: Removed.
19818 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
19819 (NETBSD_BTINFO_CONSOLE): New definition.
19820 (NETBSD_BTINFO_SYMTAB): Likewise.
19821 (NETBSD_BTINFO_MODULES): Likewise.
19822 (NETBSD_BTINFO_FRAMEBUF): Likewise.
19823 (grub_netbsd_bootinfo): New struct.
19824 (grub_netbsd_btinfo_common): Use explicit bitsize.
19825 (grub_netbsd_btinfo_mmap_entry): Removed.
19826 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
19827 (grub_netbsd_btinfo_bootdisk): New struct.
19828 (grub_netbsd_btinfo_symtab): Likewise.
19829 (grub_netbsd_btinfo_serial): Likewise.
19830 (grub_netbsd_btinfo_modules): Likewise.
19831 (grub_netbsd_btinfo_framebuf): Likewise.
19832 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
19833 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
19834 Likewise.
19835 (grub_openbsd_bootargs): Use explicit bitsize.
19836 (grub_openbsd_bootarg_console): New struct.
19837 (GRUB_OPENBSD_COM_MAJOR): New definition.
19838 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
19839 * include/grub/i386/pc/efiemu.h: Removed.
19840 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
19841 * include/grub/i386/qemu/loader.h: Removed.
19842 * include/grub/i386/relocator.h: Rewritten.
19843 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
19844 * include/grub/mips/memory.h: New file.
19845 * include/grub/mips/multiboot.h: Rewritten.
19846 * include/grub/mips/relocator.h: Rewritten.
19847 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
19848 (grub_vtop): New function.
19849 (grub_map_memory): Likewise.
19850 (grub_unmap_memory): Likewise.
19851 * include/grub/misc.h (ALIGN_DOWN): New definition.
19852 * include/grub/mm.h (grub_mm_check_real): New proto.
19853 (GRUB_MM_CHECK): New definition.
19854 * include/grub/mm_private.h: New file.
19855 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
19856 (grub_multiboot_get_mbi_size): Removed.
19857 (grub_multiboot_make_mbi): Change prottype.
19858 (grub_multiboot_set_accepts_video): New proto.
19859 (grub_multiboot_add_elfsyms): Likewise.
19860 (grub_multiboot_payload_eip): New variable.
19861 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
19862 New prototype.
19863 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
19864 New definition.
19865 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
19866 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
19867 * include/grub/powerpc/ieee1275/loader.h: Removed.
19868 * include/grub/powerpc/memory.h: New file.
19869 * include/grub/powerpc/relocator.h: Likewise.
19870 * include/grub/relocator.h: Likewise.
19871 * include/grub/relocator_private.h: Likewise.
19872 * include/grub/sparc64/ieee1275/loader.h: Removed.
19873 * include/grub/x86_64/memory.h: New file.
19874 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
19875 (grub_xnu_heap_malloc): Likewise.
19876 (grub_xnu_heap_real_start): Removed.
19877 (grub_xnu_heap_start): Likewise.
19878 (grub_xnu_relocator): New variable.
19879 (grub_xnu_heap_target_start): Likewise.
19880 * tests/util/grub-shell.in: Support non-pc.
19881 * util/grub-mkimage.c (image_targets): Fix multiboot target.
19882
19883 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
19886 on malloc error.
19887 (grub_bidi_logical_to_visual): Check that malloc succeded.
19888 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
19889 puts.
19890 (grub_xputs_normal): Likewise.
19891
19892 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19893
19894 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
19895 extra_dist.
19896
19897 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * grub-core/efiemu/runtime/efiemu.sh: Removed.
19900
19901 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
19904
19905 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
19908 dprintf.
19909
19910 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
19911
19912 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
19913
19914 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19915
19916 * grub-core/normal/term.c (print_more): Fix a memory leak.
19917 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
19918 (grub_xputs_normal): Likewise.
19919
19920 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
19923 the begining of the string
19924
19925 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 * grub-core/script/script.c (grub_script_parse): Free parsed on
19928 failure.
19929
19930 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
19933 on failure.
19934
19935 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
19938 return.
19939
19940 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
19943 (scroll_up): Fix a memory leak.
19944
19945 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
19948 errors.
19949
19950 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
19951
19952 Handle USB pendrives exposed as floppies.
19953
19954 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
19955 floppy.
19956 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19957 Check for partitions on all devices.
19958
19959 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
19962 (readkey): Likewise.
19963
19964 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
19965
19966 Multiple variable names support to "export" command.
19967
19968 * normal/context.c (grub_cmd_export): "export" command supports
19969 multiple variable names.
19970
19971 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
19972
19973 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
19974 --target=drive output to Mach device name.
19975
19976 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19977
19978 New Automake based build system for GRUB.
19979
19980 * ABOUT-NLS: New file.
19981 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
19982 in Makefile.util.def file.
19983 * Makefile.util.def: New file. Autogen build definitions file for
19984 GRUB host utils.
19985 * conf/Makefile.common: New file. Common variables for GRUB host
19986 utils and target modules.
19987 * conf/Makefile.extra-dist: New file. Extra files for make dist.
19988 * docs/Makefile.am: New file. Automake file for docs.
19989 * gentpl.py: New file. Python script to generate Autogen
19990 template.
19991 * grub-core/Makefile.am: New file. GRUB target modules' rules
19992 that doesn't fit in Makefile.core.def file.
19993 * grub-core/Makefile.core.def: New file. Autogen build
19994 definitions file for GRUB target modules.
19995 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
19996 specific setjmp.S file.
19997 * po/Makefile.am: New file.
19998
19999 * .bzrignore: New ignores.
20000 * INSTALL: New requirements, without Ruby.
20001 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20002 * autogen.sh: Updated to invoke autogen as necessary.
20003 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20004 and defines for Automake conditionals.
20005 * geninit.sh: Refactoring.
20006
20007 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20008 necessary.
20009 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20010 New prototype.
20011
20012 * include/grub/test.h: Fix functional test modules' naming.
20013 * grub-core/tests/example_functional_test.c: Fix test module name.
20014
20015 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20016 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20017 * util/grub-editenv.c: Likewise.
20018 * util/grub-fstest.c: Likewise.
20019 * util/grub-mkdevicemap.c: Likewise.
20020 * util/grub-mkfont.c: Likewise.
20021 * util/grub-mkimage.c: Likewise.
20022 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20023 * util/grub-probe.c: Likewise.
20024 * util/grub-script-check.c: Likewise.
20025 * util/i386/pc/grub-setup.c: Likewise.
20026 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20027
20028 * tests/util/grub-shell.in: Fix override directory path.
20029 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20030 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20031
20032 * util/lvm.c: Update #includes.
20033 * util/raid.c: Likewise.
20034 * util/resolve.c: Likewise.
20035 * grub-core/bus/emu/pci.c: Likewise.
20036 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20037 * grub-core/lib/posix_wrap/string.h: Likewise.
20038 * grub-core/kern/emu/main.c: Likewise.
20039
20040 * grub-core/gensymlist.sh: New file. Script for generating kernel
20041 symbols file.
20042 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20043
20044 * grub-core/gentrigtables.c: Fix unused variable warnings.
20045
20046 * Makefile.in: Removed.
20047 * conf/any-emu.rmk: Removed.
20048 * conf/common.rmk: Removed.
20049 * conf/i386-coreboot.rmk: Removed.
20050 * conf/i386-efi.rmk: Removed.
20051 * conf/i386-ieee1275.rmk: Removed.
20052 * conf/i386-multiboot.rmk: Removed.
20053 * conf/i386-pc.rmk: Removed.
20054 * conf/i386-qemu.rmk: Removed.
20055 * conf/i386.rmk: Removed.
20056 * conf/mips-yeeloong.rmk: Removed.
20057 * conf/mips.rmk: Removed.
20058 * conf/powerpc-ieee1275.rmk: Removed.
20059 * conf/sparc64-ieee1275.rmk: Removed.
20060 * conf/tests.rmk: Removed.
20061 * conf/x86-efi.rmk: Removed.
20062 * conf/x86_64-efi.rmk: Removed.
20063 * gendistlist.sh: Removed.
20064 * geninitheader.sh: Removed.
20065 * genkernsyms.sh.in: Removed.
20066 * genmk.rb: Removed.
20067 * gensymlist.sh.in: Removed.
20068 * mkinstalldirs: Removed.
20069 * boot: Moved ...
20070 * grub-core/boot: ... to here.
20071 * bus: Moved ...
20072 * grub-core/bus: ... to here.
20073 * commands: Moved ...
20074 * grub-core/commands: ... to here.
20075 * disk: Moved ...
20076 * grub-core/disk: ... to here.
20077 * efiemu: Moved ...
20078 * grub-core/efiemu: ... to here.
20079 * font: Moved ...
20080 * grub-core/font: ... to here.
20081 * fs: Moved ...
20082 * grub-core/fs: ... to here.
20083 * gencmdlist.sh: Moved ...
20084 * grub-core/gencmdlist.sh: ... to here.
20085 * genemuinit.sh: Moved ...
20086 * grub-core/genemuinit.sh: ... to here.
20087 * genemuinitheader.sh: Moved ...
20088 * grub-core/genemuinitheader.sh: ... to here.
20089 * genfslist.sh: Moved ...
20090 * grub-core/genfslist.sh: ... to here.
20091 * genhandlerlist.sh: Moved ...
20092 * grub-core/genhandlerlist.sh: ... to here.
20093 * genmoddep.awk: Moved ...
20094 * grub-core/genmoddep.awk: ... to here.
20095 * genmodsrc.sh: Moved ...
20096 * grub-core/genmodsrc.sh: ... to here.
20097 * genpartmaplist.sh: Moved ...
20098 * grub-core/genpartmaplist.sh: ... to here.
20099 * genparttoollist.sh: Moved ...
20100 * grub-core/genparttoollist.sh: ... to here.
20101 * genterminallist.sh: Moved ...
20102 * grub-core/genterminallist.sh: ... to here.
20103 * gentrigtables.c: Moved ...
20104 * grub-core/gentrigtables.c: ... to here.
20105 * genvideolist.sh: Moved ...
20106 * grub-core/genvideolist.sh: ... to here.
20107 * gettext: Moved ...
20108 * grub-core/gettext: ... to here.
20109 * gfxmenu: Moved ...
20110 * grub-core/gfxmenu: ... to here.
20111 * gnulib: Moved ...
20112 * grub-core/gnulib: ... to here.
20113 * hello: Moved ...
20114 * grub-core/hello: ... to here.
20115 * hook: Moved ...
20116 * grub-core/hook: ... to here.
20117 * io: Moved ...
20118 * grub-core/io: ... to here.
20119 * kern: Moved ...
20120 * grub-core/kern: ... to here.
20121 * lib: Moved ...
20122 * grub-core/lib: ... to here.
20123 * loader: Moved ...
20124 * grub-core/loader: ... to here.
20125 * mmap: Moved ...
20126 * grub-core/mmap: ... to here.
20127 * normal: Moved ...
20128 * grub-core/normal: ... to here.
20129 * partmap: Moved ...
20130 * grub-core/partmap: ... to here.
20131 * parttool: Moved ...
20132 * grub-core/parttool: ... to here.
20133 * script: Moved ...
20134 * grub-core/script: ... to here.
20135 * term: Moved ...
20136 * grub-core/term: ... to here
20137 * tests/example_functional_test.c: Moved ...
20138 * grub-core/tests/example_functional_test.c: ... to here.
20139 * tests/lib/functional_test.c: Moved ...
20140 * grub-core/tests/lib/functional_test.c: ... to here.
20141 * tests/lib/test.c: Moved ...
20142 * grub-core/tests/lib/test.c: ... to here.
20143 * video: Moved ...
20144 * grub-core/video: ... to here.
20145
20146 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20147
20148 Replace --enable-grub-emu-modules with grub-emu-lite.
20149
20150 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20151 cache.S.
20152
20153 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20154 * kern/emu/full.c: New file. For grub-emu specific initialization.
20155 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20156 * kern/emu/main.c: Call initialization function grub_emu_init.
20157
20158 * Makefile.in: Include grub-emu-lite in install.
20159 * commands/parttool.c: Use grub_no_autoload to differentiate
20160 between grub-emu and grub-emu-lite.
20161 * include/grub/misc.h: New variable grub_no_autoload.
20162
20163 * conf/any-emu.rmk: New rules for grub-emu-lite.
20164 * configure.ac: Remove --enable-grub-emu-modules.
20165 * genmk.rb: Cleanup unnecessary rules.
20166 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20167
20168 * normal/main.c: Don't load list files on grub-emu-lite.
20169 * util/misc.c (grub_arch_sync_caches): Removed.
20170
20171 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
20172
20173 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20174 grub-mkimage rather than grub-mkelfimage.
20175 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20176
20177 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20180 a key after CapsLock or NumLock. It's just a qemu bug.
20181
20182 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20183
20184 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20185 needed by libusb wrapper.
20186
20187 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20188
20189 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20190
20191 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20194 --nounzip is passed.
20195
20196 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20197
20198 USB hotunplugging and USB serial support.
20199
20200 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20201 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20202 (grub_uhci_transfer): Respect timeout and set *actual.
20203 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20204 non-standard length.
20205 (grub_usb_device_attach): Autoload modules.
20206 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20207 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20208 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20209 users updated.
20210 (grub_usb_add_hub): Fill nports and children.
20211 (attach_root_port): Receive hub instead of controller.
20212 All users updated. Fill hub->devices.
20213 (grub_usb_root_hub): Allocate hub->devices.
20214 (detach_device): New function.
20215 (poll_nonroot_hub): Fill children and detach devices.
20216 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20217 actual arguments. All users updated.
20218 (grub_usb_bulk_read_extended): New function.
20219 * bus/usb/serial/common.c: New file.
20220 * bus/usb/serial/ftdi.c: Likewise.
20221 * bus/usb/serial/pl2303.c: Likewise.
20222 * commands/terminal.c (handle_command): Support wildcard.
20223 * commands/usbtest.c: Output "Unknown" instead of empty string.
20224 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20225 (usbserial_common_mod_SOURCES): New variable.
20226 (usbserial_common_mod_CFLAGS): Likewise.
20227 (usbserial_common_mod_LDFLAGS): Likewise.
20228 (pkglib_MODULES): Add usbserial_pl2303.mod.
20229 (usbserial_pl2303_mod_SOURCES): New variable.
20230 (usbserial_pl2303_mod_CFLAGS): Likewise.
20231 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20232 (pkglib_MODULES): Add usbserial_ftdi.mod.
20233 (usbserial_ftdi_mod_SOURCES): New variable.
20234 (usbserial_ftdi_mod_CFLAGS): Likewise.
20235 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20236 (pkglib_MODULES): Add serial.mod.
20237 (serial_mod_SOURCES): New variable.
20238 (serial_mod_CFLAGS): Likewise.
20239 (serial_mod_LDFLAGS): Likewise.
20240 * conf/i386-pc.rmk: Likewise.
20241 * conf/mips-yeeloong.rmk: Likewise.
20242 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20243 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20244 * disk/usbms.c (first_available_slot): New variable.
20245 (grub_usbms_attach): Don't reuse free slots due to potential cache
20246 problems.
20247 * include/grub/serial.h: Moved to ..
20248 * include/grub/ns8250.h: ...this.
20249 * include/grub/serial.h: New file.
20250 * include/grub/term.h (grub_term_poll_usb): New variable.
20251 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20252 readkey. All users updated.
20253 (grub_terminfo_output_state): Pass term to put.
20254 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20255 (grub_usb_controller_dev): Add timeout and actual arguments to
20256 transfer. All users updated.
20257 (grub_usb_interface): New field detach_data.
20258 (grub_usb_device): New fields children and nports.
20259 (grub_usb_ep_type_t): New type.
20260 (grub_usb_get_ep_type): New function.
20261 (grub_usb_bulk_read_extended): Likewise.
20262 * include/grub/usbdesc.h (grub_usb_desc): New type.
20263 * include/grub/usbserial.h: New file.
20264 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20265 * kern/term.c (grub_term_poll_usb): New variable.
20266 (grub_getkey): Call grub_term_poll_usb if set.
20267 (grub_checkkey): Likewise.
20268 (grub_getkeystatus): Likewise.
20269 * term/serial.c: Moved controller-specific parts to ...
20270 * term/ns8250.c: ... here.
20271 * term/serial.c: Mostly rewritten.
20272 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20273 according to spec.
20274
20275 2010-08-20 Robert Millan <rmh@gnu.org>
20276
20277 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20278 a separate module and maybe other interesting combinations.
20279
20280 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20281 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20282 (kfreebsd_entry): Add generic filesystem module load routine.
20283 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20284
20285 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
20286
20287 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20288 "numcenter" (I misunderstood the purpose of this entry).
20289 * docs/grub.texi (sendkey): Likewise.
20290
20291 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
20292
20293 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20294 status flag options; simply omitting the option is equivalent and
20295 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20296 (keysym_table): Rename "num5numlock" to "numlock".
20297 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20298 can uniformly say that only the last of multiple `sendkey'
20299 invocations has any effect.
20300 * docs/grub.texi (sendkey): New section.
20301
20302 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
20303
20304 * commands/i386/pc/sendkey.c (options): Fix three typos.
20305
20306 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 Implement sendkey support.
20309
20310 * commands/i386/pc/sendkey.c: New file.
20311 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20312 (sendkey_mod_SOURCES): New variable.
20313 (sendkey_mod_CFLAGS): Likewise.
20314 (sendkey_mod_LDFLAGS): Likewise.
20315
20316 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
20317
20318 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20319 fix warnings from Autoconf.
20320
20321 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
20322
20323 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20324 to avoid false positives with some assemblers that output things
20325 like "someprefix_func" as part of their output.
20326
20327 2010-08-15 Robert Millan <rmh@gnu.org>
20328
20329 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20330 errors.
20331 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20332 grub_get_libzfs_handle() errors.
20333
20334 2010-08-14 Robert Millan <rmh@gnu.org>
20335
20336 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20337 filesystem is not ZFS.
20338
20339 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20340
20341 Fix for misspelled color names defaulting to black/black (bug
20342 reported by Doug Nazar)
20343
20344 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20345 status to prototype.
20346 * normal/color.c (grub_parse_color_name_pair): Return failure
20347 status.
20348 (grub_env_write_color_normal): Ignore bad color names.
20349 (grub_env_write_color_highlight): Likewise.
20350 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20351
20352 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20353
20354 "shift" command support to GRUB script.
20355
20356 * include/grub/script_sh.h (grub_script_shift): New prototype.
20357 * script/execute.c (grub_script_shift): New function.
20358 * script/main.c (grub_script_init): Register shift command.
20359 (grub_script_fini): Unregister shift command.
20360 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20361
20362 * tests/grub_script_shift.in: New testcase.
20363 * conf/tests.rmk: Rules for new testcase.
20364
20365 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20366
20367 "continue" command support to GRUB script.
20368
20369 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20370 (grub_script_break): Continue support.
20371 * script/main.c (grub_script_init): Register continue command.
20372 (grub_script_fini): Unregister continue command.
20373
20374 * tests/grub_script_continue.in: New testcase.
20375 * conf/tests.rmk: Rules for new testcase.
20376
20377 2010-08-12 BVK Chaitanya <bvk@dbook>
20378
20379 "break" command support to GRUB script.
20380
20381 * conf/common.rmk: Rule updates to grub-script-check.
20382 * include/grub/misc.h (grub_min): New function.
20383 * include/grub/script_sh.h (grub_script_init): New prototype.
20384 (grub_script_fini): New prototype.
20385 (grub_script_break): New prototype.
20386 * script/main.c (grub_script_init): New function.
20387 (grub_script_fini): New function.
20388 * script/execute.c (grub_script_break): New function.
20389 * normal/main.c: Calls to grub_script_{init,fini}.
20390 * util/grub-script-check.c (grub_script_break): New function.
20391
20392 * tests/grub_script_break.in: New testcase.
20393 * conf/tests.rmk: Rules for new test case.
20394
20395 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20396
20397 Function parameters support to GRUB script.
20398
20399 * script/yylex.l (VARIABLE): Regular expression update.
20400 * script/function.c (grub_script_function_call): Moved ...
20401 * script/execute.c (grub_script_function_call): ... to here.
20402 (grub_script_execute_arglist_to_argv): Removed.
20403 (grub_script_arglist_to_argv): New function.
20404 * script/argv.c: New file.
20405 (grub_script_argv_free): New function.
20406 (grub_script_argv_next): Likewise.
20407 (grub_script_argv_append): Likewise.
20408 (grub_script_argv_split_append): Likewise.
20409 * include/grub/script_sh.h (grub_script_argv): New struct.
20410 (grub_script_argv_free): New function.
20411 (grub_script_argv_next): Likewise.
20412 (grub_script_argv_append): Likewise.
20413 (grub_script_argv_split_append): Likewise.
20414
20415 * conf/common.rmk (normal.mod): New source script/argv.c.
20416
20417 * tests/grub_script_echo1.in: More tests.
20418 * tests/grub_script_vars1.in: Likewise.
20419 * tests/grub_script_functions.in: New test case.
20420 * conf/tests.rmk: Rules for new testcase.
20421
20422 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20423
20424 Remove grub_script_cmdblock struct.
20425
20426 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20427 * script/parser.y: Likewise.
20428 * script/execute.c: Rename cmdblock suffix to cmdlist.
20429 * script/script.c: Likewise.
20430 * util/grub-script-check.c: Likewise.
20431
20432 2010-08-11 Yves Blusseau <blusseau@zetam.org>
20433
20434 * .bzrignore: add grub-macho2img
20435
20436 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20439
20440 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 Remove the dump of sm712 initialisation sequence.
20443
20444 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20445 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20446 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20447 (GRUB_VGA_CR_*): Added many registers.
20448 (GRUB_VGA_SR_*): Likewise.
20449 (GRUB_VGA_GR_*): Likewise.
20450 (grub_vga_write_arx): New function.
20451 (grub_video_hw_config): New struct.
20452 (grub_vga_set_geometry): New function.
20453 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20454 GRUB_PCI_CLASS_SUBCLASS_VGA.
20455 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20456 * video/sm712.c (grub_sm712_write_reg): New function
20457 (grub_sm712_read_reg): Likewise.
20458 (grub_sm712_sr_write): Likewise.
20459 (grub_sm712_gr_write): Likewise.
20460 (grub_sm712_cr_write): Likewise.
20461 (grub_sm712_write_arx): Likewise.
20462 (grub_sm712_cr_shadow_write): Likewise.
20463 (grub_sm712_write_dda_lookup): Likewise.
20464 (grub_video_sm712_setup): Initialise the video rather then
20465 blindly replay the dump.
20466 (main) [TEST]: Add a routine to be able to compile as standalone for
20467 tests.
20468 * video/sm712_init.c (sm712_init): Removed.
20469 (sm712_sr_seq1): New array.
20470 (sm712_sr_seq2): Likewise.
20471
20472 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * include/grub/vga.h: Add missing grub/pci.h include.
20475
20476 2010-08-10 Yves Blusseau <blusseau@zetam.org>
20477
20478 * util/grub-macho2img.c (main): fix typo
20479
20480 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20483 (grub_vga_gr_read): Likewise.
20484 (grub_vga_cr_write): Likewise.
20485 (grub_vga_cr_read): Likewise.
20486 (grub_vga_sr_write): Likewise.
20487 (grub_vga_sr_read): Likewise.
20488 (grub_vga_palette_read): Likewise.
20489 (grub_vga_palette_write): Likewise.
20490 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20491 (grub_sm712_sr_read): New function.
20492 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20493 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20494
20495 2010-08-09 Robert Millan <rmh@gnu.org>
20496
20497 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20498 out unused variables on non-ZFS build.
20499
20500 2010-08-08 Robert Millan <rmh@gnu.org>
20501
20502 Fix path generation for sub-filesystems in ZFS.
20503
20504 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20505 missing slash.
20506
20507 2010-08-08 Robert Millan <rmh@gnu.org>
20508
20509 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20510
20511 2010-08-08 Robert Millan <rmh@gnu.org>
20512
20513 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20514 exist, issue a proper error message (rely on `ls' for translated
20515 strings).
20516
20517 2010-08-08 Robert Millan <rmh@gnu.org>
20518
20519 Fix grub-probe invocation.
20520
20521 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20522
20523 2010-08-04 Robert Millan <rmh@gnu.org>
20524
20525 * configure.ac: Remove checks for getfsstat() and getmntany().
20526 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20527 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20528 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20529 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20530 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20531 function.
20532 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20533 via find_mount_point_from_dir() and getfsstat() / getmntany().
20534
20535 2010-08-04 Robert Millan <rmh@gnu.org>
20536
20537 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20538 (grub_find_zpool_from_mount_point): Merge into ...
20539 (grub_find_zpool_from_dir): ... this.
20540 * kern/emu/misc.c: Likewise.
20541
20542 * kern/emu/misc.c
20543 (grub_make_system_path_relative_to_its_root): Replace
20544 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20545 with grub_find_zpool_from_dir().
20546 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20547
20548 2010-08-04 Robert Millan <rmh@gnu.org>
20549
20550 Support OpenSolaris in ZFS device resolution.
20551
20552 * configure.ac: Check for getmntany().
20553 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20554 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20555 support.
20556
20557 2010-08-03 Robert Millan <rmh@gnu.org>
20558
20559 Fix grub-emu build.
20560
20561 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20562 * include/grub/emu/misc.h: ... here.
20563
20564 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20565 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20566
20567 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20568 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20569 (grub_get_libzfs_handle): Move to ...
20570 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20571 (grub_get_libzfs_handle): ... here.
20572
20573 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20574
20575 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20576 as command name case.
20577
20578 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
20579
20580 * disk/raid.c (insert_array): Select unique numbers for named arrays
20581 as well, for use as keys in the disk cache.
20582
20583 2010-08-01 Robert Millan <rmh@gnu.org>
20584
20585 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20586 kFreeBSD device name, except on ZFS where the filesystem label is
20587 used.
20588 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20589 `/boot/zfs/zpool.cache'.
20590 Set mountfrom kernel variable using ${kfreebsd_device}.
20591
20592 2010-08-01 Robert Millan <rmh@gnu.org>
20593
20594 Make it even harder to use uninitialized `libzfs_handle' (and
20595 make the interface a bit simpler).
20596
20597 * include/grub/util/misc.h (grub_util_init_libzfs)
20598 (libzfs_handle): Remove.
20599 (grub_get_libzfs_handle): New prototype.
20600
20601 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
20602 attribute.
20603 (grub_util_init_libzfs): Remove.
20604 (grub_get_libzfs_handle): New function.
20605
20606 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
20607 grub_get_libzfs_handle() to obtain a libzfs handle instead of
20608 accessing `libzfs_handle' directly.
20609
20610 2010-08-01 Robert Millan <rmh@gnu.org>
20611
20612 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20613 (grub_find_zpool_from_mount_point): New function prototypes.
20614
20615 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20616 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20617
20618 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20619 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20620 `static' attribute.
20621
20622 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20623 finding zpool from mount point into ...
20624 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20625
20626 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20627 requested path is part of a ZFS pool, use
20628 grub_find_zpool_from_mount_point() to detect its filesystem name,
20629 and generate a path with `/fsname@path' syntax.
20630
20631 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
20632
20633 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
20634 (void) rather than () so that this is a proper prototype.
20635
20636 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20637
20638 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
20639
20640 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20641
20642 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
20643 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
20644
20645 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
20646
20647 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
20648
20649 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
20652
20653 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
20654
20655 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
20656 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
20657 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
20658 disable gfxpayload.
20659 (Shell-like scripting): Add real content.
20660 (Serial terminal): Suggest `terminal_input serial; terminal_output
20661 serial' rather than putting the two commands on separate lines,
20662 since console input will be inoperative after the first command.
20663 (menuentry): Document --class, --users, and --hotkey options.
20664 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
20665 Vladimir Serbinenko).
20666
20667 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20668 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
20669
20670 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
20671
20672 2010-08-01 Robert Millan <rmh@gnu.org>
20673
20674 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20675 (grub_find_zpool_from_mount_point): New function prototypes.
20676
20677 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20678 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20679
20680 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20681 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20682 `static' attribute.
20683
20684 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20685 finding zpool from mount point into ...
20686 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20687
20688 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20689 requested path is part of a ZFS pool, use
20690 grub_find_zpool_from_mount_point() to detect its filesystem name,
20691 and generate a path with `/fsname@path' syntax.
20692
20693 2010-08-01 Robert Millan <rmh@gnu.org>
20694
20695 Prevent accidental use of uninitialized libzfs_handle.
20696
20697 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
20698 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
20699 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
20700
20701 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
20702
20703 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
20704 util/grub.d/10_linux.in). Fixes Debian bug #591093.
20705
20706 2010-08-01 Robert Millan <rmh@gnu.org>
20707
20708 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
20709
20710 2010-07-31 Robert Millan <rmh@gnu.org>
20711
20712 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
20713
20714 2010-07-31 Robert Millan <rmh@gnu.org>
20715
20716 * kern/emu/misc.c: Add missing license header.
20717
20718 2010-07-31 Robert Millan <rmh@gnu.org>
20719
20720 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
20721
20722 * include/grub/util/libnvpair.h: Include `<config.h>'.
20723 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
20724 declaring libnvpair prototypes ourselves.
20725 * include/grub/util/libzfs.h: Include `<config.h>'.
20726 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
20727 declaring libzfs prototypes ourselves.
20728
20729 (libzfs_handle): Moved to ...
20730 * include/grub/util/misc.h (libzfs_handle): ... here.
20731 Include `<grub/util/libzfs.h>'.
20732
20733 2010-07-30 Robert Millan <rmh@gnu.org>
20734
20735 * include/grub/emu/misc.h: Add missing license header.
20736
20737 2010-07-30 Robert Millan <rmh@gnu.org>
20738
20739 Enable `grub-probe -t device' resolution on ZFS.
20740
20741 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
20742 * include/grub/util/libnvpair.h: New file.
20743 * include/grub/util/libzfs.h: New file.
20744
20745 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
20746 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
20747 `<grub/util/libnvpair.h>'.
20748 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
20749
20750 (find_mount_point_from_dir): New static function.
20751 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
20752 function.
20753 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
20754 find_root_device_from_libzfs() before ressorting to find_root_device().
20755
20756 * include/grub/util/misc.h (grub_util_init_libzfs): New function
20757 prototype.
20758 * util/misc.c: Include `<grub/util/libzfs.h>'.
20759 (grub_util_init_libzfs): New function.
20760 [HAVE_LIBZFS] (libzfs_handle): New global variable.
20761 [HAVE_LIBZFS] (fini_libzfs): New static function.
20762 (grub_util_init_libzfs): New function.
20763 * util/grub-probe.c (main): Call grub_util_init_libzfs().
20764
20765 2010-07-30 Robert Millan <rmh@gnu.org>
20766
20767 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
20768 (xmalloc, xrealloc, xstrdup, xasprintf): Add
20769 `warn_unused_result' attribute.
20770 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
20771 (grub_xasprintf, grub_xvasprintf): Likewise.
20772 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
20773
20774 2010-07-29 Robert Millan <rmh@gnu.org>
20775
20776 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
20777 (probe): Handle `PRINT_FS_LABEL'.
20778 (main): Handle `-t fs_label'.
20779
20780 2010-07-29 Robert Millan <rmh@gnu.org>
20781
20782 * configure.ac: Remove grub-mkisofs checks.
20783
20784 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20785
20786 * util/ieee1275/grub-install.in: Don't use empty grub_device.
20787 Reported by: Lennart Sorensen.
20788
20789 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20790
20791 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
20792 prior to terminal_input/terminal_output separation. It's been over 1.5
20793 years and those versions weren't widely deployed.
20794
20795 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
20796
20797 * disk/raid.c (insert_array): Don't count named arrays when looking
20798 for unused array numbers.
20799 Reported and tested by: Michael Guntsche.
20800
20801 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
20802
20803 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
20804 implementation of this so that grub-emu links again, with a note
20805 that this should support hotplugging in the future.
20806
20807 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
20808
20809 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20810
20811 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
20812
20813 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
20814 handle on failure.
20815 (grub_loopback_close): Remove empty function.
20816 (grub_loopback_dev): Remove close method.
20817
20818 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
20819
20820 Disable EFI cursor when the EFI console becomes inactive.
20821
20822 * term/efi/console.c (grub_efi_console_init): New function.
20823 (grub_efi_console_fini): New function.
20824 (grub_console_term_output): Register init and fini methods.
20825
20826 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20827
20828 * tests/util/grub-shell-tester.in: Remove bashism and declare as
20829 sh script.
20830
20831 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20832
20833 * disk/loopback.c (grub_loopback): Replace filename with file.
20834 (delete_loopback): Handle new semantics.
20835 (grub_cmd_loopback): Likewise.
20836 (grub_loopback_iterate): Likewise.
20837 (grub_loopback_close): Likewise.
20838
20839 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
20842 with -p "".
20843 Reported by: Tito Keitel.
20844
20845 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20846
20847 * docs/grub.texi (Naming convention): Document new naming convention.
20848
20849 2010-07-20 Vadim Solomin <vadic052@gmail.com>
20850 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
20851
20852 Generate device.map in something closer to the old ordering.
20853
20854 * util/deviceiter.c (struct device): New declaration.
20855 (compare_file_names): Rename to ...
20856 (compare_devices): ... this. Sort by kernel name in preference to
20857 the stable by-id name, but keep the latter as a fallback comparison.
20858 Update header comment.
20859 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
20860 of `struct device' rather than of plain file names.
20861
20862 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
20863
20864 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
20865 on i386.
20866
20867 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20868
20869 * commands/acpi.c (setup_common_tables): Use sizeof instead of
20870 hardcoding size.
20871 (setv1table): Likewise.
20872
20873 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
20874
20875 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
20876 removing the homehost if present.
20877 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
20878 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
20879 removing the homehost if present.
20880 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
20881 if possible.
20882 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
20883
20884 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
20885 parameter. Set its pointer target to 0.
20886 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
20887 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
20888 `data_offset' value from the superblock for 1.x metadata.
20889 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
20890 data on the device.
20891 (insert_array): Record the start sector of data on the device.
20892 (grub_raid_register): Pass start_sector parameters to
20893 grub_raid_list->detect and insert_array.
20894 * include/grub/raid.h (struct grub_raid_array): Add start_sector
20895 member.
20896 (struct grub_raid): Add start_sector parameter to `detect'.
20897
20898 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
20899 __attribute__ ((packed)), leaving a comment.
20900 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
20901 (grub_mdraid_detect_09): ... here and ...
20902 (grub_mdraid_detect_1x): ... here.
20903
20904 2010-07-20 Peter Henn <peter.henn@web.de>
20905
20906 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
20907 chunk size and disk size, which are already given as sector counts
20908 as distinct from the 0.90 units. Fetch the correct device number
20909 from the role table instead of using the table index.
20910
20911 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
20912
20913 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
20914 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
20915 (WriteMostly1): New macro.
20916 Set array->name to NULL for metadata format 0.90. Add support for
20917 metadata 1.x. Fix some comments.
20918 * disk/raid.c (): Add support for name based RAID arrays. Fix a
20919 few comments.
20920 * util/getroot.c (grub_util_get_grub_dev): Add support for
20921 /dev/md/name style devices.
20922
20923 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
20924
20925 * .bzrignore: Ignore 20_linux_xen.
20926
20927 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * util/import_unicode.py: Remove unnecessary imports.
20930
20931 2010-07-17 Aleš Nesrsta <starous@volny.cz>
20932
20933 Hotplugging and USB hub support.
20934
20935 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
20936 (grub_ohci): Likewise.
20937 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
20938 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
20939 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
20940 (GRUB_OHCI_CTRL_EDS): Likewise.
20941 (GRUB_OHCI_BULK_EDS): Likewise.
20942 (GRUB_OHCI_TDS): Likewise.
20943 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
20944 (grub_ohci_ed_phys2virt): New function.
20945 (grub_ohci_virt_to_phys): Likewise.
20946 (grub_ohci_td_phys2virt): Likewise.
20947 (grub_ohci_td_virt2phys): Likewise.
20948 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
20949 attachment.
20950 (grub_ohci_find_ed): New function.
20951 (grub_ohci_alloc_td): Likewise.
20952 (grub_ohci_free_td): Likewise.
20953 (grub_ohci_free_tds): Likewise.
20954 (grub_ohci_transfer): Use previously allocated memory.
20955 (grub_ohci_portstatus): Reset status changed bit.
20956 (grub_ohci_detect_dev): Supply status changed.
20957 (grub_ohci_fini_hw): Free memory.
20958 (grub_ohci_restore_hw): Reallocate memory.
20959 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
20960 Reset status change.
20961 (grub_uhci_detect_dev): Supply status_change.
20962 * bus/usb/usb.c (attach_hooks): New var.
20963 (grub_usb_device_attach): New function.
20964 (grub_usb_register_attach_hook_class): Likewise.
20965 (grub_usb_unregister_attach_hook_class): Likewise.
20966 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
20967 (grub_usb_add_hub): Reset connection changed bit.
20968 (attach_root_port): New function.
20969 (grub_usb_root_hub): Likewise.
20970 (poll_nonroot_hub): Likewise.
20971 (grub_usb_poll_devices): Likewise.
20972 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
20973 * disk/usbms.c (grub_usbms_open): Use device hooks.
20974 (grub_usbms_iterate) :Poll devices.
20975 (grub_usbms_finddevs): Split into ...
20976 (grub_usbms_attach): ... this ...
20977 (grub_usbms_attach): ... and this.
20978 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
20979 in detect_dev.
20980 (grub_usb_interface): New fields attached and detach_hook.
20981 (grub_usb_attach_hook_class): New type.
20982 (grub_usb_attach_desc): New struct.
20983 (grub_usb_register_attach_hook_class): New function.
20984 (grub_usb_unregister_attach_hook_class): Likewise.
20985 (grub_usb_poll_devices): Likewise.
20986 (grub_usb_device_attach): Likewise.
20987 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
20988 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
20989
20990 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20991
20992 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
20993 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
20994 delta determination style. Works with most NetBSD partitions too.
20995
20996 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
20999 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21000
21001 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21004
21005 2010-07-14 Anton Blanchard <anton@samba.org>
21006
21007 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21008 ET_DYN files.
21009
21010 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21011
21012 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21013
21014 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21015
21016 * kern/partition.c (grub_partition_check_containment): New function to
21017 check that a partition is physically contained in a parent. Since
21018 offsets are relative (and non-negative), this reduces to checking that
21019 the partition ends before its parent.
21020 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21021 (grub_partition_iterate): Likewise.
21022 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21023 comments.
21024 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21025 partitions that start before their parent, and add debug printfs.
21026
21027 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
21028
21029 * Makefile.in (.SUFFIX): Spell correctly, as ...
21030 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21031 bare module name without `.mod', e.g. `test') tried to invoke a
21032 Modula-2 compiler.
21033
21034 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
21035
21036 * README: Point to the Info manual.
21037
21038 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
21039
21040 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21041 2nd superblock position from partition size.
21042
21043 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
21044
21045 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21046 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21047 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21048 outputs.
21049
21050 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 Restructure SCSI .id handling.
21053 Reported and tested by: Aleš Nesrsta.
21054
21055 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21056 (grub_atapi_dev): Changed .name to "ata". New field .id.
21057 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21058 (grub_usbms_dev): New field .id.
21059 * disk/scsi.c (grub_scsi_iterate): Generate name.
21060 (grub_scsi_open): Parse name.
21061 * include/grub/scsi.h (grub_make_scsi_id): New function.
21062 (grub_scsi_dev): Change iterate and open to number instead of naming
21063 busses. All users updated.
21064 (grub_scsi): Remove name. Add .bus.
21065
21066 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21067
21068 * commands/help.c (grub_cmd_help): Fix a typo.
21069
21070 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21071
21072 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21073 Reported and tested by: Colin Watson.
21074
21075 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21076
21077 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21078 in this context.
21079
21080 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21081
21082 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21083
21084 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
21085
21086 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21087 indentation.
21088
21089 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
21090
21091 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21092 and disk/raid6_recover.c.
21093 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21094 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21095
21096 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
21097
21098 * term/gfxterm.c (repaint_schedulded): Rename to ...
21099 (repaint_scheduled): ... this. Update all callers.
21100 (repaint_was_schedulded): Rename to ...
21101 (repaint_was_scheduled): ... this. Update all callers.
21102
21103 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
21104
21105 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21106 which we expect to be handled by upper layers.
21107
21108 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21109
21110 * bus/usb/usbhub.c: #include time.h header.
21111
21112 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
21113
21114 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21115 entry_name also for entries without stat blocks (e.g. ".."); fixes
21116 corruption of the first entry in a directory.
21117
21118 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
21119
21120 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21121 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21122 doesn't work otherwise.
21123
21124 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
21125
21126 * docs/grub.texi (Features): Update list of supported file systems.
21127 (GNU/Linux): Update for GRUB 2.
21128 (Serial terminal): Remove mention of --disable-serial, which was a
21129 GRUB Legacy configure option. Update instructions to use
21130 `terminal_input' and `terminal_output' rather than `terminal'.
21131 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21132 configuration' and `Installing GRUB using grub-install'.
21133 (Menu entry editor): Update for GRUB 2.
21134 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21135 Document new -a, -u, and -v options.
21136 (initrd): New section.
21137 (initrd16): New section.
21138 (linux): New section.
21139 (linux16): New section.
21140 (search): The `var' argument to `--set' is optional.
21141 (GRUB only offers a rescue shell): Go into a little more detail on
21142 drive ordering.
21143
21144 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
21145
21146 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21147
21148 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
21149
21150 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21151 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21152
21153 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
21154
21155 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21156 install_prefix, in line with install_dos_part and install_bsd_part.
21157 Add new prefix variable, which is copied to install_prefix after
21158 comparing core.img in memory with the one read from disk in the
21159 no-embedding case, and use that rather than overwriting
21160 install_prefix immediately when installing to a partition.
21161 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21162 Bicakci.
21163
21164 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21165
21166 * configure.ac: Avoid == in test command, it's not portable.
21167 * util/grub.d/30_os-prober.in: Likewise.
21168
21169 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
21170
21171 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21172
21173 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21174
21175 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21176 multiple (top-level) partmaps.
21177
21178 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * util/i386/efi/grub-install.in: Don't use empty grub_device.
21181 Reported by: Tino Keitel.
21182
21183 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 Bidi and diacritics support.
21186
21187 * Makefile.in (widthspec.bin): New target.
21188 (widthspec.h): Likewise.
21189 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21190 * autogen.sh: Generate unidata.c.
21191 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21192 * commands/ls.c (grub_ls_list_devices): Likewise.
21193 (grub_ls_list_files): Likewise.
21194 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21195 (grub_mini_cmd_lsmod): Likewise.
21196 * commands/read.c: Likewise.
21197 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21198 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21199 * lib/arg.c (grub_arg_show_help): Likewise.
21200 * lib/crypto.c (grub_password_get): Likewise.
21201 * normal/auth.c (grub_username_get): Likewise.
21202 * normal/misc.c (grub_normal_print_device_info): Likewise.
21203 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21204 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21205 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21206 (normal/charset.c_DEPENDENCIES): New variable.
21207 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21208 (pkglib_MODULES): Remove charset.mod.
21209 (charset_mod_SOURCES): Removed.
21210 (charset_mod_CFLAGS): Likewise.
21211 (charset_mod_LDFLAGS): Likewise.
21212 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21213 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21214 and term/tparm.c.
21215 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21216 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21217 (kernel_img_HEADERS): Add terminfo.h.
21218 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21219 Fill ->font. Reverse ascii bitmaps.
21220 (grub_font_get_xheight): New function.
21221 * font/font.c (grub_font_get_string_width): Moved from here ...
21222 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21223 * font/font.c (grub_font_draw_string): Moved from here ...
21224 * gfxmenu/font.c (grub_font_draw_string): ... here.
21225 * font/font.c (grub_font_dup_glyph): New function.
21226 (grub_font_blit_glyph): Likewise.
21227 (grub_font_blit_glyph_mirror): Likewise.
21228 (blit_comb): Likewise.
21229 (grub_font_construct_dry_run): Likewise.
21230 (grub_font_get_constructed_device_width): Likewise.
21231 (grub_font_construct_glyph): Likewise.
21232 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21233 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21234 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21235 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21236 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21237 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21238 (grub_font_get_xheight): New proto.
21239 (grub_font_get_constructed_device_width): Likewise.
21240 (grub_font_construct_glyph): Likewise.
21241 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21242 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21243 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21244 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21245 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21246 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21247 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21248 (grub_console_getcharwidth): Likewise.
21249 * include/grub/misc.h (grub_xputs): New proto.
21250 (grub_puts): Inlined.
21251 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21252 (grub_normal_get_line_counter): Removed.
21253 (grub_install_newline_hook): Likewise.
21254 (grub_normal_get_char_counter): New proto.
21255 (grub_normal_reset_more): Likewise.
21256 (grub_xputs_normal): Likewise.
21257 * include/grub/powerpc/ieee1275/console.h: Removed.
21258 * include/grub/sparc64/ieee1275/console.h: Likewise.
21259 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21260 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21261 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21262 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21263 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21264 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21265 (grub_term_input): Pass reference to self. All users updated.
21266 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21267 Pass reference to self. New fields normal_color, highlight_color and
21268 data. All users updated.
21269 (grub_putchar): Removed.
21270 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21271 (grub_unicode_estimate_width): New function.
21272 (grub_term_getcharwidth): Add defaults.
21273 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21274 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21275 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21276 (grub_cls): Remove EXPORT_FUNC.
21277 (grub_setcolorstate): Inline.
21278 (grub_newline_hook): Removed.
21279 * include/grub/terminfo.h: Rewritten. All users updated.
21280 * include/grub/unicode.h: New file.
21281 * include/grub/video.h (grub_video_signed_rect): New type.
21282 * kern/emu/console.c (grub_console_highlight_color): Removed.
21283 (grub_console_normal_color): Likewise.
21284 (grub_console_standard_color): Made static.
21285 (grub_ncurses_putchar): Remove mapping.
21286 (grub_ncurses_getcharwidth): Removed.
21287 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21288 (grub_ncurses_setcolor): Removed.
21289 (grub_ncurses_getcolor): Likewise.
21290 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21291 (grub_console_putchar): ... this.
21292 (grub_console_putchar): Handle argument difference.
21293 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21294 console_init_early and console_init_lately.
21295 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21296 * kern/misc.c (grub_puts): Removed.
21297 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21298 (grub_vsnprintf_real): Remove str = NULL support.
21299 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21300 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21301 * kern/term.c (grub_putcode): Renamed to ...
21302 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21303 (grub_putchar): Removed.
21304 (grub_xputs_dumb): New function.
21305 (grub_xputs): New variable.
21306 * lib/charset.c: Move from here ...
21307 * normal/charset.c: ... to here.
21308 (grub_ucs4_to_utf8): New function.
21309 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21310 (join_types): New variable.
21311 (unpack_join): New function.
21312 (bidi_types): New variable.
21313 (unpack_bidi): New function.
21314 (get_bidi_type): Likewise.
21315 (get_join_type): Likewise.
21316 (is_mirrored): Likewise.
21317 (grub_unicode_get_comb_type): Likewise.
21318 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21319 (is_type_after): Likewise.
21320 (grub_unicode_aglomerate_comb): Likewise.
21321 (bidi_line_wrap): Likewise.
21322 (grub_bidi_line_logical_to_visual): Likewise.
21323 (grub_bidi_logical_to_visual): Likewise.
21324 (grub_unicode_mirror_code): Likewise.
21325 (grub_unicode_shape_code): Likewise.
21326 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21327 Don't use grub_putchar.
21328 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21329 (grub_normal_reader_init): Likewise.
21330 (grub_xputs_saved): New variable.
21331 (GRUB_MOD_INIT): Set grub_xputs.
21332 (GRUB_MOD_FINI): Restore grub_xputs.
21333 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21334 (menu_init): Avoid printing gfxmenu error.
21335 (show_menu): Use grub_normal_get_char_counter.
21336 * normal/menu_entry.c (update_screen): Fix out-of-array.
21337 (complete): Avoid NULL dereferencing.
21338 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21339 * normal/menu_text.c (print_spaces): Removed.
21340 (grub_print_ucs4): Likewise.
21341 (grub_print_message_indented): Use grub_print_ucs4.
21342 (print_message): Use grub_putcode.
21343 (print_entry): Hanlde diacritics.
21344 * normal/term.c (term_state): New type.
21345 (grub_more_lines): Removed.
21346 (term_states): New variable.
21347 (grub_normal_line_counter): Renamed to ..
21348 (grub_normal_char_counter): ...this. All users updated.
21349 (grub_normal_get_line_counter): Renamed to ...
21350 (grub_normal_get_char_counter): ... this.
21351 (grub_normal_reset_more): New function.
21352 (process_newline): Removed.
21353 (print_more): New function.
21354 (grub_install_newline_hook): Removed.
21355 (map_code): New function.
21356 (grub_puts_terminal): Use grub_print_ucs4.
21357 (putglyph): New function.
21358 (putcode_real): Likewise.
21359 (grub_putcode): Use putcode_real.
21360 (get_maxwidth): New function.
21361 (get_startwidth): Likewise.
21362 (print_ucs4_terminal): Likewise.
21363 (find_term_state): Likewise.
21364 (put_glyphs_terminal): Likewise.
21365 (print_backlog): Likewise.
21366 (print_ucs4_real): Likewise.
21367 (grub_print_ucs4): Likewise.
21368 (grub_xputs_normal): Likewise.
21369 * term/efi/console.c (grub_console_putchar): Output diacritics.
21370 (grub_console_getcharwidth): Removed.
21371 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21372 * term/gfxterm.c (clear_char): Free chars.
21373 (scroll_up): Avoid leaking memory.
21374 (grub_gfxterm_putchar): Support diacritics.
21375 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21376 * term/i386/pc/console.c (grub_console_term_output): Declare as
21377 GRUB_TERM_CODE_TYPE_VGA.
21378 * term/i386/pc/vga.c (grub_vga_term): Declare as
21379 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21380 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21381 GRUB_TERM_CODE_TYPE_VGA.
21382 * term/i386/vga_common.c (map_char): Removed.
21383 (grub_console_putchar): Likewise.
21384 (grub_console_getcharwidth): Likewise.
21385 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21386 (colors): Reordered to match terminfo.
21387 (grub_ofconsole_normal_color): Removed.
21388 (grub_ofconsole_writeesc): Likewise.
21389 (grub_ofconsole_highlight_color): Likewise.
21390 (grub_ofconsole_getcharwidth): Likewise.
21391 (grub_ofconsole_setcolorstate): Likewise.
21392 (grub_ofconsole_setcolor): Likewise.
21393 (grub_ofconsole_getcolor): Likewise.
21394 (grub_ofconsole_readkey): Renamed to ...
21395 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21396 key.
21397 (grub_ofconsole_checkkey): Removed.
21398 (grub_ofconsole_getkey): Likewise.
21399 (grub_ofconsole_getxy): Likewise.
21400 (grub_ofconsole_gotoxy): Likewise.
21401 (grub_ofconsole_cls): Likewise.
21402 (grub_ofconsole_refresh): Likewise.
21403 (grub_ofconsole_terminfo_input): New struct.
21404 (grub_ofconsole_terminfo_output): Likewise.
21405 (grub_ofconsole_term_input): Use terminfo.
21406 (grub_ofconsole_term_output): Likewise.
21407 (grub_console_init): Split into ...
21408 (grub_console_init_early): ...this and ...
21409 (grub_console_init_lately): ...this. Use terminfo.
21410 (grub_ofconsole_putchar): Renamed to ...
21411 (put): ... this. Remove mapping.
21412 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21413 * term/serial.c: Simplify using terminfo.
21414 (xpos): Removed.
21415 (ypos): Likewise.
21416 (keep_track): Likewise.
21417 (registered): Likewise.
21418 (input_buf): Likewise.
21419 (npending): Likewise.
21420 (serial_translate_key_sequence): Likewise.
21421 (fill_input_buf): Likewise.
21422 (grub_serial_checkkey): Likewise.
21423 (grub_serial_getkey): Likewise.
21424 (grub_serial_getxy): Likewise.
21425 (grub_serial_gotoxy): Likewise.
21426 (grub_serial_putchar): Likewise.
21427 (grub_serial_cls): Likewise.
21428 (grub_serial_setcolorstate): Likewise.
21429 (grub_serial_setcursor): Likewise.
21430 (serial_hw_init): Use serial_hw_fetch.
21431 (grub_serial_terminfo_input): New variable.
21432 (grub_serial_terminfo_output): Likewise.
21433 (grub_serial_term_input): Use terminfo.
21434 (grub_serial_term_output): Likewise.
21435 * term/terminfo.c (putstr): Use put.
21436 (grub_terminfo_all_free): New function
21437 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21438 (grub_terminfo_output_register): New function.
21439 (grub_terminfo_output_unregister): Likewise.
21440 (grub_terminfo_getxy): Likewise.
21441 (grub_terminfo_readkey): Likewise.
21442 (grub_terminfo_checkkey): Likewise.
21443 (grub_terminfo_getkey): Likewise.
21444 (grub_terminfo_input_init): Likewise.
21445 (print_terminfo): Likewise.
21446 (grub_cmd_terminfo): Handle encoding.
21447 (grub_terminfo_gotoxy): Track position.
21448 (grub_terminfo_cls): Likewise.
21449 (grub_terminfo_putchar): Likewise.
21450 (grub_terminfo_setcolorstate): Handle colors
21451 (grub_terminfo_cursor_on): This ...
21452 (grub_terminfo_cursor_off): ... and this merged into ...
21453 (grub_terminfo_setcursor): ... this.
21454 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21455 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21456 * unicode/BidiMirroring.txt: Likewise.
21457 * unicode/UnicodeData.txt: Likewise.
21458 * unicode/COPYING: Likewise.
21459 * util/grub-editenv.c (grub_putchar): Removed.
21460 (grub_xputs_real): New function.
21461 (grub_xputs): New variable.
21462 * util/grub-fstest.c (grub_putchar): Removed.
21463 (grub_xputs_real): New function.
21464 (grub_xputs): New variable.
21465 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21466 (grub_xputs_real): New function.
21467 (grub_xputs): New variable.
21468 * util/grub-probe.c (grub_putchar): Removed.
21469 (grub_xputs_real): New function.
21470 (grub_xputs): New variable.
21471 * util/grub-script-check.c (grub_putchar): Removed.
21472 (grub_xputs_real): New function.
21473 (grub_xputs): New variable.
21474 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21475 (grub_xputs_real): New function.
21476 (grub_xputs): New variable.
21477 * util/import_unicode.py: New file.
21478 * util/grub-mkfont.c (ft_errmsgs): New array.
21479 (grub_glyph_info): Make bitmap a pointer.
21480 (file_formats): New type WIDTH_SPEC.
21481 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21482 (options): Add width-spec.
21483 (help): Likewise.
21484 (add_char): Renamed to ...
21485 (add_glyph): ... this.
21486 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21487 (glyph_replace): New type.
21488 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21489 (add_char): New function.
21490 (add_subst): Likewise.
21491 (process_cursive): Likewise.
21492 (add_font): Handle GSUB.
21493 (write_font_width_spec): New function.
21494 (main): Sort glyphs.
21495 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21496 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21497 * kern/term.c (grub_cls): Moved from here...
21498 * normal/term.c (grub_cls): ... here.
21499
21500 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
21501
21502 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21503 suitable for using within the format argument of printf when
21504 converting grub_size_t.
21505 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21506 "x" to convert grub_size_t arguments.
21507
21508 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21509
21510 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21511 too long captions.
21512 (list_get_minimal_size): Take selection box into account.
21513
21514 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21515
21516 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21517 NULL font.
21518
21519 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
21520
21521 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21522 devices when iterating over /dev/disk/by-id; they will be handled
21523 later if appropriate, which they aren't always (e.g. LVM).
21524
21525 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
21526
21527 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21528 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21529 fails.
21530 (grub_halt): Likewise.
21531 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21532 reset-all fails.
21533 (grub_halt): Don't return, even if all of shut-down, power-off, and
21534 poweroff fail.
21535
21536 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
21537
21538 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21539 arguments, not three.
21540
21541 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
21542
21543 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21544 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21545 LVM-on-RAID is handled correctly.
21546
21547 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
21548
21549 * docs/grub.texi (Changes from GRUB Legacy): New section.
21550 (Future): Fix typo.
21551
21552 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
21553
21554 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21555 grub.d/README accidentally ends up executable for one reason or
21556 another. Ignore it.
21557
21558 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21561 (gpt_partition_map_iterate): Support non-512B sectors.
21562
21563 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21566 Tested by: Seth Goldberg.
21567
21568 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21571 Properly align mbi.
21572 Reported by: Seth Goldberg.
21573
21574 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21575
21576 * util/grub-mkrescue.in: Avoid module duplication.
21577
21578 2010-07-01 Sean Finney <seanius@seanius.net>
21579
21580 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21581
21582 2010-07-01 Sean Finney <seanius@seanius.net>
21583
21584 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21585
21586 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * disk/lvm.c (grub_lvm_checkvalue): New function.
21589 (grub_lvm_check_flag): Likewise.
21590
21591 2010-07-01 Robert Millan <rmh@gnu.org>
21592
21593 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21594 Support 'p' as partition separator on kernel of FreeBSD (used
21595 with GPT labels).
21596 (grub_util_biosdisk_get_grub_dev): Likewise.
21597
21598 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21599
21600 Yeeloong firmware port.
21601
21602 * boot/mips/yeeloong/fwstart.S: New file.
21603 * bus/cs5536.c (gpiodump): New const.
21604 (set_io_space): New function.
21605 (set_iod): Likewise.
21606 (set_p2d): Likewise.
21607 (grub_cs5536_init_geode): Likewise.
21608 * commands/mips/yeeloong/lsspd.c: New file.
21609 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
21610 (serial_mod_SOURCES): New variable.
21611 (serial_mod_CFLAGS): Likewise.
21612 (serial_mod_LDFLAGS): Likewise.
21613 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
21614 term/terminfo.c and term/tparm.c.
21615 (pkglib_IMAGES): Add fwstart.img.
21616 (fwstart_img_SOURCES): New variable.
21617 (fwstart_img_CFLAGS): Likewise.
21618 (fwstart_img_ASFLAGS): Likewise.
21619 (fwstart_img_LDFLAGS): Likewise.
21620 (fwstart_img_FORMAT): Likewise.
21621 (pkglib_MODULES): Add lsspd.mod.
21622 (lsspd_mod_SOURCES): New variable.
21623 (lsspd_mod_CFLAGS): Likewise.
21624 (lsspd_mod_LDFLAGS): Likewise.
21625 (pkglib_MODULES): Add halt.mod.
21626 (halt_mod_SOURCES): New variable.
21627 (halt_mod_CFLAGS): Likewise.
21628 (halt_mod_LDFLAGS): Likewise.
21629 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
21630 (serial_mod_SOURCES): Removed.
21631 (serial_mod_CFLAGS): Likewise.
21632 (serial_mod_LDFLAGS): Likewise.
21633 * disk/ata.c (check_device): New function.
21634 (grub_ata_device_initialize): Use check_device.
21635 (grub_ata_iterate): Recheck devices.
21636 (grub_ata_open): Likewise.
21637 (grub_atapi_iterate): Likewise.
21638 (grub_atapi_open): Likewise.
21639 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
21640 (GRUB_ATA_CH1_PORT1): Likewise.
21641 (GRUB_ATA_CH0_PORT2): Likewise.
21642 (GRUB_ATA_CH1_PORT2): Likewise.
21643 * include/grub/mips/loongson.h: New file.
21644 * include/grub/mips/yeeloong/ec.h: Likewise.
21645 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
21646 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
21647 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
21648 * include/grub/misc.h (grub_halt): Declare as noreturn.
21649 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
21650 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
21651 (UART_ENABLE_FIFO_TRIGGER1): New definition.
21652 (UART_ENABLE_DTRRTS): Likewise.
21653 (UART_ENABLE_MODEM): Removed.
21654 (UART_ENABLE_OUT2): New const.
21655 * include/grub/term.h (grub_term_register_input_active): New function.
21656 (grub_term_register_output_active): Likewise.
21657 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
21658 argument.
21659 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
21660 (init_pci): New function.
21661 (grub_machine_init): Execute platform init when firmware. Init serial.
21662 (grub_halt): Implement.
21663 (grub_exit): Likewise.
21664 (grub_reboot): Likewise.
21665 * term/serial.c (serial_hw_init): Update macros.
21666 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
21667 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
21668 (image_targets): New target mipsel-yeeloong-flash.
21669 (generate_image): Support IMAGE_YEELOONG_FLASH.
21670 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
21671 (grub_video_sm712_setup): Init card.
21672 (grub_video_sm712_set_palette): Removed.
21673 * video/sm712_init.c: New file.
21674
21675 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
21676
21677 * Makefile.in (install-local): Temporarily prepend $(builddir) to
21678 PATH when running help2man and then run it on the unadorned
21679 executable names, rather than passing $(builddir)/* paths to
21680 help2man. This avoids the build directory ending up in generated
21681 manual pages.
21682
21683 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
21684
21685 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
21686 to avoid accidents when debugging with 'sh -x'.
21687 * util/grub-mkrescue.in: Likewise.
21688 * util/grub.d/00_header.in: Likewise.
21689 * util/grub.d/10_hurd.in: Likewise.
21690 * util/grub.d/10_kfreebsd.in: Likewise.
21691 * util/grub.d/10_linux.in: Likewise.
21692 * util/grub.d/10_netbsd.in: Likewise.
21693 * util/grub.d/10_windows.in: Likewise.
21694 * util/grub.d/20_linux_xen.in: Likewise.
21695 * util/grub.d/30_os-prober.in: Likewise.
21696 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21697
21698 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
21699
21700 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
21701 last character in the buffer.
21702 Reported by: Vladimir Serbinenko.
21703
21704 2010-06-29 Robert Millan <rmh@gnu.org>
21705
21706 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
21707 (Command-line and menu entry commands): Document `badram' command.
21708
21709 2010-06-28 Robert Millan <rmh@gnu.org>
21710
21711 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
21712 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
21713 command using ${GRUB_BADRAM} as parameter.
21714
21715 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
21716
21717 * docs/grub.texi (Device map): New section.
21718 (Themes): New section (stub).
21719 * Makefile.in (docs/grub.info): The info documentation now builds
21720 without errors. Make sure it stays that way.
21721
21722 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21723
21724 Use normal parser for menu entries.
21725 Reported by: Thomas Frauendorfer
21726
21727 * include/grub/parser.h (grub_parser_execute): Don't export.
21728 * normal/menu.c (grub_menu_execute_entry_real): New function.
21729 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
21730
21731 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
21732
21733 * docs/grub.texi (Embedded configuration): New section (replacing
21734 old "Preset Menu" stub).
21735 (Images): New section.
21736 (configfile): Note that any menu entries defined in `file' are shown
21737 immediately.
21738
21739 2010-06-28 Josh Triplett <josh@joshtriplett.org>
21740
21741 * mmap/i386/pc/mmap_helper.S: Set CF on return.
21742
21743 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
21744
21745 * util/grub-install.in: Add --debug-image= option.
21746
21747 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
21748
21749 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
21750 possible on Linux.
21751
21752 * util/deviceiter.c (check_device): Rename to ...
21753 (check_device_readable_unique): ... this. Update all callers.
21754 Maintain and check a list of which devices (by canonicalized name)
21755 have already been seen.
21756 (clear_seen_devices): New function.
21757 (compare_file_names) [__linux__]: New function.
21758 (grub_util_iterate_devices): Clear the list of seen devices on exit
21759 and (just in case) on entry.
21760 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
21761 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
21762 seen-devices list, superseded by general code in check_device.
21763
21764 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
21765
21766 * commands/cat.c (options): New variable.
21767 (grub_cmd_cat): Parse options. If the --dos option is given, print
21768 DOS-style "\r\n" line endings as simple newlines (Debian bug
21769 #586358).
21770 (GRUB_MOD_INIT): Use extcmd.
21771 (GRUB_MOD_FINI): Likewise.
21772 * docs/grub.texi (cat): Document --dos.
21773
21774 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 XEN with Linux grub-mkconfig support.
21777
21778 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
21779 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
21780 GRUB_CMDLINE_XEN_DEFAULT.
21781 * util/grub.d/20_linux_xen.in: New file.
21782
21783 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 Initialise VGA video on qemu ourselves.
21786
21787 * boot/i386/qemu/boot.S: Don't call 0xc000.
21788 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
21789 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
21790 (kernel_img_HEADERS): Add pci.h.
21791 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
21792 * configure.ac: Force unifont on qemu and yeeloong.
21793 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
21794 (grub_vga_palette_write): Use correct register.
21795 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
21796 Call grub_qemu_init_cirrus.
21797 * kern/i386/qemu/init.c: New file.
21798 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
21799
21800 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
21801
21802 2010-06-26 Pavel Roskin <proski@gnu.org>
21803
21804 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
21805 13.
21806
21807 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
21808
21809 * docs/grub.texi (Simple configuration): Explain that
21810 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
21811 set to `true' to disable their respective recovery entries, not
21812 merely set.
21813
21814 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
21815
21816 Make the `source' command slightly faster.
21817
21818 * normal/main.c (grub_normal_execute): Don't re-read list files when
21819 nested.
21820
21821 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
21822
21823 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
21824 field position and mask size to red fields from mode_info, not
21825 green.
21826 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
21827 Remove redundant tag->common.framebuffer_type assignment.
21828 Reported by: Seth Goldberg.
21829
21830 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
21831
21832 Sync up other versions of the Linux loader with Robert Millan's
21833 change of 2010-01-09, "Make loader output a bit more user-friendly".
21834
21835 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
21836 grub_dprintf().
21837 (grub_cmd_linux): Likewise.
21838 (grub_cmd_initrd): Likewise.
21839 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
21840 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21841
21842 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
21843
21844 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
21845 larger than MEMORY_MAP_SIZE.
21846
21847 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
21848
21849 Fix parallel build.
21850
21851 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
21852 dependency.
21853 * script/parser.y: #include grub_script.tab.h header.
21854
21855 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 Support >3GiB and <16MiB RAM in i386-qemu.
21858
21859 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
21860 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
21861 (grub_lower_mem): Removed.
21862 (grub_upper_mem): Likewise.
21863 (mem_size): Made static.
21864 (above_4g): New variable.
21865 (grub_machine_mmap_init): Detect small mem_size and above_4g.
21866 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
21867 support.
21868
21869 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21870
21871 Cirrus 5446 and Bochs video cards support.
21872
21873 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
21874 video_bochs.mod
21875 (video_cirrus_mod_SOURCES): New variable.
21876 (video_cirrus_mod_CFLAGS): Likewise.
21877 (video_cirrus_mod_LDFLAGS): Likewise.
21878 (video_bochs_mod_SOURCES): Likewise.
21879 (video_bochs_mod_CFLAGS): Likewise.
21880 (video_bochs_mod_LDFLAGS): Likewise.
21881 * include/grub/vga.h: New file.
21882 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
21883 (grub_video_fb_set_page_t): New type.
21884 (grub_video_fb_setup): New prototype.
21885 (grub_video_fb_swap_buffers): Likewise.
21886 (grub_video_fb_get_info_and_fini): Likewise.
21887 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
21888 (CRTC_DATA_PORT): Likewise.
21889 (CRTC_CURSOR): Likewise.
21890 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21891 (CRTC_CURSOR_ADDR_LOW): Likewise.
21892 (CRTC_CURSOR_DISABLE): Likewise.
21893 (update_cursor): Use grub_vga_cr_write.
21894 (grub_vga_text_setcursor): Likewise.
21895 * video/bochs.c: New file.
21896 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
21897 (palette): Likewise.
21898 (palette_size): Likewise.
21899 (framebuffer): New variable.
21900 (grub_video_fb_init): Use 'framebuffer'.
21901 (grub_video_fb_fini): Likewise.
21902 (grub_video_fb_get_info): Likewise.
21903 (grub_video_fb_get_palette): Likewise.
21904 (grub_video_fb_set_palette): Likewise.
21905 (grub_video_fb_set_viewport): Likewise.
21906 (grub_video_fb_get_viewport): Likewise.
21907 (grub_video_fb_map_color): Likewise.
21908 (grub_video_fb_map_rgb): Likewise.
21909 (grub_video_fb_map_rgba): Likewise.
21910 (grub_video_fb_unmap_color): Likewise.
21911 (grub_video_fb_unmap_color_int): Likewise.
21912 (grub_video_fb_fill_rect): Likewise.
21913 (grub_video_fb_blit_bitmap): Likewise.
21914 (grub_video_fb_blit_render_target): Likewise.
21915 (grub_video_fb_scroll): Likewise.
21916 (grub_video_fb_create_render_target): Likewise.
21917 (grub_video_fb_doublebuf_blit_init): Likewise.
21918 (grub_video_fb_set_active_render_target): Handle doublebuffering.
21919 (doublebuf_pageflipping_update_screen): New function.
21920 (doublebuf_pageflipping_init): Likewise.
21921 (grub_video_fb_setup): Likewise.
21922 (grub_video_fb_swap_buffers): Likewise.
21923 (grub_video_fb_get_info_and_fini): Likewise.
21924 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
21925 All users updated.
21926 (doublebuf_pageflipping_commit): Restructured into ...
21927 (doublebuf_pageflipping_set_page): ... this.
21928 (doublebuf_pageflipping_update_screen): Removed.
21929 (doublebuf_pageflipping_init): Likewise.
21930 (double_buffering_init): Likewise.
21931 (grub_video_vbe_setup): Use grub_video_fb_setup.
21932 (grub_video_vbe_swap_buffers): Removed.
21933 (grub_video_vbe_set_active_render_target): Likewise.
21934 (grub_video_vbe_get_active_render_target): Likewise.
21935 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
21936 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
21937 grub_video_fb_set_active_render_target and
21938 grub_video_fb_get_active_render_target.
21939 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
21940 (SEQUENCER_DATA_PORT): Likewise.
21941 (MAP_MASK_REGISTER): Likewise.
21942 (CRTC_ADDR_PORT): Likewise.
21943 (CRTC_DATA_PORT): Likewise.
21944 (START_ADDR_HIGH_REGISTER): Likewise.
21945 (START_ADDR_LOW_REGISTER): Likewise.
21946 (GRAPHICS_ADDR_PORT): Likewise.
21947 (GRAPHICS_DATA_PORT): Likewise.
21948 (READ_MAP_REGISTER): Likewise.
21949 (INPUT_STATUS1_REGISTER): Likewise.
21950 (INPUT_STATUS1_VERTR_BIT): Likewise.
21951 (get_map_mask): Use grub_vga_sr_read.
21952 (set_map_mask): Use grub_vga_sr_write.
21953 (set_read_map): Use grub_vga_gr_write.
21954 (set_start_address): Use grub_vga_cr_write.
21955 * video/sm712.c (framebuffer): Remove leftover fields.
21956
21957 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
21958
21959 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
21960 setting GRUB_VIDEO_BACKEND. Make it available as a user override
21961 instead. Replace the gfxterm backend check with a check that
21962 ${GRUB_PREFIX}/video.lst is non-empty.
21963 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
21964 again.
21965 (load_video): New generated function. Call it before loading
21966 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
21967 * util/grub.d/10_linux.in (linux_entry): Call load_video.
21968 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
21969 * docs/grub.texi (Simple configuration): Document
21970 GRUB_VIDEO_BACKEND.
21971
21972 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21973
21974 Use video functions in linux and xnu loaders.
21975
21976 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
21977 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
21978 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
21979 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
21980 loader/i386/pc/linux.c.
21981 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
21982 (find_line_len): Removed.
21983 (find_framebuf): Likewise.
21984 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
21985 * loader/i386/efi/xnu.c: Removed.
21986 * loader/i386/pc/xnu.c: Moved from here...
21987 * loader/i386/xnu.c: ...here.
21988
21989 Enable priorities in video drivers.
21990
21991 * include/grub/video.h (grub_video_adapter_prio_t): New type.
21992 (grub_video_adapter): New field prio.
21993 (grub_video_register): Respect prio when inserting.
21994 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
21995 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
21996 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
21997 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
21998 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
21999 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22000 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22001
22002 Fix SDL driver ID.
22003
22004 * include/grub/video.h (grub_video_driver_id_t): New value
22005 GRUB_VIDEO_DRIVER_SDL.
22006 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22007
22008 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
22009
22010 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22011 argument to printf.
22012 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22013
22014 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
22015
22016 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22017 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22018
22019 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
22020
22021 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22022 directly, and recommend grub-install instead.
22023 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22024
22025 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
22026
22027 Fix i386-pc prefix handling with nested partitions (Debian bug
22028 #585068). Note that the case where the core image is booted using
22029 multiboot and relocated from its original location still requires
22030 more work.
22031
22032 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22033 with "(,", fill the boot drive in between those two characters, but
22034 expect that a full partition specification including partition map
22035 names will follow.
22036 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22037 specified, write a prefix without the drive name but including a
22038 full partition specification.
22039
22040 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
22041
22042 * util/grub-mkconfig.in: Ignore non-option arguments, for
22043 compatibility with older versions (before 2010-06-12) which did the
22044 same. In particular, this makes it easier to ship an update-grub
22045 wrapper which is compatible with that used with GRUB Legacy (Debian
22046 bug #586056).
22047
22048 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22049
22050 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22051 for manual page generation.
22052
22053 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22054
22055 * po/POTFILES: Remove leftover commands/handler.c.
22056
22057 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
22058
22059 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22060 left this script non-functional.
22061
22062 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
22063
22064 * docs/man/grub-emu.h2m: New file.
22065
22066 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
22067
22068 * docs/grub.texi (Commands): Document reduced command set in rescue
22069 mode.
22070 (cpuid): New section.
22071
22072 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22073
22074 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22075 new partition naming style.
22076 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22077
22078 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22079
22080 Add "-o grub.iso" like cmdline options support.
22081
22082 * util/grub-install.in: Improve cmdline option parsing.
22083 * util/grub-mkconfig.in: Likewise.
22084 * util/grub-mkrescue.in: Likewise.
22085 * util/grub-reboot.in: Likewise.
22086 * util/grub-set-default.in: Likewise.
22087 * util/i386/efi/grub-install.in: Likewise.
22088 * util/ieee1275/grub-install.in: Likewise.
22089 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22090
22091 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
22092
22093 * .bzrignore: Ignore 41_custom.
22094
22095 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22096
22097 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22098
22099 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
22100
22101 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22102 prototype declarations.
22103
22104 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22105 generating fs, partmap, and video lists.
22106 * include/grub/fs.h (grub_fs_register): Omit prototype if
22107 GRUB_LST_GENERATOR is defined.
22108 * include/grub/partition.h (grub_partition_map_register): Likewise.
22109 * include/grub/video.h (grub_video_register): Likewise.
22110
22111 2010-06-12 Javier Martín <lordhabbit@gmail.com>
22112
22113 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22114
22115 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22116
22117 * util/grub-mkrescue.in: Support --xorriso argument.
22118
22119 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22122 Suggested by: Thomas Schmitt.
22123
22124 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22125
22126 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22127 Suggested by: Thomas Schmitt.
22128
22129 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 custom.cfg support.
22132
22133 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22134 * util/grub.d/41_custom.in: New file.
22135
22136 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
22137
22138 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22139 been merged back into normal.
22140
22141 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
22142
22143 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22144 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22145
22146 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
22147
22148 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22149 when generating manual pages.
22150 * docs/man/grub-bin2h.h2m: New file.
22151 * docs/man/grub-editenv.h2m: New file.
22152 * docs/man/grub-fstest.h2m: New file.
22153 * docs/man/grub-install.h2m: New file.
22154 * docs/man/grub-macho2img.h2m: New file.
22155 * docs/man/grub-mkconfig.h2m: New file.
22156 * docs/man/grub-mkdevicemap.h2m: New file.
22157 * docs/man/grub-mkfont.h2m: New file.
22158 * docs/man/grub-mkimage.h2m: New file.
22159 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22160 * docs/man/grub-mkrelpath.h2m: New file.
22161 * docs/man/grub-mkrescue.h2m: New file.
22162 * docs/man/grub-ofpathname.h2m: New file.
22163 * docs/man/grub-pe2elf.h2m: New file.
22164 * docs/man/grub-probe.h2m: New file.
22165 * docs/man/grub-reboot.h2m: New file.
22166 * docs/man/grub-script-check.h2m: New file.
22167 * docs/man/grub-set-default.h2m: New file.
22168 * docs/man/grub-setup.h2m: New file.
22169
22170 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22171
22172 Use FOR_* macros instead of *_iterate whenever possible.
22173
22174 * commands/handler.c: Removed.
22175 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22176 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22177 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22178 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22179 (grub_probe_SOURCES): Remove kern/parser.c.
22180 (util/grub-script-check.c_DEPENDENCIES): Removed.
22181 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22182 and grub_script_check_init.c.
22183 (grub_script_check_init.lst): Removed.
22184 (grub_script_check_init.h): Likewise.
22185 (grub_script_check_init.c): Likewise.
22186 (pkglib_MODULES): Remove handler.mod and sh.mod.
22187 (handler_mod_SOURCES): Removed.
22188 (handler_mod_CFLAGS): Likewise.
22189 (handler_mod_LDFLAGS): Likewise.
22190 (normal_mod_SOURCES): Remove normal/handler.c.
22191 Add script/main.c, script/script.c, script/execute.c,
22192 script/function.c, script/lexer.c, grub_script.tab.c
22193 and grub_script.yy.c.
22194 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22195 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22196 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22197 (grub_setup_SOURCES): Remove kern/parser.c.
22198 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22199 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22200 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22201 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22202 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22203 (grub_setup_SOURCES): Remove kern/parser.c.
22204 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22205 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22206 * include/grub/command.h (grub_command_iterate): Removed.
22207 (FOR_COMMANDS): New macro.
22208 * include/grub/dl.h (grub_dl): New member next.
22209 (grub_dl_iterate): Removed.
22210 (grub_dl_head): New variable declaration.
22211 (FOR_DL_MODULES): New macro.
22212 * include/grub/fs.h: Include list.h.
22213 (grub_fs): Make next first element.
22214 (grub_fs_list): New variable declaration.
22215 (grub_fs_register): Make inline.
22216 (grub_fs_unregister): Likewise.
22217 (grub_fs_iterate): Removed.
22218 (FOR_FILESYSTEMS): New macro.
22219 * include/grub/handler.h: Removed.
22220 * include/grub/list.h (grub_list_hook_t): Removed.
22221 (grub_list_test_t): Likewise.
22222 (grub_list_pop): Likewise.
22223 (grub_list_iterate): Likewise.
22224 (grub_list_insert): Likewise.
22225 (FOR_LIST_ELEMENTS): New macro.
22226 * include/grub/parser.h (grub_parser_class): Removed.
22227 (grub_parser_register): Likewise.
22228 (grub_parser_unregister): Likewise.
22229 (grub_parser_get_current): Likewise.
22230 (grub_parser_set_current): Likewise.
22231 (grub_register_rescue_parser): Likewise.
22232 (grub_rescue_parse_line): New function.
22233 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22234 * include/grub/script_sh.h (grub_script_function_list): New variable
22235 declaration.
22236 (FOR_SCRIPT_FUNCTIONS): New macro.
22237 (grub_script_function_iterate): Removed.
22238 (grub_normal_parse_line): New prototype.
22239 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22240 (FOR_DISABLED_TERM_INPUTS): Likewise.
22241 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22242 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22243 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22244 element.
22245 (grub_video_register): Inline.
22246 (grub_video_unregister): Likewise.
22247 (grub_video_adapter_list): New variable declaration.
22248 (grub_video_iterate): Removed.
22249 (FOR_VIDEO_ADAPTERS): New macro.
22250 * kern/dl.c (grub_dl_list): Removed. All users updated.
22251 (grub_dl_iterate): Removed.
22252 * kern/fs.c (grub_fs_list): Make global.
22253 (grub_fs_register): Removed.
22254 (grub_fs_unregister): Likewise.
22255 (grub_fs_iterate): Likewise.
22256 * kern/handler.c: Removed.
22257 * kern/list.c (grub_list_pop): Removed.
22258 (grub_list_iterate): Likewise.
22259 (grub_list_insert): Likewise.
22260 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22261 (grub_prio_list_insert): Don't use grub_list_insert.
22262 * kern/main.c (grub_register_rescue_parser): Don't call
22263 grub_register_rescue_parser.
22264 * kern/parser.c (grub_parser_class): Removed.
22265 (grub_parser_execute): Use grub_rescue_parse_line.
22266 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22267 (grub_rescue_parser): Removed.
22268 (grub_register_rescue_parser): Likewise.
22269 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22270 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22271 (grub_auth_check_authentication): Likewise.
22272 * normal/completion.c (iterate_command): Removed.
22273 (grub_normal_do_completion): Use FOR_COMMANDS.
22274 * normal/handler.c: Removed.
22275 * normal/main.c (read_config_file): Remove parser changing.
22276 (grub_normal_execute): Don't call read_handler_list.
22277 (grub_normal_read_line_real): Statically allocate prompt.
22278 (grub_cmdline_run): Use grub_normal_parse_line.
22279 (GRUB_MOD_FINI): Don't call free_handler_list.
22280 * normal/menu_entry.c (run): Likewise.
22281 * script/function.c (grub_script_function_list): Make global.
22282 (grub_script_function_iterate): Removed.
22283 * script/main.c (grub_normal_parse_line): Make global.
22284 (grub_sh_parser): Removed.
22285 (GRUB_MOD_INIT): Likewise.
22286 (GRUB_MOD_FINI): Likewise.
22287 * tests/lib/functional_test.c (grub_functional_test): Use
22288 FOR_LIST_ELEMENTS.
22289 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22290 (grub_test_run): Use FOR_LIST_ELEMENTS.
22291 * tests/lib/unit_test.c (main): Likewise.
22292 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22293 grub_list_pop.
22294 * util/grub-fstest.c (grub_term_input_class): Removed.
22295 (grub_term_output_class): Likewise.
22296 * util/grub-probe.c: Likewise.
22297 * util/i386/pc/grub-setup.c: Likewise.
22298 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22299 * util/grub-script-check.c (main): Don't call grub_init_all and
22300 grub_fini_all.
22301 * video/video.c (grub_video_adapter_list): Make global.
22302 (grub_video_register): Removed.
22303 (grub_video_unregister): Likewise.
22304 (grub_video_iterate): Likewise.
22305
22306 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22307
22308 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22309 reported by Henrique Ferreiro.
22310
22311 2010-06-09 Robert Millan <rmh@gnu.org>
22312
22313 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22314 ones, when both are available.
22315
22316 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22317
22318 Make --version uniform and avoid hard-coded program name.
22319
22320 * util/grub-mkimage.c (main): Use `program_name' instead of
22321 hard-coded string.
22322 * util/i386/pc/grub-setup.c (main): Likewise.
22323 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22324 * util/grub-install.in: Save the basename of $0 in $self, and use the
22325 latter in informational messages. Use the same format for --version
22326 as the binary programs.
22327 * util/grub-mkconfig.in: Likewise.
22328 * util/grub-mkrescue.in: Likewise.
22329 * util/grub-reboot.in: Likewise.
22330 * util/grub-set-default.in: Likewise.
22331 * util/i386/efi/grub-install.in: Likewise.
22332 * util/ieee1275/grub-install.in: Likewise.
22333 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22334
22335 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22336
22337 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22338 embedding area. Use <= instead of == when checking for non-emptiness.
22339
22340 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22341
22342 * configure.ac: Add `.' to the directories searched for unifont.
22343
22344 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
22345
22346 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22347 grub_script.yy.h.
22348
22349 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
22350
22351 * docs/grub.texi (History): Expand to cover GRUB 2.
22352 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22353 commands, not `terminal'.
22354 (serial): Likewise.
22355 (terminal_input): New section.
22356 (terminal_output): New section.
22357 (uppermem): New section (stub).
22358 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22359
22360 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
22361
22362 * docs/grub.texi (Security): Menu entries are unrestricted by
22363 default, not restricted to superusers as I had previously thought.
22364 Reword to account for this.
22365
22366 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22367
22368 * kern/emu/misc.c (device_mapper_null_log): New function.
22369 (grub_device_mapper_supported): New function.
22370 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22371 prototype.
22372 * kern/emu/hostdisk.c (find_partition_start): Check whether
22373 device-mapper is supported before trying to use it.
22374 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22375
22376 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22377
22378 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22379 (File name syntax): Likewise.
22380 (help): --all is no longer supported in GRUB 2. Be more precise
22381 about pattern matching.
22382
22383 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22384
22385 * normal/completion.c (grub_normal_do_completion): When completing
22386 arguments to "set" and the current word contains an equals sign,
22387 skip to after the equals sign before starting completion.
22388
22389 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22390
22391 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22392
22393 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22394
22395 * docs/grub.texi (Network): New section.
22396 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22397 `(nd)' as in GRUB Legacy.
22398 (pxe_unload): New section.
22399
22400 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22401
22402 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22403 in the rescue shell, so recommend using `set' instead. Thanks,
22404 Jordan Uggla.
22405
22406 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22407
22408 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22409 (password): New section.
22410 (password_pbkdf2): New section.
22411 (search): New section.
22412 (Security): New section.
22413 (Troubleshooting): New section, currently very incomplete.
22414 (Invoking grub-mkpasswd-pbkdf2): New section.
22415 (Internals): New section, currently very incomplete.
22416
22417 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22418
22419 * util/grub.d/00_header.in: Add some more quoting (of
22420 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22421 work again.
22422 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22423
22424 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
22425
22426 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22427 to `count', fixing variable shadowing that broke the -c option.
22428
22429 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
22430
22431 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22432 in case they contain spaces.
22433
22434 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
22435
22436 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22437 "part_" to partmap module names, in line with grub-install.
22438 Reported by: Jindřich Makovička (Debian bug #584426).
22439
22440 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
22441
22442 * util/grub-mkimage.c: Make target-related error messages slightly
22443 more helpful; -O talks about "format". Explicitly point to the use
22444 of -O if no target is specified.
22445 Reported by: Didier Raboud (Debian bug #584415).
22446
22447 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
22448
22449 * INSTALL: Document several build requirements for optional features
22450 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22451
22452 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22453
22454 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22455 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22456 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22457
22458 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22459
22460 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22461 Thanks to Jordan Uggla for spotting this.
22462
22463 2010-06-02 Aleš Nesrsta <starous@volny.cz>
22464
22465 Finally make USB usable.
22466
22467 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22468 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22469 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22470 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22471 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22472 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22473 (GRUB_OHCI_FSMPS): Likewise.
22474 (GRUB_OHCI_PERIODIC_START): Likewise.
22475 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22476 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22477 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22478 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22479 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22480 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22481 (grub_ohci_transaction): Likewise.
22482 (grub_ohci_transfer): Improve condition detection algorithms.
22483 Handle toggle property. Program the transactions correctly.
22484 Improve error handling. Various important fixups.
22485 (grub_ohci_portstatus): Put register writes in right order.
22486 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22487 (grub_uhci_transfer): Don't show "failed" message on success.
22488 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22489 array.
22490 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22491 determine its size.
22492 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22493 before initialization is completed. Use IN direction for empty
22494 transfers. Use last_trans and compute toggle.
22495 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22496 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22497 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22498 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22499 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22500 (grub_usb_device): Increase toggle to 256.
22501 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22502 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22503 GRUB_USBMS_SUBCLASS_SFF8070.
22504 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22505 (grub_scsi_inquiry): New member page and alloc_length.
22506 (grub_scsi_request_sense): New structure.
22507 (grub_scsi_request_sense_data): Likewise.
22508 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22509 control.
22510 * disk/scsi.c (grub_scsi_request_sense): New function.
22511 (grub_scsi_test_unit_ready): Likewise.
22512 (grub_scsi_inquiry): Fill new fields.
22513 (grub_scsi_read_capacity): Likewise.
22514 (grub_scsi_read10): Add request sense at the end.
22515 (grub_scsi_read12): Likewise.
22516 (grub_scsi_write10): Likewise.
22517 (grub_scsi_write12): Likewise.
22518 (grub_scsi_open): Add Test Unit Ready.
22519 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22520 Support additional subclasses. Con't clear halt yet. Activate the
22521 proper config. Calculate LUNs correctly.
22522 (grub_usbms_transfer): Various important fixups.
22523
22524 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22525
22526 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22527 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22528 (grub_ohci_fini_hw): New function.
22529 (grub_ohci_restore_hw): Likewise.
22530 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22531 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22532 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22533
22534 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 Dedicated DMA allocations.
22537
22538 * bus/pci.c (grub_memalign_dma32): New function
22539 (grub_dma_free): Likewise.
22540 (grub_dma_get_virt): Likewise.
22541 (grub_dma_get_phys): Likewise.
22542 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22543 (grub_ohci_pci_iter): Use dma32_alloc.
22544 (grub_ohci_transfer): Likewise.
22545 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22546 (grub_usb_bulk_readwrite): Likewise.
22547 * include/grub/pci.h: Add declarations.
22548
22549 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22550
22551 CS5536 support.
22552
22553 * bus/cs5536.c: New file.
22554 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22555 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22556 (cs5536_mod_SOURCES): New variable.
22557 (cs5536_mod_CFLAGS): Likewise.
22558 (cs5536_mod_LDFLAGS): Likewise.
22559 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22560 machine/pci.h.
22561 (kernel_img_SOURCES): Add bus/cs5536.c.
22562 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22563 usb_keyboard.mod.
22564 (usb_mod_SOURCES): New variable.
22565 (usb_mod_CFLAGS): New variable.
22566 (usb_mod_LDFLAGS): New variable.
22567 (usbtest_mod_SOURCES): New variable.
22568 (usbtest_mod_CFLAGS): New variable.
22569 (usbtest_mod_LDFLAGS): New variable.
22570 (ohci_mod_SOURCES): New variable.
22571 (ohci_mod_CFLAGS): New variable.
22572 (ohci_mod_LDFLAGS): New variable.
22573 (usbms_mod_SOURCES): New variable.
22574 (usbms_mod_CFLAGS): New variable.
22575 (usbms_mod_LDFLAGS): New variable.
22576 (usb_keyboard_mod_SOURCES): New variable.
22577 (usb_keyboard_mod_CFLAGS): New variable.
22578 (usb_keyboard_mod_LDFLAGS): New variable.
22579 * include/grub/smbus.h: New file.
22580 * include/grub/cs5536.h: New file.
22581
22582 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22583
22584 * util/grub.d/00_header.in: Add safety check to make sure that
22585 ${locale_dir} exists before trying to probe it.
22586
22587 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22588
22589 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22590 per the GNU Coding Standards; this is now too obscure to be worth
22591 documenting.
22592 (QNX): Likewise.
22593 (chainloader): Remove cross-reference to `SCO UnixWare'.
22594
22595 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22596
22597 * docs/grub.texi (Chain-loading): New section.
22598 (DOS/Windows): New section, borrowed from GRUB Legacy with details
22599 adjusted for GRUB 2.
22600 (SCO UnixWare): Likewise.
22601 (QNX): Likewise.
22602 (chainloader): Add reference to `Block list syntax'.
22603 (drivemap): New section.
22604 (parttool): New section.
22605
22606 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22607
22608 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
22609 the grub shell'.
22610 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
22611 (Installing GRUB using grub-install): Remove reference to the grub
22612 shell; mention `grub-mkimage' and `grub-setup' instead.
22613 (Invoking grub-install): Likewise.
22614 (Interface): Add reference to `Menu entry editor'.
22615 (serial): Remove `--device' option.
22616
22617 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22618
22619 * docs/grub.texi (Configuration): New section, documenting
22620 configuration file generation using grub-mkconfig. I've left a slot
22621 for documenting the full shell scripting format but have not yet
22622 started on writing that up.
22623 (Invoking grub-mkconfig): New section.
22624
22625 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22626
22627 * docs/grub.texi (direntry): Remove grub-terminfo reference.
22628 (GNU GRUB manual): Likewise.
22629 (General commands): Update description of `terminfo' for GRUB 2.
22630
22631 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22632
22633 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
22634 (GRUB_MOD_INIT): Fix capitalisation.
22635 * docs/grub.texi (Command-line and menu entry commands): Document
22636 gettext and gptsync commands.
22637
22638 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
22639
22640 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
22641 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
22642
22643 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
22644
22645 Add btrfs probing support, currently only in the single-device case.
22646
22647 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
22648 function.
22649 (grub_guess_root_device): Call find_root_device_from_mountinfo
22650 before looking in /dev.
22651
22652 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22653
22654 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
22655 GRUB_DISK_SIZE_UNKNOWN.
22656 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
22657
22658 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
22659
22660 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
22661 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
22662 corrupted or not synced properly.
22663
22664 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22665
22666 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
22667 Reported by: Seth Goldberg.
22668
22669 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22670
22671 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
22672 addition of dest.
22673 Reported by: Seth Goldberg.
22674
22675 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22676
22677 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
22678 Reported by: Seth Goldberg.
22679
22680 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22681
22682 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
22683 64-bit address as signed on MIPS.
22684
22685 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
22686
22687 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
22688 to the empty string.
22689
22690 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
22691
22692 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
22693
22694 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
22695 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
22696 * kern/misc.c (__enable_execute_stack): Disable on
22697 GRUB_MACHINE_EMU.
22698
22699 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
22700
22701 Make grub-probe work with symbolic links under /dev/mapper as well
22702 as with real block devices. The Linux world seems to be (at best)
22703 in transition here, and GRUB shouldn't get caught in the middle.
22704
22705 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
22706 /dev/mapper.
22707
22708 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
22709
22710 * util/grub-script-check.c (main): Ensure defined behaviour on empty
22711 input files (in which case exit zero).
22712
22713 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
22714
22715 * kern/emu/misc.c (canonicalize_file_name): realpath can still
22716 return NULL for various reasons even if it has a maximum-length
22717 buffer: for example, there might be a symlink loop, or the path
22718 might exceed PATH_MAX. If this happens, return NULL.
22719
22720 2010-05-27 Robert Millan <rmh@gnu.org>
22721
22722 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
22723 partmap module to handle cross-partmap setups.
22724 Reported by Orestes Mas. Gràcies!
22725
22726 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
22727
22728 * util/grub-mkrescue.in: Initialise override_dir rather than
22729 assuming that it's unset or empty in the environment.
22730
22731 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
22732
22733 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
22734 variable index into p_index to suppress a warning with -Wshadow.
22735
22736 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
22737
22738 * INSTALL: Added flex >= 2.5.35 requirement.
22739
22740 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
22743
22744 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22745
22746 cmostest support.
22747
22748 * commands/i386/cmostest.c: New file.
22749 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
22750 (cmostest_mod_SOURCES): New variable.
22751 (cmostest_mod_CFLAGS): Likewise.
22752 (cmostest_mod_LDFLAGS): Likewise.
22753 * conf/i386-pc.rmk: Likewise.
22754 * docs/grub.texi (Vendor power-on keys): New section.
22755 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
22756 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
22757 and GRUB_BUTTON_CMOS_ADDRESS.
22758 * util/grub.d/00_header.in: Handle powering-on by separate button.
22759
22760 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22761
22762 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
22763 Removed drawing_scrollbar argument. All users updated
22764 Fixes #29792.
22765 Reported by Jo Shields
22766
22767 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22768
22769 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
22770 buffer since gfxterm handles double repaint.
22771
22772 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22773
22774 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
22775 * term/gfxterm.c (real_scroll): Likewise.
22776
22777 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22778
22779 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
22780 before calling BIOS.
22781
22782 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22783
22784 * include/grub/i18n.h: Always enable grub_gettext.
22785
22786 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
22789 partition naming style.
22790
22791 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
22792
22793 * util/grub-mkconfig.in: Fix handling of -o so that it works when
22794 not the first option.
22795
22796 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
22797
22798 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
22799
22800 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
22801
22802 * util/misc.c: Move inclusion of <limits.h> to ...
22803 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
22804
22805 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
22806
22807 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
22808 Fix merge error in NetBSD code.
22809 (find_partition_start) [__NetBSD__]: Likewise.
22810
22811 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
22812
22813 Fix grub-mkrescue usage unit testing.
22814
22815 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
22816
22817 2010-05-18 Christian Franke <franke@computer.org>
22818
22819 * util/grub.d/10_windows.in: Use path names instead of
22820 drive letters to prevent warning from Cygwin 1.7.
22821 Add drivemap command to menuentry if needed.
22822
22823 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
22824
22825 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
22826 gnumach and gnumach.gz.
22827
22828 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22829
22830 * include/grub/i18n.h (gettext): Inline instead of using #define.
22831 (grub_gettext): Likewise.
22832 (_): Likewise.
22833
22834 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22835
22836 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
22837 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
22838 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
22839 (main): Add a slash after pkglibdirroot.
22840
22841 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22842
22843 * util/grub-install.in: Add missing "in" keyword.
22844
22845 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
22848 Reported by: Seth Goldberg.
22849
22850 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22851
22852 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
22853
22854 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
22855
22856 * configure.ac: Check for Linux device-mapper support.
22857
22858 * util/hostdisk.c (device_is_mapped): New function.
22859 (find_partition_start): New function, partly broken out from
22860 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
22861 device-mapper support added.
22862 (linux_find_partition): Use find_partition_start.
22863 (convert_system_partition_to_system_disk): Add `st' argument.
22864 Support Linux /dev/mapper/* devices if device-mapper support is
22865 available; only DM-RAID devices are understood at present.
22866 (find_system_device): Add `st' argument. Pass it to
22867 convert_system_partition_to_system_disk.
22868 (grub_util_biosdisk_get_grub_dev): Pass stat result to
22869 find_system_device and convert_system_partition_to_system_disk. Use
22870 find_partition_start.
22871
22872 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
22873 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
22874 * util/deviceiter.c [__linux__]: Define MINOR.
22875 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
22876 * util/mkdevicemap.c (grub_putchar): New function.
22877 (grub_getkey): New function.
22878 (grub_refresh): New function.
22879 (main): Set debug=all if -v -v is used.
22880
22881 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
22882
22883 Fix build with non-GNU libcs.
22884
22885 * util/misc.c (canonicalize_file_name): Move to ...
22886 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
22887 grub_make_system_path_relative_to_its_root.
22888
22889 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
22890
22891 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
22892 we handle finding grub-mkimage. Default to finding grub-mkimage in
22893 ${bindir} with program_transform_name applied, and provide a
22894 --grub-mkimage option to override this.
22895
22896 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22897
22898 Remove grub-mkisofs.
22899
22900 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
22901 (grub_mkisofs_SOURCES): Removed.
22902 (grub_mkisofs_CFLAGS): Removed.
22903 * util/mkisofs/defaults.h: Removed.
22904 * util/mkisofs/eltorito.c: Likewise.
22905 * util/mkisofs/exclude.h: Likewise.
22906 * util/mkisofs/hash.c: Likewise.
22907 * util/mkisofs/include/: Likewise.
22908 * util/mkisofs/include/fctldefs.h: Likewise.
22909 * util/mkisofs/include/mconfig.h: Likewise.
22910 * util/mkisofs/include/prototyp.h: Likewise.
22911 * util/mkisofs/include/statdefs.h: Likewise.
22912 * util/mkisofs/iso9660.h: Likewise.
22913 * util/mkisofs/joliet.c: Likewise.
22914 * util/mkisofs/match.c: Likewise.
22915 * util/mkisofs/match.h: Likewise.
22916 * util/mkisofs/mkisofs.c: Likewise.
22917 * util/mkisofs/mkisofs.h: Likewise.
22918 * util/mkisofs/msdos_partition.h: Likewise.
22919 * util/mkisofs/multi.c: Likewise.
22920 * util/mkisofs/name.c: Likewise.
22921 * util/mkisofs/rock.c: Likewise.
22922 * util/mkisofs/tree.c: Likewise.
22923 * util/mkisofs/write.c: Likewise.
22924
22925 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 Unify grub-mkimage accross platforms.
22928
22929 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
22930 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
22931 (grub_mkelfimage_SOURCES): Removed.
22932 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
22933 (util/grub-mkimage.c_DEPENDENCIES): .. this.
22934 (bin_UTILITIES): Add grub-mkimage.
22935 (grub_mkimage_SOURCES): New variable.
22936 (kernel_img_HEADERS): Remove machine/kernel.h.
22937 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
22938 (pkglib_PROGRAMS): Add kernel.img.
22939 (kernel_img_HEADERS): Add machine/kernel.h.
22940 (kernel_img_FORMAT): Removed.
22941 (bin_UTILITIES): Remove grub-mkimage.
22942 (grub_mkimage_SOURCES): Removed.
22943 (grub_mkimage_CFLAGS): Likewise.
22944 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22945 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
22946 (pkglib_PROGRAMS): Add kernel.img.
22947 (bin_UTILITIES): Remove grub-mkimage.
22948 (grub_mkimage_SOURCES): Removed.
22949 (grub_mkimage_CFLAGS): Likewise.
22950 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22951 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
22952 (pkglib_PROGRAMS): Add kernel.img.
22953 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
22954 (pkglib_PROGRAMS): Add kernel.img.
22955 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
22956 (grub_mkimage_SOURCES): Removed.
22957 (grub_mkimage_CFLAGS): Likewise.
22958 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22959 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
22960 (pkglib_PROGRAMS): Add kernel.img.
22961 (bin_UTILITIES): Remove grub-mkimage.
22962 (grub_mkimage_SOURCES): Removed.
22963 (grub_mkimage_CFLAGS): Likewise.
22964 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22965 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
22966 (grub_mkimage_SOURCES): Removed.
22967 (grub_mkimage_CFLAGS): Likewise.
22968 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22969 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
22970 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
22971 (grub_pe32_optional_header): ... this.
22972 (grub_pe64_optional_header): ... and this. All users updated.
22973 (GRUB_PE32_PE32_MAGIC): Split into ..
22974 (GRUB_PE32_PE32_MAGIC): .. this.
22975 (GRUB_PE32_PE64_MAGIC): .. and this.
22976 (GRUB_PE32_SIGNATURE_SIZE): New definition.
22977 * include/grub/elf.h (PT_GNU_STACK): New definition.
22978 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
22979 * include/grub/i386/efi/kernel.h: Likewise.
22980 * include/grub/i386/kernel.h: Likewise.
22981 * include/grub/i386/pc/kernel.h: Likewise.
22982 * include/grub/i386/qemu/boot.h: Likewise.
22983 * include/grub/mips/kernel.h: Likewise.
22984 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22985 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22986 * include/grub/powerpc/kernel.h: Likewise.
22987 * include/grub/sparc64/ieee1275/boot.h: Likewise.
22988 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22989 * include/grub/sparc64/kernel.h: Likewise.
22990 * include/grub/x86_64/efi/kernel.h: Likewise.
22991 * include/grub/x86_64/kernel.h: Likewise.
22992 * include/grub/offsets.h: New file.
22993 * include/grub/kernel.h (grub_module_info): Split into ...
22994 (grub_module_info32): ... this.
22995 (grub_module_info64): ... and this.
22996 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
22997 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
22998 (grub_boot_blocklist): Moved from here ...
22999 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23000 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23001 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23002 * include/grub/types.h (grub_target_to_host16): Removed.
23003 (grub_target_to_host32): Likewise.
23004 (grub_target_to_host64): Likewise.
23005 (grub_host_to_target16): Likewise.
23006 (grub_host_to_target32): Likewise.
23007 (grub_host_to_target64): Likewise.
23008 (grub_host_to_target_addr): Likewise.
23009
23010 Support grub-mkrescue for efi, coreboot and qemu.
23011
23012 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23013 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23014 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23015 * util/grub-mkrawimage.c: Moved from here ...
23016 * util/grub-mkimage.c: ... here. All users updated.
23017 (ALIGN_ADDR): Use image_target.
23018 (TARGET_NO_FIELD): New const.
23019 (image_target_desc): New type.
23020 (image_targets): New array.
23021 (grub_target_to_host64): Use image_target.
23022 (grub_target_to_host32): Likewise.
23023 (grub_target_to_host16): Likewise.
23024 (grub_host_to_target64): Likewise.
23025 (grub_host_to_target32): Likewise.
23026 (grub_host_to_target16): Likewise.
23027 (grub_host_to_target_addr): Likewise.
23028 (generate_image): Handle multiimage.
23029 (main): Require -O parameter. All users updated.
23030 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23031 util/efi/grub-mkimage.c
23032 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23033 New option --rom-directory.
23034 Use xorriso.
23035 * util/i386/efi/grub-mkimage.c: Removed.
23036 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23037 (grub_target_to_host32): Likewise.
23038 (grub_target_to_host64): Likewise.
23039 (grub_host_to_target16): Likewise.
23040 (grub_host_to_target32): Likewise.
23041 (grub_host_to_target64): Likewise.
23042 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23043 (grub_target_to_host32): Likewise.
23044 (grub_target_to_host64): Likewise.
23045 (grub_host_to_target16): Likewise.
23046 (grub_host_to_target32): Likewise.
23047 (grub_host_to_target64): Likewise.
23048
23049 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23050
23051 Source tree is reorganized for emu build.
23052
23053 * include/grub/util/console.h: Move from here...
23054 * include/grub/emu/console.h: ...to here.
23055 * include/grub/util/getroot.h: Move from here...
23056 * include/grub/emu/getroot.h: ...to here.
23057 * include/grub/util/hostdisk.h: Move from here...
23058 * include/grub/emu/hostdisk.h: ...to here.
23059 * util/console.c: Move from here...
23060 * kern/emu/console.c: ...to here.
23061 * util/getroot.c: Move from here...
23062 * kern/emu/getroot.c: ...to here.
23063 * util/grub-emu.c: Move from here...
23064 * kern/emu/main.c: ...to here.
23065 * util/hostdisk.c: Move from here...
23066 * kern/emu/hostdisk.c: ...to here.
23067 * util/hostfs.c: Move from here...
23068 * kern/emu/hostfs.c: ...to here.
23069 * util/mm.c: Move from here...
23070 * kern/emu/mm.c: ...to here.
23071 * util/pci.c: Move from here...
23072 * bus/emu/pci.c: ...to here.
23073 * util/sdl.c: Move from here...
23074 * video/emu/sdl.c: ...to here.
23075 * util/time.c: Move from here...
23076 * kern/emu/time.c: ...to here.
23077 * util/usb.c: Move from here...
23078 * bus/usb/emu/usb.c: ...to here.
23079
23080 * include/grub/emu/misc.h: New header for grub-emu functions.
23081 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23082
23083 * conf/any-emu.rmk: Rule updates for above renames.
23084 * conf/common.rmk: Likewise.
23085 * conf/i386-pc.rmk: Likewise.
23086 * conf/i386-qemu.rmk: Likewise.
23087 * conf/mips.rmk: Likewise.
23088 * conf/sparc64-ieee1275.rmk: Likewise.
23089 * conf/x86-efi.rmk: Likewise.
23090
23091 * disk/lvm.h: #include updates for above renames.
23092 * util/grub-mkrelpath.c: Likewise.
23093 * util/grub-probe.c: Likewise.
23094 * util/i386/pc/grub-setup.c: Likewise.
23095 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23096 * kern/emu/console.c: Likewise.
23097 * kern/emu/getroot.c: Likewise.
23098 * kern/emu/hostdisk.c: Likewise.
23099 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23100
23101 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23102 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23103 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23104 * util/misc.c: Remove grub-emu functions.
23105
23106 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23107
23108 Fix gfxmenu crash.
23109 Reported by: Thorsten Grützmacher.
23110
23111 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23112 timeout hook.
23113 (circprog_set_property): Register and unregister timeout hook.
23114 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23115 (label_destroy): Free template. and unregister hook.
23116 (label_set_state): New function.
23117 (label_set_property): Handle templates and hooks.
23118 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23119 timeout hook.
23120 (progress_bar_set_property): Register and unregister timeout hook.
23121 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23122 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23123 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23124 (update_timeout_visit): Removed.
23125 (update_timeouts): New function.
23126 (redraw_timeouts): Likewise.
23127 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23128 (grub_gfxmenu_clear_timeout): Likewise.
23129 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23130 (grub_gfxmenu_timeout_notify): Likewise.
23131 (grub_gfxmenu_timeout_notifications): New external variable.
23132 (grub_gfxmenu_timeout_register): New function.
23133 (grub_gfxmenu_timeout_unregister): Likewise.
23134
23135 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23136
23137 Transform (broken) vga terminal into (working) vga video driver.
23138
23139 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23140 video/i386/pc/vga.c.
23141 * include/grub/video.h (grub_video_driver_id):
23142 Add GRUB_VIDEO_DRIVER_VGA.
23143 * term/i386/pc/vga.c: Renamed to ...
23144 * video/i386/pc/vga.c: ...this
23145 (DEBUG_VGA): Removed.
23146 (CHAR_WIDTH): Likewise.
23147 (CHAR_HEIGHT): Likewise.
23148 (TEXT_WIDTH): Likewise.
23149 (TEXT_HEIGHT): Likewise.
23150 (DEFAULT_FG_COLOR): Likewise.
23151 (DEFAULT_BG_COLOR): Likewise.
23152 (colored_char): Likewise.
23153 (xpos): Likewise.
23154 (ypos): Likewise.
23155 (cursor_state): Likewise.
23156 (fg_color): Likewise.
23157 (bg_color): Likewise.
23158 (text_buf): Likewise.
23159 (page): Likewise.
23160 (font): Likewise.
23161 (framebuffer): New variable.
23162 (set_read_map): Disabled.
23163 (setup): New variable.
23164 (is_target): Likewise.
23165 (grub_vga_mod_init): Likewise.
23166 (grub_vga_mod_fini): Likewise.
23167 (check_vga_mem): Likewise.
23168 (write_char): Likewise.
23169 (write_cursor): Likewise.
23170 (scroll_up): Likewise.
23171 (grub_vga_putchar): Likewise.
23172 (grub_vga_getcharwidth): Likewise.
23173 (grub_vga_getwh): Likewise.
23174 (grub_vga_getxy): Likewise.
23175 (grub_vga_gotoxy): Likewise.
23176 (grub_vga_cls): Likewise.
23177 (grub_vga_setcolorstate): Likewise.
23178 (grub_vga_setcursor): Likewise.
23179 (grub_video_vga_init): New function.
23180 (grub_video_vga_setup): Likewise.
23181 (grub_video_vga_fini): Likewise.
23182 (update_target): Likewise.
23183 (grub_video_vga_blit_bitmap): Likewise.
23184 (grub_video_vga_blit_render_target): Likewise.
23185 (grub_video_vga_set_active_render_target): Likewise.
23186 (grub_video_vga_get_active_render_target): Likewise.
23187 (grub_video_vga_swap_buffers): Likewise.
23188 (grub_video_vga_set_palette): Likewise.
23189 (grub_video_vga_get_info_and_fini): Likewise.
23190 (grub_vga_term): Removed.
23191 (grub_video_vga_adapter): New variable.
23192 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23193 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23194
23195 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23196
23197 * video/readers/jpeg.c: Indented.
23198
23199 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23200
23201 Various jpeg cleanups.
23202
23203 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23204 (grub_jpeg_decode_quan_table): Use sizeof.
23205 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23206
23207 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
23208
23209 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23210 tables. Ignore non-last ac bit.
23211 (grub_jpeg_decode_quan_table): Likewise.
23212
23213 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23214
23215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23216 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23217 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23218 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23219 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23220 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23221
23222 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23225 error.
23226
23227 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23228
23229 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23230
23231 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23234 condition.
23235
23236 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23237
23238 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23239 part.
23240
23241 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23244 pointers.
23245
23246 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23247
23248 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23249
23250 2010-05-01 Christian Franke <franke@computer.org>
23251
23252 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23253 Remove broken Cygwin path conversion.
23254 * util/misc.c: [__CYGWIN__] Add include and define.
23255 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23256 for Cygwin 1.7.
23257 (make_system_path_relative_to_its_root): Simplify loop, replace early
23258 return by break.
23259 [__CYGWIN__] Add conversion to win32 path.
23260 Include "/" case in trailing slash removal.
23261
23262 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23265 Reported by: Seth Goldberg
23266
23267 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23268
23269 * commands/help.c (grub_cmd_help): Fix a typo.
23270 Reported by: Seth Goldberg
23271
23272 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23273
23274 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23275 name and add N_.
23276 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23277 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23278 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23279 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23280 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23281 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23282 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23283 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23284 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23285 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23286 * normal/context.c (GRUB_MOD_INIT): Likewise.
23287 * normal/main.c (GRUB_MOD_INIT): Likewise.
23288 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23289 * term/serial.c (GRUB_MOD_INIT): Likewise.
23290 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23291
23292 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23295 extra == 0.
23296
23297 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23298
23299 * commands/iorw.c: New file.
23300 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23301 (iorw_mod_SOURCES): New variable.
23302 (iorw_mod_CFLAGS): Likewise.
23303 (iorw_mod_LDFLAGS): Likewise.
23304
23305 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23306
23307 Hotkey support
23308
23309 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23310 * normal/main.c (hotkey_aliases): New variable.
23311 (grub_normal_add_menu_entry): Parse "--hotkey".
23312 * normal/menu_text.c (run_menu): Handle hotkeys.
23313
23314 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23315
23316 * kern/i386/coreboot/init.c (grub_machine_init): Call
23317 grub_machine_mmap_init on qemu.
23318
23319 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23320
23321 * boot/i386/qemu/boot.S: Add a missing .code16.
23322
23323 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23324
23325 Use LBIO on coreboot.
23326
23327 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23328 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23329 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23330 New declaration.
23331 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23332 grub_machine_mmap_init on coreboot.
23333 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23334 GRUB_LINUXBIOS_MEMBER_LINK.
23335 (grub_machine_mmap_iterate): Fix declaration.
23336 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23337
23338 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 Split coreboot and multiboot ports.
23341
23342 * conf/i386-multiboot.rmk: New file.
23343 * configure.ac: Add multiboot port.
23344 * include/grub/i386/multiboot/boot.h: New file.
23345 * include/grub/i386/multiboot/console.h: Likewise.
23346 * include/grub/i386/multiboot/init.h: Likewise.
23347 * include/grub/i386/multiboot/kernel.h: Likewise.
23348 * include/grub/i386/multiboot/loader.h: Likewise.
23349 * include/grub/i386/multiboot/memory.h: Likewise.
23350 * include/grub/i386/multiboot/serial.h: Likewise.
23351 * include/grub/i386/multiboot/time.h: Likewise.
23352 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23353 * loader/multiboot.c: Likewise.
23354 * loader/multiboot_mbi2.c: Likewise.
23355 * util/grub-mkrescue.in: Generate multiboot rescue.
23356
23357 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23358
23359 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23360
23361 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23362
23363 Merge handling of input and output terminals. Fix a hang.
23364
23365 * commands/terminal.c (abstract_terminal): New struct.
23366 (handle_command): New function. Based on grub_cmd_terminal_input.
23367 (grub_cmd_terminal_input): Use handle_command.
23368 (grub_cmd_terminal_output): Use handle_command.
23369
23370 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23371
23372 Fix comment handling.
23373
23374 * tests/grub_script_comments.in: New testcase.
23375 * conf/tests.rmk: Rules for new testcase.
23376 * script/yylex.l: Updated flex rules.
23377
23378 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23379
23380 * docs/grub.texi (play): Document that zero pitches produce rests.
23381 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23382 if argc is 1.
23383
23384 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23385
23386 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23387 autogen issues.
23388
23389 2010-04-26 Christian Franke <franke@computer.org>
23390
23391 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23392 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23393 (grub_get_prefix): Remove function.
23394 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23395 make_system_path_relative_to_its_root ().
23396 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23397
23398 2010-04-24 Christian Franke <franke@computer.org>
23399
23400 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23401 (kernel_img_LDFLAGS): Remove -static-libgcc.
23402
23403 2010-04-24 Christian Franke <franke@computer.org>
23404
23405 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23406 and CHECK_END_SYMBOL if grub-emu is built.
23407 Unset TARGET_OBJ2ELF if grub-emu is built
23408 without module support.
23409
23410 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
23411
23412 Nilfs2 support.
23413
23414 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23415 (grub_fstest_SOURCES): Likewise.
23416 (pkglib_MODULES): Add nilfs2.mod.
23417 (nilfs2_mod_SOURCES): New variable.
23418 (nilfs2_mod_CFLAGS): Likewise.
23419 (nilfs2_mod_LDFLAGS): Likewise.
23420 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23421 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23422 * fs/nilfs2.c: New file.
23423
23424 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23425
23426 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23427 is not supported.
23428
23429 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23430
23431 Add grub-mkconfig support for NetBSD.
23432
23433 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23434 * util/grub-mkconfig.in: export new NetBSD specific variables.
23435 * po/POTFILES-shell: added 10_netbsd.in.
23436 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23437
23438 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23439
23440 Fix emu build with grub-emu-pci and grub-emu-modules.
23441
23442 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23443 functions.
23444 * include/grub/libpciaccess.h: New file.
23445 * conf/any-emu.rmk: Update kernel headers for emu build.
23446
23447 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23448
23449 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23450
23451 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23454
23455 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23456
23457 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23458 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23459 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23460 util/ieee1275/ofpath.c.
23461 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23462 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23463 * include/grub/sparc64/ieee1275/boot.h
23464 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23465 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23466 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23467 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23468 const char *.
23469 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23470 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23471 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23472 install.
23473
23474 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23475
23476 * util/grub-mkconfig.in: Corrected two == equality tests.
23477 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23478 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23479 expect a number appended to it.
23480 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23481 expects a number appended to it.
23482
23483 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23486
23487 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 * util/hostdisk.c (make_device_name): Change to new partition naming.
23490
23491 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23494
23495 2010-04-17 Christian Franke <franke@computer.org>
23496
23497 * Makefile.in: Add missing localedir setting.
23498
23499 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
23500
23501 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23502 mistake in r2156. Noticed by Anthony Fok.
23503
23504 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23505 @localedir@.
23506 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23507
23508 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23509
23510 Fix a spurious, uninitialized variable warning.
23511
23512 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23513 Initialize variable, shdr.
23514 (grub_freebsd_load_elfmodule): Likewise.
23515 (grub_freebsd_load_elf_meta): Likewise.
23516
23517 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23518
23519 Fix for escaped dollar in double quoted strings.
23520
23521 * script/yylex.l: Updated flex rules.
23522 * conf/tests.rmk: Rule for new testcase.
23523 * tests/grub_script_dollar.in: New testcase.
23524
23525 2010-04-13 Carles Pina i Estany <carles@pina.cat>
23526 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
23527
23528 Enclose all translated strings in grub.cfg in single quotes, and
23529 escape them appropriately (Ubuntu bug #552921).
23530
23531 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23532 * util/grub.d/10_hurd.in: Use it.
23533 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23534 * util/grub.d/10_linux.in (linux_entry): Likewise.
23535
23536 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23537
23538 Fix cygwin compilation.
23539
23540 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23541 * include/grub/misc.h (__register_frame_info)
23542 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23543 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23544 * kern/misc.c (__register_frame_info)
23545 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23546 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23547
23548 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23549
23550 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23551
23552 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23553
23554 Unify libgcc processing.
23555
23556 * Makefile.in (kernel_img_LDFLAGS): New variable.
23557 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23558 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23559 overwriting.
23560 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23561 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23562 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23563 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23564 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23565 overwriting. Remove -lgcc and -static-libgcc
23566 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23567 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23568 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23569 (kernel_img_LDFLAGS): Append instead of overwriting.
23570 Remove -lgcc and -static-libgcc
23571 * conf/sparc64-ieee1275.rmk: Likewise.
23572 * include/grub/powerpc/libgcc.h: Move to ...
23573 * include/grub/libgcc.h: .. this.
23574 * include/grub/libgcc.h: Don't export most of the function on x86.
23575 (__bswapsi2): New export.
23576 (__bswapdi2): Likewise.
23577 * include/grub/mips/libgcc.h: Removed.
23578 * include/grub/sparc64/libgcc.h: Likewise.
23579
23580 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23581
23582 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23583 disk_info_msg (conflicts with gettexting into languages with cases).
23584
23585 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23586
23587 Add grub-probe support for NetBSD.
23588
23589 * util/getroot.c (find_root_device): Convert block device to
23590 character device on NetBSD.
23591 * util/probe.c (probe): Require character device on NetBSD.
23592 * util/hostdisk.c: NetBSD specific headers.
23593 (configure_device_driver): new function to tune device driver
23594 parameters (currently only for NetBSD floppy driver).
23595 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23596 via disklabel ioctl).
23597 (open_device): call configure_device_driver on NetBSD.
23598 (convert_system_partition_to_system_disk): NetBSD specific code.
23599 (device_is_wholedisk): Likewise.
23600 (grub_util_biosdisk_get_grub_dev): Likewise.
23601 (make_device_name): Fixed a typo in bsd_part_str.
23602 * configure.ac: check for opendisk() and getrawpartition() on
23603 NetBSD and set LIBUTIL.
23604 * Makefile.in: add LIBUTIL to LIBS.
23605
23606 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23607
23608 Documentation fix.
23609
23610 * util/grub-script-check.c: Better help message.
23611
23612 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23613
23614 Fix FreeBSD build.
23615
23616 * configure.ac: Flex version check.
23617 * conf/common.rmk: Add -Wno-error to sh.mod.
23618 * script/yylex.l: Remove all #pragma.
23619
23620 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 * include/grub/util/misc.h (canonicalise_file_name): Add missing
23623 prototype.
23624 Reported by: Seth Goldberg.
23625
23626 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23627
23628 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
23629 Rename "module" to "module2".
23630 Reported by: Seth Goldberg.
23631
23632 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23633
23634 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
23635 EXPORT_FUNC.
23636 Reported by: Seth Goldberg.
23637
23638 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * lib/posix_wrap/locale.h: Add missing file.
23641 Reported by: Seth Goldberg.
23642
23643 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23644
23645 grub-emu module load support.
23646
23647 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
23648 NO_DYNAMIC_MODULES switched to this.
23649 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
23650 (CFLAGS): Likewise.
23651 * conf/any-emu.rmk: Generate symlist.
23652 (kernel_img_HEADERS): Add util/datetime.h.
23653 (kernel_img_HEADERS) [sdl]: Add sdl.h.
23654 (kernel_img_HEADERS) [libusb]: Add libusb.h.
23655 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
23656 kern/$(target_cpu)/cache.S.
23657 * configure.ac (grub-emu-modules): New option.
23658 * genmk.rb: Handle multiple source lists.
23659 * include/grub/sdl.h: New file.
23660 * include/grub/libusb.h: Likewise.
23661 * util/grub-emu.c (main): Hanle (host) root.
23662 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
23663 GRUB_ERR_UNKNOWN_DEVICE.
23664 * util/misc.c: Move mm functions to ...
23665 * util/mm.c: ... here. All users updated.
23666
23667 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23668
23669 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
23670 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
23671 missing files.
23672 (maintainer-clean): Remove libgcrypt-grub.
23673
23674 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
23677
23678 2010-04-09 EFI Coder <eficoder@hotmail.com>
23679
23680 * normal/menu_text.c (print_message): Clean up the message and show
23681 the Fn information when on EFI
23682 * term/efi/console.c (grub_console_checkkey): Add F4 support.
23683
23684 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
23687 All users updated.
23688 * normal/crypto.c (read_crypto_list): Likewise.
23689 * normal/dyncmd.c (read_command_list): Likewise.
23690 * normal/term.c (read_terminal_list): Likewise.
23691 * normal/main.c (read_lists): Use explicit prefix.
23692 (read_lists_hook): Use read_lists.
23693 (grub_normal_execute): Likewise.
23694
23695 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23696
23697 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
23698 Reported by: Thomas Schmitt.
23699 Add -no-emul-boot to grub-mkisofs parameters.
23700
23701 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 * font/font.c: Indented.
23704
23705 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23706
23707 Elif support to GRUB script (by Deepak Vankadaru).
23708
23709 * tests/grub_script_if.in: New testcase.
23710 * conf/tests.rmk: Rule for new testcase.
23711 * script/parser.y: Grammar rules for elif.
23712
23713 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23714
23715 While and until loops support to GRUB script.
23716
23717 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
23718 (grub_script_create_cmdwhile): New function prototype.
23719 (grub_script_execute_cmdwhile): New function prototype.
23720 * script/execute.c (grub_script_execute_cmdwhile): New function.
23721 * script/parser.y (command): New commands.
23722 (whilecmd): New grammar rule.
23723 (untilcmd): New grammar rule.
23724 * script/script.c (grub_script_create_cmdwhile): New function.
23725 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
23726 function.
23727
23728 * tests/grub_script_while1.in: New testcase.
23729 * conf/tests.rmk: Rule for new testcase.
23730
23731 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23732
23733 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
23734 as *.jpg.
23735
23736 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
23737
23738 GRUB_BACKGROUND support.
23739
23740 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
23741 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
23742
23743 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 Load fonts and modules for gfxmenu in grub-mkconfig.
23746 Idea by: Mario Vazquez
23747
23748 * util/grub.d/00_header.in: Load pf2 and image modules.
23749
23750 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 grub-mkconfig multiple terminal support.
23753
23754 * util/grub-mkconfig.in: Handle multiple terminals correctly.
23755 * util/grub.d/00_header.in: Likewise.
23756
23757 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 * Makefile.in: Specify files explicitly instead of using $< and $@ since
23760 we use cd $(srcdir).
23761
23762 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
23763
23764 * util/grub.d/10_linux.in: Only use the first word of
23765 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
23766 spaces in GRUB_DISTRIBUTOR.
23767 * util/grub.d/10_kfreebsd.in: Likewise.
23768 * util/grub.d/10_hurd.in: Likewise.
23769
23770 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
23771
23772 Fix unit testing framework for Qemu 0.12.
23773
23774 * tests/util/grub-shell.in: Remove -serial stdio option.
23775
23776 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 POSIX header file wrappers.
23779
23780 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
23781 equivalents.
23782 * lib/posix_wrap/ctype.h: Likewise.
23783 * lib/posix_wrap/errno.h: Likewise.
23784 * lib/posix_wrap/langinfo.h: Likewise.
23785 * lib/posix_wrap/limits.h: Likewise.
23786 * lib/posix_wrap/localcharset.h: Likewise.
23787 * lib/posix_wrap/stdint.h: Likewise.
23788 * lib/posix_wrap/stdio.h: Likewise.
23789 * lib/posix_wrap/stdlib.h: Likewise.
23790 * lib/posix_wrap/string.h: Likewise.
23791 * lib/posix_wrap/sys/types.h: Likewise.
23792 * lib/posix_wrap/unistd.h: Likewise.
23793 * lib/posix_wrap/wchar.h: Likewise.
23794 * lib/posix_wrap/wctype.h: Likewise.
23795 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
23796 (grub_script.yy.h): Likewise.
23797 * script/yylex.l: Remove POSIX emulation #defines.
23798 * Makefile.in (POSIX_CFLAGS): New variable.
23799 (GNULIB_UTIL_CFLAGS): Likewise.
23800
23801 Regexp support.
23802
23803 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
23804 (regexp_mod_SOURCES): New variable.
23805 (regexp_mod_CFLAGS): Likewise.
23806 (regexp_mod_LDFLAGS): Likewise.
23807 * commands/regexp.c: New file.
23808 * gnulib/regcomp.c: New file. Imported from gnulib.
23809 * gnulib/regex.c: Likewise.
23810 * gnulib/regex_internal.c: Likewise.
23811 * gnulib/regex_internal.h: Likewise.
23812 * gnulib/regexec.c: Likewise.
23813 * gnulib/regex.h: Likewise.
23814
23815 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
23818 unsupported video mode types.
23819
23820 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23821
23822 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
23823
23824 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23825
23826 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
23827 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
23828
23829 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23830
23831 Remove unused grub_vga_get_font.
23832
23833 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
23834 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
23835
23836 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23837
23838 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
23839 * include/grub/misc.h: Likewise.
23840
23841 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23842
23843 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
23844 for which failure is fatal.
23845
23846 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23847
23848 * util/grub-install.in: Use mkdir -p to create grub directory.
23849 * util/i386/efi/grub-install.in: Likewise.
23850 * util/ieee1275/grub-install.in: Likewise.
23851
23852 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23853
23854 * Makefile.in (LEX): new variable.
23855
23856 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23857
23858 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
23859 `=' and added double quotes on operands of this equality test.
23860
23861 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23862
23863 * Makefile.in (uninstall): Remove a leftover debug echo.
23864 Reported by: Grégoire Sutre
23865
23866 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23867
23868 MIPS multiboot2 support.
23869
23870 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
23871 (multiboot2_mod_SOURCES): New variable.
23872 (multiboot2_mod_CFLAGS): Likewise.
23873 (multiboot2_mod_LDFLAGS): Likewise.
23874 (multiboot2_mod_ASFLAGS): Likewise.
23875 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
23876 definition.
23877 (MULTIBOOT_ENTRY_REGISTER): Likewise.
23878 (MULTIBOOT_MBI_REGISTER): Likewise.
23879 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
23880 (MULTIBOOT_ELF32_MACHINE): Likewise.
23881 (MULTIBOOT_ELF64_MACHINE): Likewise.
23882 * include/grub/mips/multiboot.h: New file.
23883 * include/grub/video.h (grub_video_driver_id): New type
23884 GRUB_VIDEO_DRIVER_SM712.
23885 (grub_video_get_info_and_fini): Export.
23886 (grub_video_get_palette): Likewise.
23887 (grub_video_get_driver_id): Likewise.
23888 * include/multiboot2.h: Resynced with spec.
23889 * loader/i386/multiboot.c: Moved from here ...
23890 * loader/multiboot.c: ... here. All users updated.
23891 (grub_multiboot_boot): Use platform-specific macros.
23892 * loader/i386/multiboot_elfxx.c: Moved from here ...
23893 * loader/multiboot_elfxx.c: ... here. All users updated.
23894 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
23895 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
23896 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
23897
23898 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
23899
23900 Import gnulib argp module.
23901
23902 * gnulib/argp-ba.c: New file.
23903 * gnulib/argp-eexst.c: Likewise.
23904 * gnulib/argp-fmtstream.c: Likewise.
23905 * gnulib/argp-fmtstream.h: Likewise.
23906 * gnulib/argp-fs-xinl.c: Likewise.
23907 * gnulib/argp-help.c: Likewise.
23908 * gnulib/argp-namefrob.h: Likewise.
23909 * gnulib/argp-parse.c: Likewise.
23910 * gnulib/argp-pin.c: Likewise.
23911 * gnulib/argp-pv.c: Likewise.
23912 * gnulib/argp-pvh.c: Likewise.
23913 * gnulib/argp-version-etc.c: Likewise.
23914 * gnulib/argp-version-etc.h: Likewise.
23915 * gnulib/argp-xinl.c: Likewise.
23916 * gnulib/argp.h: Likewise.
23917
23918 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 * kern/device.c (grub_device_iterate): Clear errors after failed
23921 opening device.
23922
23923 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23924
23925 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
23926 returned by firmware.
23927
23928 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
23929
23930 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
23931 compilation on coreboot and qemu
23932
23933 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23934
23935 * include/multiboot2.h: Resync with spec.
23936
23937 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 Multiboot2 tag support
23940
23941 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
23942 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
23943 Remove loader/multiboot_loader.c.
23944 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
23945 (grub_multiboot2_real_boot): Likewise.
23946 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
23947 (grub_get_multiboot_mmap_count): New proto.
23948 (grub_fill_multiboot_mmap): Likewise.
23949 (grub_multiboot_set_video_mode): Likewise.
23950 (grub_multiboot_set_console): Likewise.
23951 (grub_multiboot_load): Likewise.
23952 (grub_multiboot_load_elf): Likewise.
23953 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
23954 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
23955 * include/multiboot.h: Resynced with specification.
23956 * include/multiboot2.h: Resynced with specification.
23957 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
23958 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
23959 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
23960 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
23961 users updated.
23962 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
23963 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
23964 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
23965 Removed.
23966 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
23967 Moved from here...
23968 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
23969 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23970 Moved from here...
23971 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
23972 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
23973 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
23974 All users updated.
23975 * loader/i386/multiboot_mbi2.c: New file.
23976
23977 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23978
23979 Resync with gnulib.
23980
23981 * Makefile.in (GNULIB_CFLAGS): New variable.
23982 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
23983 (grub_script_check_CFLAGS): New variable.
23984 * gnulib/alloca.h: Resync with gnulib.
23985 * gnulib/error.c: Likewise.
23986 * gnulib/error.h: Likewise.
23987 * gnulib/fnmatch.c: Likewise.
23988 * gnulib/fnmatch_loop.c: Likewise.
23989 * gnulib/getdelim.c: Likewise.
23990 * gnulib/getline.c: Likewise.
23991 * gnulib/getopt.c: Likewise.
23992 * gnulib/getopt1.c: Likewise.
23993 * gnulib/getopt_int.h: Likewise.
23994 * gnulib/gettext.h: Likewise.
23995 * gnulib/progname.c: Likewise.
23996 * gnulib/progname.h: Likewise.
23997
23998 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
23999
24000 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24001 which is the case with --disabled-nls.
24002
24003 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24004 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24005 * util/misc.c: Likewise.
24006 * util/mkisofs/mkisofs.c: Likewise.
24007 * util/mkisofs/mkisofs.h: Likewise.
24008
24009 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24010
24011 Simplify Apple CC support.
24012
24013 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24014 Add 0 byte at the end not to have a symbol with empty target.
24015 * mmap/i386/pc/mmap_helper.S: Likewise.
24016 * genmk.rb: Ignore errors 2030 and 2050.
24017 * kern/i386/pc/startup.S: Use LOCAL when possible.
24018
24019 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24020
24021 Testcase and the fix for final semicolon on cmdline.
24022
24023 * tests/grub_script_final_semicolon.in: New testcase.
24024 * conf/tests.rmk: Rules for the new testcase.
24025 * script/parser.y: Grammar fix.
24026
24027 2010-03-26 BVK Chaitanya <bvk@localhost>
24028
24029 Blank lines testcase for GRUB script.
24030
24031 * tests/grub_script_blanklines.in: New testcase.
24032 * conf/tests.rmk: Rules for the new testcase.
24033
24034 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 Don't use __FILE__.
24037
24038 * genmk.rb: Add -DGRUB_FILE to all C targets.
24039 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24040 * include/grub/list.h: Likewise.
24041 * include/grub/misc.h: Likewise.
24042 * include/grub/mm.h: Likewise.
24043 * include/grub/test.h: Likewise.
24044 * kern/mm.c: Likewise.
24045 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24046
24047 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 Sunpc partitions support.
24050
24051 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24052 (grub_fstest_SOURCES): Likewise.
24053 (pkglib_MODULES): Add part_sunpc.mod.
24054 (part_sunpc_mod_SOURCES): New variable.
24055 (part_sunpc_mod_CFLAGS): Likewise.
24056 (part_sunpc_mod_LDFLAGS): Likewise.
24057 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24058 * partmap/sunpc.c: New file.
24059
24060 2010-03-26 BVK Chaitanya <bvk@localhost>
24061
24062 For loop support to GRUB script.
24063
24064 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24065 (grub_script_create_cmdfor): New function prototype.
24066 (grub_script_execute_cmdfor): New function prototype.
24067 * script/execute.c (grub_script_execute_cmdfor): New function.
24068 * script/parser.y (command): New for command.
24069 (forcmd): New grammar rule.
24070 * script/script.c (grub_script_create_cmdfor): New function.
24071 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24072 function.
24073 * tests/grub_script_for1.in: New testcase.
24074 * conf/tests.rmk: Rules for new testcase.
24075
24076 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24077
24078 Nested partitions
24079
24080 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24081 'partition' is NULL, grub_partition_get_start already does that.
24082 * commands/loadenv.c (check_blocklists): Likewise.
24083 (write_blocklists): Likewise.
24084 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24085 (grub_fstest_SOURCES): Likewise.
24086 (pkglib_MODULES): Add part_bsd.mod.
24087 (part_bsd_mod_SOURCES): New variable.
24088 (part_bsd_mod_CFLAGS): Likewise.
24089 (part_bsd_mod_LDFLAGS): Likewise.
24090 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24091 (grub_emu_SOURCES): Likewise.
24092 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24093 * include/grub/bsdlabel.h: New file.
24094 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24095 'get_name'.
24096 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24097 (grub_partition_map_list): New variable.
24098 (grub_partition_map_register): Inline.
24099 (grub_partition_map_unregister): Likewise.
24100 (FOR_PARTITION_MAPS): New macro.
24101 (grub_partition_map_iterate): Removed.
24102 (grub_partition_get_start): Handle nested partitions.
24103 * include/grub/msdos_partition.h: Remove bsd-related entries.
24104 (grub_pc_partition): Remove.
24105 * kern/disk.c (grub_disk_close): Free partition data.
24106 (grub_disk_adjust_range): Handle nested partitions.
24107 * kern/partition.c (grub_partition_map_probe): New function.
24108 (grub_partition_probe): Parse name to number, handle subpartitions.
24109 (get_partmap): New function.
24110 (grub_partition_iterate): Handle subpartitions.
24111 (grub_partition_get_name): Likewise.
24112 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24113 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24114 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24115 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24116 Set 'number'.
24117 (acorn_partition_map_probe): Remove.
24118 (acorn_partition_map_get_name): Likewise.
24119 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24120 Set 'number'.
24121 Set 'index' to 0 since there can be only one partition entry per sector.
24122 (amiga_partition_map_probe): Remove.
24123 (amiga_partition_map_get_name): Likewise.
24124 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24125 Set 'number'.
24126 Set 'offset' and 'index' to real positions of partitions.
24127 (apple_partition_map_probe): Remove.
24128 (apple_partition_map_get_name): Likewise.
24129 * partmap/bsdlabel.c: New file.
24130 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24131 Set 'number'.
24132 Allocate 'data' so it can be correctly freed.
24133 Set 'index' to offset inside sector.
24134 (gpt_partition_map_probe): Remove.
24135 (gpt_partition_map_get_name): Likewise.
24136 * partmap/msdos.c (grub_partition_parse): Remove.
24137 (pc_partition_map_iterate): Don't force raw access.
24138 Set 'number'.
24139 Make 'ext_offset' a local variable.
24140 (pc_partition_map_probe): Remove.
24141 (pc_partition_map_get_name): Remove.
24142 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24143 Set 'number'.
24144 (sun_partition_map_probe): Remove.
24145 (sun_partition_map_get_name): Likewise.
24146 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24147 (grub_pcpart_type): Likewise.
24148 * util/hostdisk.c (open_device): Handle new numbering scheme.
24149 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24150 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24151 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24152 * util/grub-install.in: Insert all subpartition modules.
24153 * util/ieee1275/grub-install.in: Likewise.
24154
24155 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24156
24157 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24158 grammar.
24159
24160 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
24161
24162 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24163
24164 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
24165
24166 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24167 match where 'make install' puts them.
24168 * util/i386/efi/grub-install.in: Likewise.
24169
24170 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
24171
24172 * .bzrignore: Add gentrigtables, grub-script-check,
24173 grub_script_check_init.c, grub_script_check_init.h, and
24174 trigtables.c.
24175
24176 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 * kern/parser.c: Indented.
24179
24180 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24181
24182 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24183
24184 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24185
24186 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24187 alpha_mask_size == 0 case.
24188
24189 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24190
24191 GRUB shell lexer and parser improvements.
24192
24193 * conf/any-emu.rmk: Build rule updates.
24194 * conf/common.rmk: Likewise.
24195 * conf/i386-coreboot.rmk: Likewise.
24196 * conf/i386-efi.rmk: Likewise.
24197 * conf/i386-ieee1275.rmk: Likewise.
24198 * conf/i386-pc.rmk: Likewise.
24199 * conf/powerpc-ieee1275.rmk: Likewise.
24200 * conf/x86_64-efi.rmk: Likewise.
24201
24202 * configure.ac: Configure check for flex.
24203
24204 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24205 types.
24206 (grub_lexer_param): Struct member updates.
24207 (grub_parser_param): Likewise.
24208 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24209 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24210 (grub_script_lexer_init): Prototype update.
24211 (grub_script_lexer_record_start): Likewise.
24212 (grub_script_lexer_record_stop): Likewise.
24213 (grub_script_lexer_yywrap): New function prototype.
24214 (grub_script_lexer_fini): Likewise.
24215 (grub_script_execute_argument_to_string): Removed by...
24216 (grub_script_execute_argument_to_argv): ...better version.
24217
24218 * script/execute.c (ROUND_UPTO): New macro.
24219 (grub_script_execute_cmdline): Out of memory fixes.
24220 (grub_script_execute_menuentry): Likewise.
24221 (grub_script_execute_argument_to_string): Removed. Update all
24222 users by...
24223 (grub_script_execute_argument_to_argv): ...better version.
24224 * script/function.c (grub_script_function_create): Use
24225 grub_script_execute_argument_to_argv instead of
24226 grub_script_execute_argument_to_string.
24227
24228 * script/lexer.c (check_varstate): Removed.
24229 (check_textstate): Removed.
24230 (grub_script_lexer_record_start): Likewise.
24231 (grub_script_lexer_record_stop): Likewise.
24232 (recordchar): Replaced with...
24233 (grub_script_lexer_record): ...new function.
24234 (nextchar): Removed.
24235 (grub_script_lexer_init): Rewritten.
24236 (grub_script_yylex): Rewritten.
24237 (append_newline): New function.
24238 (grub_script_lexer_yywrap): New function.
24239 (grub_script_lexer_fini): New function.
24240 (grub_script_yyerror): Sets error flag.
24241
24242 * script/yylex.l: New file.
24243 (grub_lexer_yyfree): Wrapper for flex yyffre.
24244 (grub_lexer_yyalloc): Likewise.
24245 (grub_lexer_yyrealloc): Likewise.
24246 * script/parser.y: Refactored.
24247
24248 * script/script.c (grub_script_arg_add): Out of memory fixes.
24249 (grub_script_add_arglist): Likewise.
24250 (grub_script_create_cmdline): Likewise.
24251 (grub_script_create_cmdmenu): Likewise.
24252 (grub_script_add_cmd): Likewise.
24253 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24254 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24255 unnecessary code.
24256
24257 * tests/grub_script_echo1.in: New testcase.
24258 * tests/grub_script_vars1.in: New testcase.
24259 * tests/grub_script_echo_keywords.in: New testcase.
24260
24261 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24262
24263 Remove some redundancy in build system.
24264
24265 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24266 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24267 (TARGET_LDFLAGS): Add -nostdlib.
24268 (TARGET_IMG_LDFLAGS): Likewise.
24269 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24270 anything since mmap isn't available.
24271 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24272 Add util/time.c.
24273 (pkglib_MODULES): Remove reboot.mod.
24274 (reboot_mod_SOURCES): Removed.
24275 (reboot_mod_CFLAGS): Likewise.
24276 (reboot_mod_LDFLAGS): Likewise.
24277 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24278 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24279 (DEFSYMFILES): Add kernel_syms.lst.
24280 (kernel_img_HEADERS): Add common headers.
24281 (symlist.c): New target.
24282 (kernel_syms.lst): Likewise.
24283 (pkglib_MODULES): Add memdisk.mod.
24284 (memdisk_mod_SOURCES): New variable.
24285 (memdisk_mod_CFLAGS): Likewise.
24286 (memdisk_mod_LDFLAGS): Likewise.
24287 (pkglib_MODULES): Add reboot.mod.
24288 (reboot_mod_SOURCES): New variable.
24289 (reboot_mod_CFLAGS): Likewise.
24290 (reboot_mod_LDFLAGS): Likewise.
24291 (pkglib_MODULES): Add date.mod.
24292 (date_mod_SOURCES): New variable.
24293 (date_mod_CFLAGS): Likewise.
24294 (date_mod_LDFLAGS): Likewise.
24295 (pkglib_MODULES): Add datehook.mod.
24296 (datehook_mod_SOURCES): New variable.
24297 (datehook_mod_CFLAGS): Likewise.
24298 (datehook_mod_LDFLAGS): Likewise.
24299 (pkglib_MODULES): Add lsmmap.mod.
24300 (lsmmap_mod_SOURCES): New variable.
24301 (lsmmap_mod_CFLAGS): Likewise.
24302 (lsmmap_mod_LDFLAGS): Likewise.
24303 (pkglib_MODULES): Add boot.mod.
24304 (boot_mod_SOURCES): New variable.
24305 (boot_mod_CFLAGS): Likewise.
24306 (boot_mod_LDFLAGS): Likewise.
24307 * conf/i386-coreboot.rmk: Removed redundant parts.
24308 * conf/i386-ieee1275.rmk: Likewise.
24309 * conf/i386-pc.rmk: Likewise.
24310 * conf/mips-yeeloong.rmk: Likewise.
24311 * conf/mips.rmk: Likewise.
24312 * conf/powerpc-ieee1275.rmk: Likewise.
24313 * conf/sparc64-ieee1275.rmk: Likewise.
24314 * conf/x86_64-efi.rmk: Likewise.
24315 * conf/i386-coreboot.rmk: Moved qemu parts ..
24316 * conf/i386-qemu.rmk: ... here
24317 * conf/i386-efi.rmk: Moved common parts to...
24318 * conf/x86-efi.rmk: ... here.
24319 * conf/i386.rmk: Added modules common to all x86 variants.
24320 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24321 * disk/memdisk.c: Remove grub/machine/kernel.h.
24322 * gensymlist.sh.in: Include symbol.h.
24323 * hook/datehook.c: Correct module name.
24324 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24325 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24326 * include/grub/i386/efi/serial.h: New file.
24327 * include/grub/x86_64/efi/serial.h: Likewise.
24328 * util/time.c: Likewise.
24329 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24330
24331 2010-03-14 Colin King <colin.king@ubuntu.com>
24332 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
24333
24334 Shrink the pre-partition-table part of boot.img by eight bytes.
24335
24336 * boot/i386/pc/boot.S (ERR): New macro.
24337 (chs_mode): Use ERR.
24338 (geometry_error): Likewise.
24339 (hd_probe_error): Remove. This is only used once, so we wrwite
24340 it inline instead.
24341 (read_error): Instead of printing read_error_string, just set up
24342 %si and fall through to ...
24343 (error_message): ... this new function, also used by ERR.
24344
24345 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
24346
24347 Speed up consecutive hostdisk operations on the same device.
24348
24349 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24350 (grub_util_biosdisk_open): Initialise disk->data.
24351 (struct linux_partition_cache): New structure.
24352 (linux_find_partition): Cache partition start positions; these are
24353 expensive to compute on every read and write.
24354 (open_device): Cache open file descriptor in disk->data, so that we
24355 don't have to reopen it and flush the buffer cache for consecutive
24356 operations on the same device.
24357 (grub_util_biosdisk_close): New function.
24358 (grub_util_biosdisk_dev): Set `close' member.
24359
24360 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24361 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24362 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24363 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24364 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24365
24366 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24367
24368 Compile parts of grub-emu as modules.
24369
24370 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24371 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24372 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24373 (all-local): Add $(GRUB_EMU).
24374 (install-local): Install $(GRUB_EMU).
24375 (uninstall): Uninstall $(GRUB_EMU).
24376 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24377 * kern/dl.c: Likewise.
24378 * commands/sleep.c: Not include machine/time.h.
24379 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24380 (COMMON_CFLAGS): Likewise.
24381 (sbin_UTILITIES): Remove grub-emu.
24382 (grub_emu_SOURCES): Removed.
24383 (kernel_img_RELOCATABLE): New variable.
24384 (pkglib_PROGRAMS): Add kernel.img.
24385 (kernel_img_SOURCES): New variable
24386 (kernel_img_CFLAGS): Likewise.
24387 (kernel_img_LDFLAGS): Likewise.
24388 (TARGET_NO_STRIP): Likewise.
24389 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24390 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24391 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24392 (grub-emu): New target.
24393 (GRUB_EMU): New variable.
24394 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24395 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24396 * loader/xnu.c: Likewise.
24397 * include/grub/pci.h: Likewise.
24398 * genemuinit.sh: New file.
24399 * genemuinitheader.sh: Likewise.
24400 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24401 Support TARGET_NO_DYNAMIC_MODULES.
24402 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24403 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24404 * disk/loopback.c: Likewise.
24405 * font/font_cmd.c: Likewise.
24406 * partmap/acorn.c: Likewise.
24407 * partmap/amiga.c: Likewise.
24408 * partmap/apple.c: Likewise.
24409 * partmap/gpt.c: Likewise.
24410 * partmap/msdos.c: Likewise.
24411 * partmap/sun.c: Likewise.
24412 * parttool/msdospart.c: Likewise.
24413 * term/gfxterm.c: Likewise.
24414 * video/bitmap.c: Likewise.
24415 * video/readers/jpeg.c: Likewise.
24416 * video/readers/png.c: Likewise.
24417 * video/readers/tga.c: Likewise.
24418 * video/video.c: Likewise.
24419 * util/grub-emu.c (read_command_list): Removed.
24420 (main): Don't call util_init_nls.
24421 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24422 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24423
24424 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24427 date.mod, datehook.mod.
24428 (datetime_mod_SOURCES): New variable.
24429 (datetime_mod_CFLAGS): Likewise.
24430 (datetime_mod_LDFLAGS): Likewise.
24431 (date_mod_SOURCES): Likewise.
24432 (date_mod_CFLAGS): Likewise.
24433 (date_mod_LDFLAGS): Likewise.
24434 (datehook_mod_SOURCES): Likewise.
24435 (datehook_mod_CFLAGS): Likewise.
24436 (datehook_mod_LDFLAGS): Likewise.
24437 * conf/sparc64-ieee1275.rmk: Likewise.
24438 * lib/ieee1275/datetime.c: New file.
24439
24440 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24441
24442 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24443 (ieee1275_fb_mod_SOURCES): New variable.
24444 (ieee1275_fb_mod_CFLAGS): Likewise.
24445 (ieee1275_fb_mod_LDFLAGS): Likewise.
24446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24447 New proto.
24448 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24449 (HEAP_MAX_ADDR): Likewise.
24450 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24451 type.
24452 Correct stop condition.
24453 (grub_ieee1275_devices_iterate): New function.
24454 * video/ieee1275.c: New file.
24455
24456 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24457
24458 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24459
24460 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24461 as scratch.
24462 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24463 SCRATCH_PAD_DISKBOOT as scratch.
24464 (bootit): Pass Openfirmware pointer in %o4.
24465 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24466 of 0x200000.
24467 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24468 with util/grub-mkrawimage.c.
24469 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24470 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24471 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24472 (grub_aout_load) [GRUB_UTIL]: Likewise.
24473 * include/grub/kernel.h (grub_modules_get_end): New proto.
24474 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24475 (SCRATCH_PAD_BOOT): New definition.
24476 (SCRATCH_PAD_DISKBOOT): Likewise.
24477 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24478 * include/grub/sparc64/ieee1275/ieee1275.h
24479 (grub_ieee1275_original_stack): New variable
24480 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24481 New definition
24482 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24483 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24484 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24485 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24486 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24487 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24488 (grub_platform_image_format_t): New type.
24489 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24490 * kern/main.c (grub_modules_get_end)
24491 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24492 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24493 (codestart): Switch stacks.
24494 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24495 variable.
24496 (grub_heap_init): Use grub_modules_get_end.
24497 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24498 stack.
24499 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24500 (main): Likewise.
24501 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24502
24503 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
24504
24505 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24506
24507 2010-03-08 Matt Kraai <kraai@ftbfs.org>
24508
24509 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24510 bug #559005).
24511
24512 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24513
24514 * genmoddep.awk: Output all missing symbols and not only first.
24515
24516 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24517
24518 * NEWS: Put the date of 1.98 release.
24519
24520 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24521
24522 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24523 ft2build.h.
24524
24525 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24526
24527 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24528 completition in the middle of string.
24529
24530 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24531
24532 * util/grub-mkrescue.in: Use mktemp with explicit template.
24533
24534 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24535
24536 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24537
24538 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24539
24540 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24541 right pointer.
24542
24543 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24544
24545 Fix FreeBSD compilation.
24546
24547 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24548 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24549
24550 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24551
24552 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24553
24554 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24555
24556 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24557
24558 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24559
24560 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24561
24562 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24563
24564 Support relative image path in theme file.
24565
24566 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24567 (image_set_property): Handle theme_dir and relative path.
24568
24569 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24570
24571 * configure.ac: Alias amd64 to x86_64.
24572
24573 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24574
24575 * NEWS: mention multiboot on EFI.
24576
24577 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24578
24579 * kern/main.c (grub_load_modules): Handle errors from init functions of
24580 embeded modules.
24581
24582 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24583
24584 * normal/autofs.c (autoload_fs_module): Handle errors.
24585
24586 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24587
24588 Disable linux.mod on qemu-mips since it's not functional and leads
24589 to compilation failure.
24590
24591 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24592 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24593 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24594 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24595 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24596 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
24597 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
24598 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
24599 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
24600 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
24601 Reported by: BVK Chaitanya
24602
24603 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
24604
24605 * INSTALL: Add gettext as a dependency and add qemu to a new section
24606 "Prerequisites for make-check".
24607
24608 2010-03-04 Christian Franke <franke@computer.org>
24609
24610 * util/grub-pe2elf.c: Add missing include "progname.h".
24611
24612 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 * normal/crypto.c (read_crypto_list): Fix a typo.
24615 Reported by: Seth Goldberg.
24616
24617 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24618
24619 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
24620 Reported by: Seth Goldberg.
24621
24622 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24623
24624 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
24625 ascii.bitmaps.
24626
24627 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24628
24629 * genmk.rb: Remove terminal*.lst in make clean.
24630 Reported by: Seth Goldberg.
24631
24632 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24633
24634 * util/i386/efi/grub-install.in: Copy gettext files.
24635
24636 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24637
24638 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
24639
24640 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24641
24642 Wait for user entry basing on presence of output rather than on errors.
24643
24644 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
24645 (grub_install_newline_hook): Likewise.
24646 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
24647 * normal/menu.c (show_menu): Check line_counter to determine presence
24648 of output.
24649 * normal/term.c (grub_normal_line_counter): New variable.
24650 (grub_normal_get_line_counter): New function.
24651 (grub_install_newline_hook): Likewise.
24652
24653 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24654
24655 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
24656
24657 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 * configure.ac: Update version to 1.98.
24660
24661 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
24662
24663 * util/grub.d/10_linux.in (linux_entry): Don't default to
24664 gfxpayload=keep if Linux doesn't support video handover.
24665
24666 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
24667
24668 Don't compile video modules on yeeloong since video subsystem is part
24669 of kernel.
24670
24671 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
24672 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
24673 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
24674 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
24675 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
24676 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
24677 * include/grub/bitmap_scale.h: Likewise.
24678 * include/grub/bufio.h: Likewise.
24679 * include/grub/font.h: Likewise.
24680 * include/grub/gfxterm.h: Likewise.
24681 * include/grub/video.h: Likewise.
24682 * include/grub/vbe.h: Don't include video_fb.h.
24683 * video/i386/pc/vbe.c: Include video_fb.h.
24684 * commands/i386/pc/vbetest.c: Include video.h.
24685
24686 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
24687
24688 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
24689 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
24690 default entry if GRUB_SAVEDEFAULT=true. This allows using
24691 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
24692 saving a new default on every boot.
24693
24694 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24695
24696 * normal/crypto.c (read_crypto_list): Fix a memory leak.
24697 * normal/term.c (read_terminal_list): Likewise.
24698 * normal/main.c (grub_normal_init_page): Likewise.
24699 (grub_normal_read_line_real): Likewise.
24700
24701 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24702
24703 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
24704 memory leak.
24705 Reported by: Seth Goldberg.
24706
24707 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
24708
24709 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
24710 duplicate declaration of `start'.
24711
24712 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24713
24714 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
24715 filename.
24716 Reported by: Georgy Buranov
24717
24718 2010-02-20 Carles Pina i Estany <carles@pina.cat>
24719
24720 * util/grub-mkrawimage.c (usage): Change string formatting to
24721 improve gettext.
24722
24723 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
24724
24725 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
24726 backspace keys.
24727
24728 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24729
24730 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
24731 Reported by: Michael Suchanek.
24732
24733 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
24734
24735 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
24736 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
24737
24738 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 Remove any reference to non-free fonts.
24741
24742 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
24743 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
24744 uses non-free components.
24745 * font/font.c (grub_font_get_name): Remove example name.
24746 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
24747 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
24748 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
24749 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
24750
24751 2010-02-16 Georgy Buranov <gburanov@gmail.com>
24752
24753 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
24754
24755 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24756
24757 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
24758 Double divisor.
24759 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
24760 features.
24761 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
24762
24763 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24764
24765 * gensymlist.sh.in: Use TARGET_CC instead of CC.
24766
24767 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24768
24769 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
24770 * docs/grub.texi (Command-line and menu entry commands): Document play
24771 command.
24772
24773 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24774
24775 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
24776 parse arguments as inline tempo and notes. Move code for playing notes
24777 to...
24778 (play): ... new function.
24779
24780 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24781
24782 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
24783 grub_uint16_t instead of short.
24784 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
24785 disk from little endian to cpu endianness.
24786
24787 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
24788
24789 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
24790 GRUB_TICKS_PER_SECOND instead of 120.
24791
24792 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24793
24794 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
24795 escape sequence after \e.
24796
24797 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24798
24799 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
24800 non-ASCII characters.
24801
24802 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24803
24804 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
24805 set root in single quotes to prevent \, from being unescaped.
24806
24807 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 Prevent unknown commands from stopping menuentry execution.
24810
24811 * script/execute.c (grub_script_execute_cmdline): Print error after
24812 unknown command.
24813
24814 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
24817 Reported by: Pavel Pisa.
24818
24819 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24820
24821 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
24822
24823 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24824
24825 Merge grub_ieee1275_map_physical into grub_map and rename to
24826 grub_ieee1275_map
24827
24828 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
24829 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
24830 Remove.
24831 * kern/ieee1275/openfw.c (grub_map): Rename to ...
24832 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
24833 necessary.
24834 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
24835
24836 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24837
24838 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
24839 opening and not after.
24840
24841 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24842
24843 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
24844 constants.
24845
24846 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24847
24848 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
24849 (alloc_phys): Use ALIGN_UP instead of align_addr.
24850
24851 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
24854
24855 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24856
24857 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
24858
24859 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24860
24861 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
24862 verbose dprintf.
24863
24864 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24865
24866 Fix over-4GiB seek on sparc64.
24867
24868 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
24869 Replace pos_i and pos_lo with pos. All users updated.
24870 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24871 New constant.
24872 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24873 Likewise.
24874 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
24875 and pos_lo.
24876
24877 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24878
24879 * util/grub-mkrawimage.c (main): Call set_program_name.
24880
24881 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24882
24883 Properly align 64-bit targets.
24884
24885 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
24886 (generate_image): Use ALIGN_ADDR.
24887
24888 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24889
24890 Properly create cross-endian images.
24891
24892 * include/grub/types.h (grub_host_to_target_addr): New macro
24893 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
24894
24895 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24896
24897 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
24898
24899 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24900
24901 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
24902
24903 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
24904 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
24905 (grub_linux_boot): Divide by 64K when on VESA.
24906
24907 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24908
24909 Support GRUB_GFXPAYLOAD_LINUX.
24910
24911 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
24912 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
24913
24914 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
24917 to show messages instead of discarding them.
24918 Process errors after executing command and not before. Keep old method
24919 too as precaution.
24920
24921 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * configure.ac: Check for ft2build.h.
24924
24925 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24926
24927 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
24928
24929 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24930
24931 * genkernsyms.sh.in: Use TARGET_CC.
24932
24933 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
24934
24935 * NEWS: Update.
24936
24937 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 * include/grub/multiboot2.h: Remove leftover file.
24940 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
24941 * include/grub/partition.h [GRUB_UTIL]: Likewise.
24942
24943 2010-02-07 Yves Blusseau <blusseau@zetam.org>
24944
24945 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
24946
24947 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24948
24949 Fix warnings in grub-emu when compiling with maximum warning options.
24950
24951 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
24952 (grub_arch_modules_addr): Return 0 and not NULL.
24953 * util/misc.c (ENABLE_RELOCATABLE): New definition.
24954 (xstrdup): Use newstr instead of dup.
24955 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
24956 of disk to dsk to avoid shadowing.
24957 (find_free_slot): Fix prototype.
24958 * util/getroot.c (grub_util_is_dmraid): Make static.
24959 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
24960 Add missing prototype.
24961 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
24962
24963 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24964
24965 * loader/i386/linux.c (grub_linux_setup_video): Handle error
24966 appropriately.
24967
24968 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24969
24970 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
24971 code out.
24972
24973 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
24976 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
24977 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
24978 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
24979 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
24980 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
24981
24982 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24983
24984 * include/grub/err.h (grub_err_printf): Don't export.
24985
24986 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24987
24988 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
24989
24990 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 * include/grub/i18n.h (grub_gettext_dummy): Removed.
24993 * kern/misc.c (grub_gettext_dummy): Make static.
24994
24995 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24996
24997 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
24998 by non-valid ones.
24999 * kern/term.c (grub_putchar): Likewise.
25000
25001 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25002
25003 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25004 buggy hook call and memory leak.
25005
25006 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25007
25008 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25009
25010 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25011
25012 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25013
25014 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25015
25016 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25017 modevar.
25018 Return grub_errno on allocation error.
25019
25020 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25023
25024 2010-02-06 Yves Blusseau <blusseau@zetam.org>
25025
25026 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25027 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25028
25029 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25030
25031 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25032 non-pxe disk.
25033 (grub_pxefs_open): Likewise.
25034
25035 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25036
25037 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25038 * util/grub.d/10_kfreebsd.in: Likewise.
25039 * util/grub.d/10_linux.in: Likewise.
25040
25041 2010-02-06 Colin D Bennett <colin@gibibit.com>
25042
25043 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25044 (gfxmenu_mod_SOURCES): New variable.
25045 (gfxmenu_mod_CFLAGS): Likewise.
25046 (gfxmenu_mod_LDFLAGS): Likewise.
25047 * include/grub/term.h (grub_term_set_current_output): Declare
25048 argument as const.
25049 * docs/gfxmenu-theme-example.txt: New file.
25050 * gfxmenu/gfxmenu.c: Likewise.
25051 * gfxmenu/gui_box.c: Likewise.
25052 * gfxmenu/gui_canvas.c: Likewise.
25053 * gfxmenu/gui_circular_progress.c: Likewise.
25054 * gfxmenu/gui_image.c: Likewise.
25055 * gfxmenu/gui_label.c: Likewise.
25056 * gfxmenu/gui_list.c: Likewise.
25057 * gfxmenu/gui_progress_bar.c: Likewise.
25058 * gfxmenu/gui_string_util.c: Likewise.
25059 * gfxmenu/gui_util.c: Likewise.
25060 * gfxmenu/icon_manager.c: Likewise.
25061 * gfxmenu/model.c: Likewise.
25062 * gfxmenu/named_colors.c: Likewise.
25063 * gfxmenu/theme_loader.c: Likewise.
25064 * gfxmenu/view.c: Likewise.
25065 * gfxmenu/widget-box.c: Likewise.
25066 * include/grub/gfxmenu_model.h: Likewise.
25067 * include/grub/gfxmenu_view.h: Likewise.
25068 * include/grub/gfxwidgets.h: Likewise.
25069 * include/grub/gui.h: Likewise.
25070 * include/grub/gui_string_util.h: Likewise.
25071 * include/grub/icon_manager.h: Likewise.
25072
25073 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25074
25075 Agglomerate scrolling in gfxterm.
25076
25077 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25078 (grub_virtual_screen_setup): Initialise 'total_screen'.
25079 (write_char): Split to ...
25080 (paint_char): ... this ...
25081 (write_char): ... and this.
25082 (paint_char): Handle delayed scrolling.
25083 (draw_cursor): Likewise.
25084 (scroll_up): Split to ...
25085 (real_scroll): ... this ...
25086 (scroll_up): ... and this.
25087 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25088 characters.
25089 (grub_gfxterm_refresh): Call real_scroll.
25090
25091 2010-02-06 Colin D Bennett <colin@gibibit.com>
25092
25093 * include/grub/misc.h (grub_iscntrl): New inline function.
25094 (grub_isalnum): Likewise.
25095 (grub_strtol): Likewise.
25096
25097 2010-02-06 Colin D Bennett <colin@gibibit.com>
25098
25099 * normal/menu_text.c (get_entry_number): Move from here ...
25100 * normal/menu.c (get_entry_number): ... moved here.
25101 * include/grub/menu.h (grub_menu_get_default_entry_index):
25102 New prototype.
25103 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25104 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25105 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25106 (grub_menu_viewer_should_return): Likewise.
25107 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25108 * normal/menu_text.c (run_menu): Enable menu switching.
25109 * normal/menu_viewer.c (should_return): New variable.
25110 (menu_viewer_changed): Likewise.
25111 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25112 (grub_menu_viewer_should_return): New function.
25113 (menuviewer_write_hook): Likewise.
25114 (grub_menu_viewer_init): Likewise.
25115
25116 2010-02-06 Colin D Bennet <colin@gibibit.com>
25117 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25118
25119 Support for gfxterm in a window.
25120
25121 * include/grub/gfxterm.h: New file.
25122 * include/grub/video.h (struct grub_video_rect): New declaration.
25123 (grub_video_rect_t): Likewise.
25124 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25125 (refcount): New variable.
25126 (render_target): Likewise.
25127 (window): Likewise.
25128 (repaint_callback): Likewise.
25129 (grub_virtual_screen_setup): Use 'render_target'.
25130 (init_window): New function.
25131 (grub_gfxterm_init_window): Likewise.
25132 (grub_gfxterm_init): Check reference counter.
25133 Use init_window.
25134 (destroy_window): New function.
25135 (grub_gfxterm_destroy_window): Likewise.
25136 (grub_gfxterm_fini): Check reference counter.
25137 Use destroy_window.
25138 (redraw_screen_rect): Restore viewport.
25139 Use 'render_target' and 'window'.
25140 Call 'repaint_callback'.
25141 (write_char): Use 'render_target'.
25142 (draw_cursor): Likewise.
25143 (scroll_up): Restore viewport.
25144 Use 'render_target' and 'window'.
25145 Call 'repaint_callback'.
25146 (grub_gfxterm_cls): Likewise.
25147 (grub_gfxterm_refresh): Use 'window'.
25148 (grub_gfxterm_set_repaint_callback): New function.
25149 (grub_gfxterm_background_image_cmd): Use 'window'.
25150 (grub_gfxterm_get_term): New function.
25151 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25152
25153 2010-02-06 Colin D Bennett <colin@gibibit.com>
25154
25155 Bitmap scaling support.
25156
25157 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25158 (bitmap_scale_mod_SOURCES): New variable.
25159 (bitmap_scale_mod_CFLAGS): Likewise.
25160 (bitmap_scale_mod_LDFLAGS): Likewise.
25161 * include/grub/bitmap_scale.h: New file.
25162 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25163 (background_image_cmd_options): New variable.
25164 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25165 (cmd): Rename and change type to ...
25166 (background_image_cmd_handle): ... this. All users updated.
25167 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25168 * video/bitmap_scale.c: New file.
25169
25170 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 SDL support.
25173
25174 * Makefile.in (LIBSDL): New variable.
25175 (enable_grub_emu_sdl): Likewise.
25176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25177 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25178 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25179 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25180 * util/sdl.c: New file.
25181
25182 2010-02-06 Colin D Bennett <colin@gibibit.com>
25183 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25184
25185 Double buffering support.
25186
25187 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25188 * include/grub/video.h: Update comment.
25189 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25190 New type.
25191 (grub_video_fb_doublebuf_blit_init): New prototype.
25192 * term/gfxterm.c (scroll_up): Support double buffering.
25193 (grub_gfxterm_refresh): Likewise.
25194 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25195 (grub_video_fb_doublebuf_blit_init): Likewise.
25196 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25197 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25198 'displayed_page', 'render_page' and 'update_screen'.
25199 (grub_video_vbe_fini): Free offscreen buffer.
25200 (doublebuf_pageflipping_commit): New function.
25201 (doublebuf_pageflipping_update_screen): Likewise.
25202 (doublebuf_pageflipping_init): Likewise.
25203 (double_buffering_init): Likewise.
25204 (grub_video_vbe_setup): Enable doublebuffering.
25205 (grub_video_vbe_swap_buffers): Implement.
25206 (grub_video_vbe_set_active_render_target): Handle double buffering.
25207 (grub_video_vbe_get_active_render_target): Likewise.
25208 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25209 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25210 (grub_video_vbe_enable_double_buffering): Likewise.
25211 (grub_video_vbe_swap_buffers): Use update_screen.
25212 (grub_video_set_mode): Use double buffering.
25213
25214 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25215
25216 * maintainance/gentrigtables.py: Remove.
25217 * lib/trig.c: Likewise.
25218
25219 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25220
25221 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25222 `trigtables.c'.
25223 (trigtables.c): New rule.
25224 (gentrigtables): Likewise.
25225 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25226
25227 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25228
25229 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25230 integer constants.
25231
25232 2010-02-06 Colin D Bennet <colin@gibibit.com>
25233
25234 Trigonometry support.
25235
25236 * include/grub/trig.h: New file.
25237 * lib/trig.c: Likewise.
25238 * maintainance/gentrigtables.py: Likewise.
25239 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25240 (trig_mod_SOURCES): New variable.
25241 (trig_mod_CFLAGS): Likewise.
25242 (trig_mod_LDFLAGS): Likewise.
25243
25244 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25245
25246 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25247 disk devices.
25248
25249 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25250
25251 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25252 error.
25253
25254 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25255
25256 * util/hostdisk.c (open_device): Don't use partition device when reading
25257 before the partition.
25258 (grub_util_biosdisk_read): Don't read from partition and before the
25259 partition in single operation.
25260 (grub_util_biosdisk_write): Don't write to partition and before the
25261 partition in single operation.
25262
25263 2010-02-03 Torsten Landschoff <torsten@debian.org>
25264
25265 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25266 last sectors.
25267
25268 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25269
25270 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25271 CDROM reads.
25272 (grub_biosdisk_write): Refuse to write to CDROM.
25273
25274 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25275
25276 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25277
25278 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25279
25280 * font/font.c (find_glyph): Check that bmp_idx is available before
25281 using it.
25282 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25283 with (font == NULL).
25284
25285 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
25286
25287 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25288
25289 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25290
25291 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25292 * util/grub-script-check.c (getline): Fix empty lines case.
25293
25294 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25295
25296 * Makefile.in (check): Exit with fail status when one of the tests
25297 fails.
25298 * tests/example_functional_test.c (example_test): Fix reversed assert.
25299 * tests/example_unit_test.c (example_test): Likewise.
25300
25301 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
25302
25303 * util/grub.d/10_linux.in: This script does not use any of the
25304 contents of gettext.sh, only the external command `gettext', so stop
25305 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25306 the same prefix as GRUB.)
25307 * util/grub.d/10_kfreebsd.in: Likewise.
25308
25309 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25310
25311 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25312 of the line.
25313
25314 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25317 last sectors.
25318
25319 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25320
25321 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25322 having a 4KiB and not 32KiB buffer size.
25323
25324 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25325
25326 * util/hostfs.c: Include `<errno.h>'.
25327 (grub_hostfs_read): Handle errors from fseeko() and fread().
25328
25329 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25330
25331 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25332 loop when using read hooks on files whose size isn't sector-aligned.
25333
25334 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25335
25336 Remove unused parameter.
25337
25338 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25339 (grub_iso9660_open): Remove initialization of `data->length'.
25340
25341 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25342
25343 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25344 memleak conditions.
25345
25346 2010-01-27 Carles Pina i Estany <carles@pina.cat>
25347
25348 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25349 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25350
25351 2010-01-26 Carles Pina i Estany <carles@pina.cat>
25352
25353 * util/bin2h.c (usage): Fix warning (space after backslash).
25354
25355 2010-01-26 Carles Pina i Estany <carles@pina.cat>
25356
25357 * font/font.c: Include `grub/fontformat.h.
25358 Remove font file format constants.
25359 (grub_font_load): Use the new macros.
25360 * include/grub/fontformat.h: New file.
25361 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25362 (write_font_pf2): Use the new macros.
25363
25364 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25365
25366 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25367 does.
25368
25369 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25370
25371 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25372
25373 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25374 (_start): Macroify `0x7F'.
25375
25376 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25377 (make_install_device): Use "(pxe)" as fallback prefix when booting
25378 via PXE.
25379
25380 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 * configure.ac: Reset LIBS after check for libgcc symbols.
25383
25384 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
25385
25386 * util/hostdisk.c (open_device): Add trailing newline to debug
25387 message.
25388
25389 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25390
25391 * configure.ac: Check for `limits.h'.
25392 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25393
25394 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25395
25396 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25397 capitalize error strings.
25398
25399 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25400
25401 * util/grub.d/10_hurd.in: Add a recovery mode.
25402
25403 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25404
25405 * configure.ac: Check for libgcc symbols with -nostdlib.
25406
25407 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25408
25409 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25410
25411 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25412
25413 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25414 stack since heap may be unavailable at that point.
25415 (grub_ofconsole_gotoxy): Likewise.
25416
25417 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 * configure.ac: Check for _restgpr_14_x.
25420 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25421 and _savegpr_* prototypes.
25422
25423 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25424
25425 Use generic grub_reboot() for i386-efi.
25426
25427 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25428 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25429 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25430
25431 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25432
25433 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25434 presence of "prefix" variable as it breaks when normal.mod is
25435 embedded.
25436
25437 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25438
25439 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25440 stack since heap is unavailable at that point.
25441
25442 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25445 (grub_freebsd_bootinfo): Rewritten.
25446 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25447
25448 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25449
25450 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25451
25452 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25453
25454 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25455 domain now.
25456
25457 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
25458
25459 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25460 around for handling "/" to the correct fix. Fix a memory leak. Use
25461 xstrdup instead of strdup.
25462
25463 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25464
25465 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25466
25467 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25468
25469 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25470
25471 * font/font.c (struct grub_font): New member 'bmp_idx'.
25472 (font_init): Initialise 'bmp_idx'.
25473 (load_font_index): Fill 'bmp_idx'.
25474 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25475
25476 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25479 unnecessary calls.
25480
25481 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25482
25483 Move context handling out of the kernel.
25484
25485 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25486 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25487 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25488 * conf/i386-efi.rmk: Likewise.
25489 * conf/i386-ieee1275.rmk: Likewise.
25490 * conf/i386-pc.rmk: Likewise.
25491 * conf/powerpc-ieee1275.rmk: Likewise.
25492 * conf/sparc64-ieee1275.rmk: Likewise.
25493 * conf/x86_64-efi.rmk: Likewise.
25494 * include/grub/env.h: Include grub/menu.h.
25495 (grub_env_var_type): Removed.
25496 (grub_env_var): Replaced field 'type' with 'global'.
25497 (grub_env_find): New prototype.
25498 (grub_env_context_open): Remove EXPORT_FUNC.
25499 (grub_env_context_close): Likewise.
25500 (grub_env_export): Likewise.
25501 (grub_env_set_data_slot): Removed.
25502 (grub_env_get_data_slot): Likewise.
25503 (grub_env_unset_data_slot): Likewise.
25504 (grub_env_unset_menu): New prototype.
25505 (grub_env_set_menu): Likewise.
25506 (grub_env_get_menu): Likewise.
25507 * include/grub/env_private.h: New file.
25508 * include/grub/normal.h (grub_context_init): New prototype.
25509 (grub_context_fini): Likewise.
25510 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25511 * normal/context.c (grub_cmd_export): ... to here.
25512 * kern/env.c: Include env_private.h.
25513 (HASHSZ): Moved to include/grub/env_private.h.
25514 (grub_env_context): Likewise.
25515 (grub_env_sorted_var): Likewise.
25516 (current_context): Renamed from this ...
25517 (grub_current_context): ...to this. 'static' removed. All users updated.
25518 (grub_env_find): Removed 'static'.
25519 (grub_env_context_open): Moved to normal/context.c.
25520 (grub_env_context_close): Likewise.
25521 (grub_env_export): Likewise.
25522 (mangle_data_slot_name): Removed.
25523 (grub_env_set_data_slot): Likewise.
25524 (grub_env_get_data_slot): Likewise.
25525 (grub_env_unset_data_slot): Likewise.
25526 * kern/main.c (grub_set_root_dev): Don't export root.
25527 It will be done later.
25528 (grub_main): Don't export prefix.
25529 It will be done later.
25530 * normal/context.c: New file.
25531 * normal/main.c (free_menu): Use grub_env_unset_menu.
25532 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25533 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25534 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25535 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25536
25537 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 setpci support.
25540
25541 * commands/setpci.c: New file.
25542 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25543 (setpci_mod_SOURCES): New variable.
25544 (setpci_mod_CFLAGS): Likewise.
25545 (setpci_mod_LDFLAGS): Likewise.
25546
25547 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25548
25549 Byte-addressable PCI configuration space.
25550
25551 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25552 dword address.
25553 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25554 GRUB_PCI_REG_CACHELINE.
25555 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25556 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25557 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25558 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25559 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25560 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25561 grub_pci_make_address.
25562 (lock_rom_area): Likewise.
25563 * commands/lspci.c (grub_lspci_iter): Use macroses
25564 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25565 of grub_pci_make_address.
25566 * disk/ata.c (grub_ata_pciinit): Likewise.
25567 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25568 (GRUB_PCI_REG_VENDOR): Likewise.
25569 (GRUB_PCI_REG_DEVICE): Likewise.
25570 (GRUB_PCI_REG_COMMAND): Likewise.
25571 (GRUB_PCI_REG_STATUS): Likewise.
25572 (GRUB_PCI_REG_REVISION): Likewise.
25573 (GRUB_PCI_REG_CLASS): Likewise.
25574 (GRUB_PCI_REG_CACHELINE): Likewise.
25575 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25576 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25577 (GRUB_PCI_REG_BIST): Likewise.
25578 (GRUB_PCI_REG_ADDRESSES): Likewise.
25579 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25580 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25581 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25582 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25583 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25584 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25585 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25586 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25587 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25588 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25589 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25590 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25591 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25592 (GRUB_PCI_REG_MIN_GNT): Likewise.
25593 (GRUB_PCI_REG_MAX_LAT): Likewise.
25594 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25595 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25596 * video/efi_uga.c (find_framebuf): Likewise.
25597 * video/sm712.c (grub_video_sm712_setup): Likewise.
25598 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
25599 space.
25600
25601 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25602
25603 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
25604 can be reliably determined to be supported.
25605
25606 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25607
25608 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
25609 that VESA is supported.
25610 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
25611 supported.
25612
25613 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25614
25615 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
25616
25617 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 * util/misc.c (make_system_path_relative_to_its_root): Work around
25620 special-casing of "/", as previous incarnation of this routine did.
25621
25622 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25623
25624 Fix any-emu compilation.
25625
25626 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
25627 * grub_bin2h_SOURCES: New variable.
25628
25629 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25630
25631 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
25632
25633 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25634
25635 * util/grub.d/00_header.in: Fix handling of locale_dir.
25636
25637 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25638
25639 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
25640 as possible unifont location (Gentoo).
25641 Reported by: Alexander Brüning
25642
25643 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 Don't try to generate lists for kernel.img.
25646
25647 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
25648 (pkglib_MODULES): Remove kernel.img.
25649 (kernel_img_EXPORTS): Removed.
25650 (kernel_img_RELOCATABLE): New variable.
25651 * conf/x86_64-efi.rmk: Likewise.
25652 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
25653
25654 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25655
25656 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
25657 grub_xasprintf or grub_snprintf.
25658 (grub_vsprintf): Likewise.
25659 (grub_snprintf): New proto.
25660 (grub_vsnprintf): Likewise.
25661 (grub_xasprintf): Likewise.
25662 (grub_xvasprintf): Likewise.
25663 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
25664 (grub_sprintf): Removed.
25665 (grub_vsnprintf): New function.
25666 (grub_snprintf): Likewise.
25667 (grub_xvasprintf): Likewise.
25668 (grub_xasprintf): Likewise.
25669 (grub_vsprintf): Renamed to ...
25670 (grub_vsnprintf_real): ...this. New argument max_len.
25671
25672 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
25673
25674 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
25675 fix grub-script-check warning.
25676
25677 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25678
25679 * include/grub/font.h (grub_font_load): Fix prototype.
25680
25681 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
25684
25685 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 * include/grub/x86_64/at_keyboard.h: New file.
25688
25689 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25690
25691 * loader/mips/linux.c: Include missing grub/i18n.h.
25692
25693 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25694
25695 * normal/menu.c (notify_execution_failure): Clarify error message.
25696
25697 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25698
25699 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
25700 return value (and revert all return statements). Update users.
25701
25702 2010-01-20 Dan Merillat <debian@dan.merillat.org>
25703
25704 * kern/device.c (grub_device_iterate): Allocate new part_ent
25705 structure based on sizeof (*p) rather than sizeof (p->next), to
25706 account for structure padding.
25707
25708 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
25709 disk is NULL, which might happen for LVM physical volumes with no
25710 LVM signature.
25711
25712 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25713
25714 * loader/mips/linux.c (grub_cmd_initrd)
25715 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
25716
25717 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25718
25719 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
25720 (grub_video_video_init, grub_video_bitmap_init)
25721 (grub_font_manager_init, grub_term_gfxterm_init)
25722 (grub_at_keyboard_init): New extern declarations.
25723 (grub_machine_init): Initialize gfxterm and at_keyboard.
25724
25725 * kern/main.c (grub_main): Revert grub_printf delay kludge.
25726
25727 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
25728 `gfxterm.mod' into core image.
25729
25730 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25731 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25732 (kernel_img_FORMAT): Copy to ...
25733
25734 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25735 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25736 (kernel_img_FORMAT): ... here, and ...
25737
25738 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25739 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25740 (kernel_img_FORMAT): ... here.
25741
25742 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
25743 and input (at_keyboard) terminals in kernel.
25744 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
25745
25746 (pkglib_MODULES): Remove `pci.mod'.
25747 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
25748 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
25749 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25750 (at_keyboard_mod_LDFLAGS): Remove variables.
25751
25752 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
25753
25754 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
25755
25756 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
25757
25758 * include/grub/mips/libgcc.h: Only export symbols for functions
25759 that libgcc provides.
25760
25761 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
25762
25763 MIPS support.
25764
25765 * bus/bonito.c: New file.
25766 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
25767 GRUB_PCI_NUM_DEVICES.
25768 * term/i386/pc/serial.c: Move to ...
25769 * term/serial.c: ... here. All users updated.
25770 * util/i386/pc/grub-mkimage.c: Move to ...
25771 * util/grub-mkrawimage.c: ... here. All users updated.
25772 * term/i386/pc/at_keyboard.c: Move to ...
25773 * term/at_keyboard.c: ... here. All users updated.
25774 * conf/mips-qemu-mips.rmk: New file.
25775 * conf/mips-yeeloong.rmk: Likewise.
25776 * conf/mips.rmk: Likewise.
25777 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
25778 mipsel-qemu-mips.
25779 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
25780 to port addresses.
25781 (grub_ata_pciinit): Support CS5536.
25782 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
25783 * font/font_cmd.c (loadfont_command): Open file before passing it to
25784 grub_font_load.
25785 (pseudo_file_read): New function.
25786 (pseudo_file_close): Likewise.
25787 (pseudo_fs): New structure.
25788 (load_font_module): New function.
25789 (GRUB_MOD_INIT(font_manager)): Load embedded font.
25790 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
25791 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
25792 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
25793 * include/grub/i386/at_keyboard.h: Split into ...
25794 * include/grub/at_keyboard.h: ... this ...
25795 * include/grub/i386/at_keyboard.h: ... and this.
25796 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
25797 New prototype.
25798 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
25799 updated.
25800 (grub_elf64_size): Likewise.
25801 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
25802 filename.
25803 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
25804 * include/grub/i386/coreboot/serial.h: Rewritten.
25805 * include/grub/i386/ieee1275/serial.h: Include
25806 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
25807 * include/grub/i386/pc/serial.h: Moved from here ...
25808 * include/grub/serial.h: ... to here. All users updated.
25809 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
25810 (GRUB_PCI_NUM_BUS): Likewise.
25811 (GRUB_PCI_NUM_DEVICES): Likewise.
25812 (grub_pci_device_map_range): Add missing volatile keyword.
25813 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
25814 * include/grub/mips/at_keyboard.h: New file.
25815 * include/grub/mips/cache.h: Likewise.
25816 * include/grub/mips/io.h: Likewise.
25817 * include/grub/mips/kernel.h: Likewise.
25818 * include/grub/mips/libgcc.h: Likewise.
25819 * include/grub/mips/pci.h: Likewise.
25820 * include/grub/mips/qemu-mips/boot.h: Likewise.
25821 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25822 * include/grub/mips/qemu-mips/loader.h: Likewise.
25823 * include/grub/mips/qemu-mips/memory.h: Likewise.
25824 * include/grub/mips/qemu-mips/serial.h: Likewise.
25825 * include/grub/mips/qemu-mips/time.h: Likewise.
25826 * include/grub/mips/relocator.h: Likewise.
25827 * include/grub/mips/time.h: Likewise.
25828 * include/grub/mips/types.h: Likewise.
25829 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
25830 * include/grub/mips/yeeloong/boot.h: Likewise.
25831 * include/grub/mips/yeeloong/kernel.h: Likewise.
25832 * include/grub/mips/yeeloong/loader.h: Likewise.
25833 * include/grub/mips/yeeloong/memory.h: Likewise.
25834 * include/grub/mips/yeeloong/pci.h: Likewise.
25835 * include/grub/mips/yeeloong/serial.h: Likewise.
25836 * include/grub/mips/yeeloong/time.h: Likewise.
25837 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
25838 * kern/elf.c (grub_elf32_size): New parameter. All users
25839 updated.
25840 (grub_elf64_size): Likewise.
25841 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
25842 Load modules before saying "Welcome to GRUB!".
25843 Call grub_refresh after saying "Welcome to GRUB!".
25844 * kern/mips/cache.S: New file.
25845 * kern/mips/cache_flush.S: Likewise.
25846 * kern/mips/dl.c: Likewise.
25847 * kern/mips/init.c: Likewise.
25848 * kern/mips/qemu-mips/init.c: Likewise.
25849 * kern/mips/startup.S: Likewise.
25850 * kern/mips/yeeloong/init.c: Likewise.
25851 * kern/term.c (grub_putcode): Handle NULL terminal.
25852 (grub_getcharwidth): Likewise.
25853 (grub_getkey): Likewise.
25854 (grub_checkkey): Likewise.
25855 (grub_getkeystatus): Likewise.
25856 (grub_getxy): Likewise.
25857 (grub_getwh): Likewise.
25858 (grub_gotoxy): Likewise.
25859 (grub_cls): Likewise.
25860 (grub_setcolorstate): Likewise.
25861 (grub_setcolor): Likewise.
25862 (grub_getcolor): Likewise.
25863 (grub_refresh): Likewise.
25864 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
25865 (write_jump): Add hatch nop.
25866 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
25867 * lib/mips/setjmp.S: New file.
25868 * loader/mips/linux.c: Likewise.
25869 * term/i386/pc/at_keyboard.c: Move from here ...
25870 * term/at_keyboard.c: ... to here.
25871 * term/i386/pc/serial.c: Moved from here ...
25872 * term/serial.c: ... to here. All users updated.
25873 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
25874 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
25875 (serial_translate_key_sequence): Avoid deadlock.
25876 (grub_serial_getkey): Handle backspace.
25877 (grub_serial_putchar): Fix newline handling.
25878 * util/i386/pc/grub-mkimage.c: Move from here ...
25879 * util/grub-mkrawimage.c: ... to here. All users updated.
25880 (generate_image): New parameters 'font_path' and 'format'.
25881 Support embedding font.
25882 Use grub_host_to_target* instead of grub_cpu_to_le*.
25883 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
25884 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
25885 (options): New option "--font".
25886 (usage): Likewise.
25887 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
25888 (main): Handle "--font".
25889 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
25890 (grub_virtual_screen_setup): Set bg_color_display.
25891 (redraw_screen_rect): Use bg_color_display instead of incorrect
25892 bg_color.
25893 (grub_gfxterm_cls): Likewise.
25894 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
25895 Support embedding config file.
25896 (add_segments): Likewise.
25897 (options): New option "--config".
25898 (main): Handle "--config".
25899 * video/sm712.c: New file.
25900
25901 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25902
25903 Fix parallel builds.
25904
25905 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
25906 font.c depend on ascii.h).
25907
25908 2010-01-12 Carles Pina i Estany <carles@pina.cat>
25909
25910 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
25911
25912 2010-01-11 Carles Pina i Estany <carles@pina.cat>
25913
25914 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
25915 By default: disabled.
25916 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
25917 parameter.
25918
25919 2010-01-10 Carles Pina i Estany <carles@pina.cat>
25920
25921 * font/font.c: Update copyright years.
25922 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
25923
25924 2010-01-10 Carles Pina i Estany <carles@pina.cat>
25925
25926 * font/font.c: Include `ascii.h'.
25927 (ASCII_BITMAP_SIZE): New macro.
25928 (ascii_font_glyph): Define.
25929 (ascii_glyph_lookup): New function.
25930 (grub_font_get_string_width): Change comment. If glyph not found, use
25931 ascii_glyph_lookup.
25932 (grub_font_get_glyph_with_fallback): If glyph not available returns
25933 ascii_glyph_lookup.
25934 * util/grub-mkfont.c (file_formats): New enum.
25935 (options): Add `ascii-bitmaps' new option.
25936 (usage): Add `asii-bitmaps' new option.
25937 (write_font_ascii_bitmap): New function.
25938 (write_font): Rename to ...
25939 (write_font_p2): ... this. Remove print_glyphs call.
25940 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
25941 used. Call print_glyphs.
25942 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
25943
25944 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25945
25946 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
25947 (grub_bin2h_SOURCES): New variable.
25948 * util/bin2h.c: New file.
25949
25950 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25951
25952 * include/multiboot.h: Resynced with spec.
25953 * include/multiboot2.h: Likewise.
25954 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
25955 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
25956
25957 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25958
25959 * include/grub/term.h (grub_term_register_input,
25960 grub_term_register_output): Check return of terminal init()
25961 routines, and abort if errors are raised.
25962
25963 * commands/terminal.c: Update copyright year.
25964
25965 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25966
25967 * commands/terminal.c (grub_cmd_terminal_input)
25968 (grub_cmd_terminal_output): Check return of terminal init()
25969 routines, and abort if errors are raised.
25970
25971 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25972
25973 * include/grub/i386/bsd.h: Fix include pathes.
25974
25975 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25976
25977 Add missing *BSD copyright headers.
25978
25979 * include/grub/aout.h: Add BSD licence.
25980 * include/grub/i386/bsd.h: Parts under different licences moved to ...
25981 * include/grub/i386/freebsd_linker.h: ... here,
25982 * include/grub/i386/freebsd_reboot.h: ... here,
25983 * include/grub/i386/netbsd_bootinfo.h: ... here,
25984 * include/grub/i386/netbsd_reboot.h: ... here,
25985 * include/grub/i386/openbsd_bootarg.h: ... here,
25986 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
25987 licence to each file.
25988
25989 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25990
25991 * acinclude.m4: Remove `nop' assembly instruction; it's not
25992 implemented by all architectures.
25993
25994 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25995
25996 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
25997 ELILO. This is no longer necessary.
25998
25999 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26000
26001 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26002
26003 * util/grub-script-check.c: grub-script-check tool.
26004 * conf/common.rmk: Make rules for grub-script-check.
26005
26006 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26007
26008 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26009 spotting it back in 2008. Shame on me for forgetting he did.
26010
26011 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26012
26013 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26014
26015 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26016 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26017 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26018 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26019 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26020 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26021
26022 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26023
26024 * include/grub/test.h: Add license header.
26025 * tests/example_functional_test.c: Likewise.
26026 * tests/example_unit_test.c: Likewise.
26027 * tests/lib/functional_test.c: Likewise.
26028 * tests/lib/test.c: Likewise.
26029 * tests/lib/unit_test.c: Likewise.
26030
26031 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26032
26033 Use flag-based instead of hook-based video mode selection and "auto"
26034 keyword.
26035
26036 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26037 (grub_video_set_mode): Changed prototype. All users updated.
26038 (grub_video_check_mode_flag): New inline function.
26039 * video/video.c (parse_modespec): New function.
26040 (grub_video_set_mode): Parse flags and keywords.
26041
26042 2010-01-17 Carles Pina i Estany <carles@pina.cat>
26043
26044 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26045 fprintf call.
26046
26047 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26048
26049 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26050
26051 2010-01-16 Carles Pina i Estany <carles@pina.cat>
26052
26053 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26054 string.
26055 * util/grub-emu.c (usage): Likewise.
26056 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26057 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26058 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26059 * util/i386/pc/grub-setup.c (usage): Likewise.
26060
26061 2010-01-16 Carles Pina i Estany <carles@pina.cat>
26062
26063 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26064 the message.
26065 (grub_util_info): Likewise.
26066 (grub_util_error): Likewise.
26067 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26068 and/or new lines in `grub_util_warna', `grub_util_info',
26069 `grub_util_error' calls.
26070 * util/getroot.c: Likewise.
26071 * util/grub-editenv.c: Likewise.
26072 * util/grub-emu.c: Likewise.
26073 * util/grub-fstest.c: Likewise.
26074 * util/grub-mkdevicemap.c: Likewise.
26075 * util/grub-mkfont.c: Likewise.
26076 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26077 * util/grub-mkrelpath.c: Likewise.
26078 * util/grub-pe2elf.c: Likewise.
26079 * util/grub-probe.c: Likewise.
26080 * util/hostdisk.c: Likewise.
26081 * util/i386/efi/grub-mkimage.c: Likewise.
26082 * util/i386/pc/grub-mkimage.c: Likewise.
26083 * util/i386/pc/grub-setup.c: Likewise.
26084 * util/ieee1275/ofpath.c: Likewise.
26085 * util/mkisofs/eltorito.c: Likewise.
26086 * util/mkisofs/rock.c: Likewise.
26087 * util/mkisofs/write.c: Likewise.
26088 * util/raid.c: Likewise.
26089 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26090 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26091
26092 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26093
26094 Enable multiboot on non-pc.
26095
26096 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26097 multiboot.mod and multiboot2.mod to ...
26098 * conf/i386.rmk (pkglib_MODULES): ... here.
26099 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26100 Moved to ...
26101 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26102 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26103 Moved to ...
26104 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26105 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26106 Moved to ...
26107 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26108 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26109 Moved to ...
26110 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26111 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26112 relocator.mod.
26113 (ata_mod_SOURCES): Removed.
26114 (ata_mod_CFLAGS): Likewise.
26115 (ata_mod_LDFLAGS): Likewise.
26116 (relocator_mod_SOURCES): Removed.
26117 (relocator_mod_CFLAGS): Likewise.
26118 (relocator_mod_ASFLAGS): Likewise.
26119 (relocator_mod_LDFLAGS): Likewise.
26120 Include i386.mk.
26121 * include/grub/x86_64/multiboot.h: New file.
26122 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26123 Terminate EFI.
26124
26125 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 Video multiboot support.
26128
26129 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26130 New prototype.
26131 * include/multiboot.h: Resynced with multiboot specification.
26132 * include/multiboot2.h: Likewise.
26133 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26134 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26135 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26136 (HAS_VGA_TEXT): Likewise.
26137 (accepts_video): New variable.
26138 (grub_multiboot_set_accepts_video): New function.
26139 (grub_multiboot_get_mbi_size): Account for video structures.
26140 (set_video_mode): New function.
26141 (retrieve_video_parameters): Likewise.
26142 (grub_multiboot_make_mbi): Fill video fields.
26143
26144 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26145
26146 Video driver ids.
26147
26148 * include/grub/video.h (grub_video_driver_id): New type.
26149 (grub_video_adapter): New member 'id'. All users updated.
26150 (grub_video_get_driver_id): New proto.
26151 * video/video.c (grub_video_get_driver_id): New function.
26152
26153 2010-01-14 Carles Pina i Estany <carles@pina.cat>
26154
26155 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26156 `var=val'.
26157
26158 2010-01-14 Carles Pina i Estany <carles@pina.cat>
26159
26160 * normal/cmdline.c (print_completion): Gettextizze.
26161
26162 2001-01-14 Carles Pina i Estany <carles@pina.cat>
26163
26164 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26165
26166 2010-01-14 Carles Pina i Estany <carles@pina.cat>
26167
26168 * gettext/gettext.c (grub_gettext_translate): Push and pop
26169 grub_errno.
26170 (grub_gettext_delete_list): Change comment style.
26171 * kern/err.c (grub_error): Gettextizze.
26172 (grub_fatal): Gettextizze.
26173
26174 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26175
26176 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26177 (grub_linux16_real_boot): ... this.
26178 * kern/i386/loader.S: Likewise.
26179 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26180 (grub_linux16_boot): New function. Switches to text mode and calls
26181 grub_linux16_real_boot().
26182
26183 * loader/i386/bsd.c: Include `<grub/video.h>'.
26184 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26185 text mode before calling grub_unix_real_boot().
26186
26187 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26188 (grub_multiboot_boot): Switch to text mode before calling
26189 grub_relocator32_boot().
26190
26191 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26192 (grub_chainloader_boot): Switch to text mode before calling
26193 grub_chainloader_real_boot().
26194
26195 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
26196 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
26197
26198 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26199 non-empty value.
26200
26201 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
26202 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
26203
26204 * util/grub.d/00_header.in: Define a "savedefault" function for use
26205 in menu entries.
26206 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26207
26208 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
26209 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
26210
26211 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26212 saved_entry if boot_once is unset.
26213 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26214 previous saved entry (i.e. grub-reboot).
26215
26216 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
26217
26218 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26219
26220 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
26221
26222 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26223 `var=val'.
26224 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26225
26226 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
26227
26228 * util/grub-reboot.in: Fix --version output.
26229 * util/grub-set-default.in: Likewise.
26230
26231 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
26232
26233 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26234 blocks.
26235
26236 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
26237
26238 * util/grub.d/00_header.in: Quote the value assigned to `default',
26239 in case it contains spaces.
26240
26241 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
26242
26243 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26244 `save_default_entry' call from the macosx case to the linux case.
26245
26246 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
26247 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
26248
26249 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26250 in `chosen' environment variable.
26251 * normal/menu_text.c (get_entry_number): Check if the variable
26252 matches the title of a menu entry.
26253 (run_menu): Pass menu to get_entry_number.
26254
26255 * util/grub-reboot.in: New file.
26256 * util/grub-set-default.in: New file.
26257 * conf/common.rmk (grub-reboot): New utility.
26258 (grub-set-default): New utility.
26259
26260 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26261 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26262 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26263 move it to `saved_entry' for the next boot. Load environment on
26264 initialisation.
26265 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26266 * util/grub.d/10_hurd.in: Likewise.
26267 * util/grub.d/10_linux.in (linux_entry): Likewise.
26268 * util/grub.d/10_windows.in: Likewise.
26269 * util/grub.d/30_os-prober.in: Likewise.
26270
26271 * util/grub-install.in: Create environment block.
26272 * util/i386/efi/grub-install.in: Likewise.
26273 * util/ieee1275/grub-install.in: Likewise.
26274 * util/sparc64/ieee1275/grub-install.in: Likewise.
26275
26276 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26277
26278 Unit testing framework for GRUB.
26279
26280 * Makefile.in: Test framework build rules for 'make check'.
26281 * conf/tests.rmk: Build rules for individual tests and framework.
26282
26283 * include/grub/test.h: Header file for whitebox tests.
26284 * tests/lib/functional_test.c: Framework support for whitebox
26285 functional tests.
26286 * tests/lib/test.c: Common whitebox testing code for unit and
26287 functional tests.
26288 * tests/lib/unit_test.c: Framework support for whitebox unit
26289 tests.
26290
26291 * tests/util/grub-shell-tester.in: Support utility for grub-script
26292 tests.
26293 * tests/util/grub-shell.in: Utility to execute grub-script
26294 commands in a Qemu instance.
26295
26296 * tests/example_functional_test.c: Example whitebox functional
26297 test.
26298 * tests/example_grub_script_test.in: Example grub-script test.
26299 * tests/example_scripted_test.in: Example scripted test.
26300 * tests/example_unit_test.c: Example whitebox unit test.
26301
26302 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26303
26304 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26305 Add loader/i386/multiboot_mbi.c.
26306 (multiboot2_mod_SOURCES): Likewise.
26307 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26308 (multiboot2_mod_SOURCES): Likewise.
26309 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26310 (grub_multiboot_make_mbi): Likewise.
26311 (grub_multiboot_free_mbi): Likewise.
26312 (grub_multiboot_init_mbi): Likewise.
26313 (grub_multiboot_add_module): Likewise.
26314 (grub_multiboot_set_bootdev): Likewise.
26315 * loader/i386/multiboot.c (mbi): Removed.
26316 (mbi_dest): Likewise.
26317 (alloc_mbi): New variable.
26318 (grub_multiboot_payload_size): Removed. All users updated.
26319 (grub_multiboot_pure_size): New variable.
26320 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26321 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26322 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26323 (grub_fill_multiboot_mmap): Likewise.
26324 (grub_multiboot_get_bootdev): Likewise.
26325 (grub_multiboot): Use multiboot_mbi functions.
26326 * loader/i386/multiboot_mbi.c: New file.
26327
26328 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26329
26330 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26331 it would result in module crash.
26332
26333 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26334
26335 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26336 (grub_ofconsole_getwh): Split to ...
26337 (grub_ofconsole_getwh): ... this.
26338 (grub_ofconsole_dimensions): ...and this.
26339 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26340
26341 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26342
26343 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26344
26345 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26346
26347 * loader/i386/pc/multiboot2.c: Removed stalled file.
26348
26349 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26350
26351 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26352 Reported by: Grégoire Sutre
26353
26354 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26355
26356 * util/misc.c (canonicalize_file_name): New function.
26357 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26358 instead of realpath().
26359
26360 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
26361
26362 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26363 and make it clearer that it's optional. Based on confusion
26364 witnessed on IRC.
26365
26366 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26367
26368 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26369 in premature implicit newline.
26370
26371 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26372
26373 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26374 which resulted in garbled command line at the end of screen.
26375
26376 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26377
26378 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26379 initialization with similar approach as with other Linux loaders.
26380
26381 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26382
26383 Fix i386-ieee1275 build.
26384
26385 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26386 and grub_term_height() for video_{width,height} initialization.
26387
26388 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26389
26390 Fix grub-emu build.
26391
26392 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26393
26394 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26395 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26396
26397 Support for multiple terminals.
26398
26399 * Makefile.in (pkglib_DATA): terminal.lst.
26400 (terminal.lst): New target.
26401 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26402 (GRUB_MOD_INIT(handler)): Likewise.
26403 (GRUB_MOD_FINI(handler)): Likewise.
26404 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26405 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26406 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26407 (grub_cmd_sleep): Use grub_term_save_pos.
26408 * commands/terminal.c: New file.
26409 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26410 commands/terminal.c and lib/charset.c.
26411 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26412 (pkglib_MODULES): Add terminal.mod.
26413 (terminal_mod_SOURCES): New variable.
26414 (terminal_mod_CFLAGS): Likewise.
26415 (terminal_mod_LDFLAGS): Likewise.
26416 * genhandlerlist.sh: Don't handle terminals.
26417 * genmk.rb: Generate terminal-*.lst.
26418 * genterminallist.sh: New file.
26419 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26420 (grub_is_valid_utf8): Likewise.
26421 (grub_utf8_to_ucs4_alloc): Likewise.
26422 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26423 (grub_menu_register_viewer): Changed argument.
26424 (grub_menu_try_text): New proto.
26425 (grub_gfxmenu_try_hook): New declaration.
26426 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26427 (grub_menu_init_page): Additional argument term.
26428 (grub_normal_init_page): Likewise.
26429 (grub_cmdline_get): Arguments simplified.
26430 (grub_utf8_to_ucs4_alloc): Removed.
26431 (grub_print_ucs4): Additional argument term.
26432 (grub_getstringwidth): Likewise.
26433 (grub_print_message_indented): Likewise.
26434 (grub_menu_text_register_instances): New proto.
26435 (grub_show_menu): Likewise.
26436 (read_terminal_list): Likewise.
26437 (grub_set_more): Likewise.
26438 * include/grub/parser.h: Include handler.h.
26439 * include/grub/reader.h: Rewritten.
26440 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26441 (GRUB_TERM_WIDTH): Changed to function.
26442 (GRUB_TERM_HEIGHT): Likewise.
26443 (GRUB_TERM_BORDER_WIDTH): Likewise.
26444 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26445 (GRUB_TERM_NUM_ENTRIES): Likewise.
26446 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26447 (GRUB_TERM_CURSOR_X): Likewise.
26448 (grub_term_input_class): Likewise.
26449 (grub_term_output_class): Likewise.
26450 (grub_term_outputs_disabled): New declaration.
26451 (grub_term_inputs_disabled): Likewise.
26452 (grub_term_outputs): Likewise.
26453 (grub_term_inputs): Likewise.
26454 (grub_term_register_input): Rewritten.
26455 (grub_term_register_output): Likewise.
26456 (grub_term_unregister_input): Likewise.
26457 (grub_term_unregister_output): Likewise.
26458 (FOR_ACTIVE_TERM_INPUTS): New macro.
26459 (FOR_DISABLED_TERM_INPUTS): Likewise.
26460 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26461 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26462 * include/grub/terminfo.h: Add oterm argument to all protypes.
26463 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26464 Use grub_rescue_run.
26465 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26466 All users updated.
26467 * kern/reader.c: Removed. All users updated.
26468 * kern/rescue_reader.c (grub_rescue_init): Removed.
26469 (grub_rescue_reader): Likewise.
26470 (grub_register_rescue_reader): Likewise.
26471 (grub_rescue_run): New function based on kern/reader.c.
26472 * kern/term.c: Adapted for multiterm.
26473 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26474 (grub_is_valid_utf8): Likewise.
26475 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26476 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26477 right terminal.
26478 * loader/i386/linux.c (grub_linux_boot): Likewise.
26479 * normal/auth.c (grub_username_get): New function.
26480 (grub_auth_check_authentication): Use grub_username_get.
26481 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26482 * normal/color.c: Adapt for multiterm.
26483 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26484 (grub_normal_init_page): Additional argument term.
26485 (read_lists): Call read_terminal_lists.
26486 (grub_enter_normal_mode): Call grub_cmdline_run.
26487 Handle grub_normal_exit_level.
26488 (grub_cmd_normal): Make reentrant.
26489 (grub_cmd_normal_exit): New function.
26490 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26491 * normal/menu.c: Adapt for multiterm.
26492 * normal/menu_entry.c: Likewise.
26493 * normal/menu_text.c: Likewise.
26494 * normal/menu_viewer.c: Removed. All users updated.
26495 * normal/term.c: New file.
26496 * util/console.c: Change order of includes to workaround a bug in
26497 ncurses headers.
26498 * term/terminfo.c: New argument oterm on all exported functions.
26499 All users updated.
26500 * util/grub-editenv.c (grub_term_input_class): Removed.
26501 (grub_term_output_class): Likewise.
26502
26503 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26504
26505 Make loader output a bit more user-friendly.
26506
26507 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26508 is being loaded. Likewise for the Hurd.
26509
26510 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26511 that kernel of FreeBSD ${version} is being loaded.
26512
26513 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26514 grub_dprintf().
26515 (grub_cmd_initrd): Likewise.
26516 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26517 that Linux ${version} is being loaded. Likewise for initrd.
26518
26519 2010-01-09 Carles Pina i Estany <carles@pina.cat>
26520
26521 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26522
26523 2010-01-08 Carles Pina i Estany <carles@pina.cat>
26524
26525 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26526 (GRUB_MOD_INIT): Gettextizze.
26527 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26528 (GRUB_MOD_INIT): Gettextizze.
26529 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26530 (grub_cmd_linux): Capitalise Linux.
26531 (GRUB_MOD_INIT): Gettextizze.
26532 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26533 (grub_cmd_linux): Capitalise Linux.
26534 (GRUB_MOD_INIT): Gettextizze.
26535 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26536 (grub_cmd_linux): Capitalise Linux.
26537 (GRUB_MOD_INIT): Gettextizze.
26538 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26539 (GRUB_MOD_INIT): Gettextizze.
26540 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26541 (grub_cmd_linux): Capitalise Linux.
26542 (GRUB_MOD_INIT): Gettextizze.
26543 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26544 (grub_cpu_xnu_init): Gettextizze.
26545 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26546 (GRUB_MOD_INIT): Gettextizze.
26547 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26548 (GRUB_MOD_INIT): Gettextizze.
26549 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26550 (grub_linux_load64): Capitalise Linux.
26551 (GRUB_MOD_INIT): Gettextizze.
26552 * loader/xnu.c: Include `<grub/i18n.h>'.
26553 (GRUB_MOD_INIT): Gettextizze.
26554 * po/POTFILES: Add `loader/efi/appleloader.c',
26555 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26556 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26557 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26558 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26559 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26560 and `loader/xnu.c'.
26561
26562 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26563
26564 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26565
26566 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26567
26568 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26569 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26570 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26571
26572 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26573
26574 Reset Multiboot 2 support. New loader implements the draft in
26575 /branches/multiboot2 and shares as much code as possible with the
26576 production Multiboot 1 implementation.
26577
26578 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26579 * loader/multiboot2.c: Likewise.
26580 * loader/i386/multiboot_helper.S: Likewise.
26581 * include/multiboot2.h: Replace with latest version from the draft
26582 in /branches/multiboot2.
26583
26584 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26585 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26586 and `loader/multiboot2.c'.
26587 (pkglib_MODULES): Add `multiboot2.mod'.
26588 (multiboot2_mod_SOURCES): New variable.
26589 (multiboot2_mod_LDFLAGS): Likewise.
26590 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26591
26592 * conf/i386-pc.rmk: Likewise.
26593
26594 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26595 (multiboot_mod_SOURCES): Remove variable.
26596 (multiboot_mod_LDFLAGS): Likewise.
26597 (multiboot_mod_CFLAGS): Likewise.
26598
26599 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
26600 `<multiboot2.h>' instead of `<multiboot.h>'.
26601 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
26602 (MULTIBOOT_HEADER_MAGIC): New macros.
26603
26604 * loader/multiboot_loader.c (module_version_status): Remove variable.
26605 (find_multi_boot2_header): Remove function.
26606 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
26607 logic. Always check for the Multiboot version we're compiling for.
26608 (grub_cmd_module_loader): Likewise.
26609 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
26610 command instead of `multiboot'.
26611
26612 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
26615 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
26616 all users.
26617
26618 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26619 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26620
26621 Fix breakage introduced with previous commit.
26622
26623 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
26624 commands.
26625 * normal/handler.c (read_handler_list): Revert part of previous commit
26626 affecting this file.
26627 * normal/main.c (read_lists): Move read_handler_list() call back to ...
26628 (grub_normal_execute): ... here.
26629
26630 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26631
26632 Merge prefix-redefinition-fix branch.
26633
26634 * normal/autofs.c (read_fs_list): Make function capable of being
26635 run multiple times, gracefuly replacing the previous data
26636 structures.
26637 * normal/dyncmd.c (read_command_list): Likewise.
26638 * normal/handler.c (read_handler_list): Likewise.
26639 * normal/main.c (read_lists): New function. Calls all the
26640 list reading functions.
26641 (grub_normal_execute): Use read_lists() instead of calling all
26642 list reading functions explicitly. Register read_lists() as a
26643 variable hook attached to ${prefix}.
26644
26645 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26646
26647 Merge crypto branch.
26648
26649 * Makefile.in (pkglib_DATA): Add crypto.lst.
26650 (crypto.lst): New target.
26651 * commands/hashsum.c: New file.
26652 * commands/password.c (check_password): Use grub_crypto_memcmp.
26653 * commands/password_pbkdf2.c: New file.
26654 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
26655 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
26656 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
26657 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
26658 -I$(srcdir)/lib/libgcrypt_wrap.
26659 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
26660 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
26661 password_pbkdf2.mod.
26662 (crypto_mod_SOURCES): New variable.
26663 (crypto_mod_CFLAGS): Likewise.
26664 (crypto_mod_LDFLAGS): Likewise.
26665 (hashsum_mod_SOURCES): New variable.
26666 (hashsum_mod_CFLAGS): Likewise.
26667 (hashsum_mod_LDFLAGS): Likewise.
26668 (pbkdf2_mod_SOURCES): New variable.
26669 (pbkdf2_mod_CFLAGS): Likewise.
26670 (pbkdf2_mod_LDFLAGS): Likewise.
26671 (password_pbkdf2_mod_SOURCES): New variable.
26672 (password_pbkdf2_mod_CFLAGS): Likewise.
26673 (password_pbkdf2_mod_LDFLAGS): Likewise.
26674 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
26675 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
26676 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
26677 Include conf/gcry.rmk.
26678 * include/grub/auth.h: Rewritten.
26679 * include/grub/crypto.h: New file.
26680 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
26681 * include/grub/normal.h (read_crypto_list): New prototype.
26682 * lib/crypto.c: New file.
26683 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26684 * lib/pbkdf2.c: Likewise.
26685 * normal/auth.c (grub_auth_strcmp): Removed.
26686 (grub_iswordseparator): Likewise.
26687 (grub_auth_strword): Likewise.
26688 (is_authenticated): Use grub_strword.
26689 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
26690 and grub_strword. Pass entered password to authentication callback.
26691 * normal/crypto.c: New file.
26692 * normal/main.c: Call read_crypto_list.
26693 * util/grub-mkpasswd-pbkdf2.c: New file.
26694 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
26695
26696 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
26697
26698 Fix descent and ascent calculation.
26699
26700 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
26701 (options): New option "asce".
26702 (usage): Likewise.
26703 (add_char): Ignore invalid glyphs for descent calculation.
26704 Calculate ascent from actual content.
26705 (print_glyphs): Use 'asce'.
26706 (write_font): Likewise. Allow ascent override.
26707 (main): Handle "asce" option.
26708
26709 2010-01-06 Carles Pina i Estany <carles@pina.cat>
26710
26711 * kern/err.c: Include `<grub/i18n.h>'.
26712 (grub_print_error): Add full stop. Gettextizze.
26713 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
26714 (grub_bsd_load_elf): Capitalise ELF.
26715 (grub_cmd_freebsd_loadenv): Add `s' in error string.
26716 (grub_cmd_freebsd_module): Likewise.
26717 (grub_cmd_freebsd_module_elf): Likewise.
26718 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
26719
26720 2010-01-06 Carles Pina i Estany <carles@pina.cat>
26721
26722 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
26723 * commands/search_file.c (HELP_MESSAGE): New macro.
26724 * commands/search_label.c (HELP_MESSAGE): Likewise.
26725 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
26726 * po/POTFILES: Add `commands/search_file.c',
26727 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
26728 `commands/search.c'.
26729
26730 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26731
26732 * config.rpath: Update from Gnulib.
26733
26734 2010-01-05 Yves Blusseau <blusseau@zetam.org>
26735
26736 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
26737
26738 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
26739
26740 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
26741
26742 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
26743
26744 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
26745 arguments to fread so that we get a return value in bytes, rather
26746 than something that will normally be rounded down to 0.
26747 Adjust error handling to avoid producing garbage when size_t is not
26748 the same size as long long.
26749
26750 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
26751
26752 * util/mkisofs/write.c (padblock_write): Check return value of
26753 fread.
26754
26755 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
26758 floppy images now.
26759
26760 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
26761
26762 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26763
26764 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
26765 instead of manual alignment.
26766 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
26767 verbose). Avoid attempts to read past end of the device
26768 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
26769 but GRUB_DISK_CACHE_SIZE may exceed that).
26770
26771 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26772
26773 * commands/crc.c (grub_cmd_crc): Abort on read errors.
26774 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
26775 it to upper layer.
26776
26777 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
26780 New constant.
26781 (grub_efi_piwg_device_path): New structure
26782 (grub_efi_piwg_device_path_t): New type.
26783 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
26784 (devpath_1): Transform to a structure. All users updated.
26785 (devpath_2): Likewise.
26786 (devpath_3): Likewise.
26787 (devpath_4): Likewise.
26788 (devpath_5): Likewise.
26789
26790 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26791
26792 * loader/efi/appleloader.c: Restored. Update all users.
26793
26794 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26795
26796 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
26797
26798 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
26799 (struct boot_blocklist): Move from here ...
26800 * include/grub/i386/pc/boot.h [ASM_FILE]
26801 (struct grub_boot_blocklist): ... to here. Update all users.
26802 (setup): Only initialize `start' member of `first_block'
26803 structure. Add assert() calls to verify the other members.
26804
26805 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
26806 (generate_image): Fix broken blocklist length initialization.
26807 Add assert() call to verify blocklist `segment' field.
26808
26809 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26810
26811 * loader/efi/appleloader.c: Remove. Update all users.
26812
26813 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26814
26815 * boot/i386/pc/boot.S: Update copyright year.
26816 * boot/i386/pc/cdboot.S: Likewise.
26817 * boot/i386/pc/diskboot.S: Likewise.
26818 * boot/i386/pc/lnxboot.S: Likewise.
26819 * boot/i386/pc/pxeboot.S: Likewise.
26820 * bus/pci.c: Likewise.
26821 * commands/cmp.c: Likewise.
26822 * commands/help.c: Likewise.
26823 * commands/hexdump.c: Likewise.
26824 * commands/i386/pc/halt.c: Likewise.
26825 * commands/i386/pc/play.c: Likewise.
26826 * commands/i386/pc/vbeinfo.c: Likewise.
26827 * commands/ls.c: Likewise.
26828 * commands/test.c: Likewise.
26829 * disk/dmraid_nvidia.c: Likewise.
26830 * disk/i386/pc/biosdisk.c: Likewise.
26831 * disk/ieee1275/nand.c: Likewise.
26832 * disk/ieee1275/ofdisk.c: Likewise.
26833 * disk/lvm.c: Likewise.
26834 * disk/raid.c: Likewise.
26835 * disk/raid6_recover.c: Likewise.
26836 * disk/scsi.c: Likewise.
26837 * fs/affs.c: Likewise.
26838 * fs/cpio.c: Likewise.
26839 * fs/ext2.c: Likewise.
26840 * fs/hfs.c: Likewise.
26841 * fs/iso9660.c: Likewise.
26842 * fs/ntfs.c: Likewise.
26843 * fs/sfs.c: Likewise.
26844 * fs/udf.c: Likewise.
26845 * fs/ufs.c: Likewise.
26846 * fs/xfs.c: Likewise.
26847 * gencmdlist.sh: Likewise.
26848 * genmk.rb: Likewise.
26849 * include/grub/disk.h: Likewise.
26850 * include/grub/efi/api.h: Likewise.
26851 * include/grub/efi/efi.h: Likewise.
26852 * include/grub/efi/pe32.h: Likewise.
26853 * include/grub/elf.h: Likewise.
26854 * include/grub/fs.h: Likewise.
26855 * include/grub/i386/at_keyboard.h: Likewise.
26856 * include/grub/i386/pc/memory.h: Likewise.
26857 * include/grub/i386/pc/vbe.h: Likewise.
26858 * include/grub/i386/pci.h: Likewise.
26859 * include/grub/i386/tsc.h: Likewise.
26860 * include/grub/ieee1275/ieee1275.h: Likewise.
26861 * include/grub/ntfs.h: Likewise.
26862 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26863 * include/grub/sparc64/libgcc.h: Likewise.
26864 * include/grub/symbol.h: Likewise.
26865 * include/grub/types.h: Likewise.
26866 * include/multiboot2.h: Likewise.
26867 * io/gzio.c: Likewise.
26868 * kern/device.c: Likewise.
26869 * kern/disk.c: Likewise.
26870 * kern/efi/efi.c: Likewise.
26871 * kern/efi/mm.c: Likewise.
26872 * kern/elf.c: Likewise.
26873 * kern/file.c: Likewise.
26874 * kern/i386/dl.c: Likewise.
26875 * kern/i386/pc/init.c: Likewise.
26876 * kern/i386/pc/startup.S: Likewise.
26877 * kern/ieee1275/ieee1275.c: Likewise.
26878 * kern/ieee1275/init.c: Likewise.
26879 * kern/main.c: Likewise.
26880 * kern/mm.c: Likewise.
26881 * kern/powerpc/dl.c: Likewise.
26882 * kern/sparc64/dl.c: Likewise.
26883 * kern/x86_64/dl.c: Likewise.
26884 * lib/hexdump.c: Likewise.
26885 * loader/efi/appleloader.c: Likewise.
26886 * loader/i386/ieee1275/linux.c: Likewise.
26887 * loader/i386/pc/chainloader.c: Likewise.
26888 * loader/i386/pc/linux.c: Likewise.
26889 * loader/i386/pc/multiboot2.c: Likewise.
26890 * loader/ieee1275/multiboot2.c: Likewise.
26891 * loader/multiboot2.c: Likewise.
26892 * loader/multiboot_loader.c: Likewise.
26893 * loader/powerpc/ieee1275/linux.c: Likewise.
26894 * normal/completion.c: Likewise.
26895 * normal/menu_entry.c: Likewise.
26896 * partmap/apple.c: Likewise.
26897 * util/grub.d/10_hurd.in: Likewise.
26898 * util/hostfs.c: Likewise.
26899 * video/readers/png.c: Likewise.
26900
26901 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
26902
26903 * include/grub/misc.h (GNUC_PREREQ): New macro.
26904 (ATTRIBUTE_ERROR): New macro.
26905 * include/grub/list.h (grub_bad_type_cast_real): Use
26906 ATTRIBUTE_ERROR.
26907
26908 2010-01-03 Carles Pina i Estany <carles@pina.cat>
26909
26910 * normal/menu_text.c (print_message): Change messages.
26911
26912 2010-01-03 Carles Pina i Estany <carles@pina.cat>
26913
26914 * normal/menu_entry.c (store_completion): Gettextizze.
26915
26916 2010-01-03 Carles Pina i Estany <carles@pina.cat>
26917
26918 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
26919
26920 2010-01-03 Carles Pina i Estany <carles@pina.cat>
26921
26922 * po/POTFILES: Sort correctly.
26923
26924 2010-01-03 Carles Pina i Estany <carles@pina.cat>
26925
26926 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
26927 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
26928 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
26929 full stop.
26930 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
26931 summary. Gettextizze the strings.
26932 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
26933 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
26934 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
26935 full stop.
26936 (GRUB_MOD_INIT): Remove command name from summary.
26937 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
26938 summary.
26939 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
26940 * term/i386/pc/serial.c (options): Add full stops.
26941 (GRUB_MOD_INIT): Remove command name from the summary.
26942
26943 2010-01-03 Carles Pina i Estany <carles@pina.cat>
26944
26945 * commands/acpi.c: Gettextizze help strings and/or options. Include
26946 `grub/i18n.h' if needed.
26947 * commands/blocklist.c: Likewise.
26948 * commands/boot.c: Likewise.
26949 * commands/cat.c: Likewise.
26950 * commands/cmp.c: Likewise.
26951 * commands/configfile.c: Likewise.
26952 * commands/crc.c: Likewise.
26953 * commands/date.c: Likewise.
26954 * commands/echo.c: Likewise.
26955 * commands/efi/fixvideo.c: Likewise.
26956 * commands/efi/loadbios.c: Likewise.
26957 * commands/gptsync.c: Likewise.
26958 * commands/halt.c: Likewise.
26959 * commands/handler.c: Likewise.
26960 * commands/hdparm.c: Likewise.
26961 * commands/hexdump.c: Likewise.
26962 * commands/i386/cpuid.c: Likewise.
26963 * commands/i386/pc/drivemap.c: Likewise.
26964 * commands/i386/pc/halt.c: Likewise.
26965 * commands/i386/pc/pxecmd.c: Likewise.
26966 * commands/i386/pc/vbeinfo.c: Likewise.
26967 * commands/i386/pc/vbetest.c: Likewise.
26968 * commands/ieee1275/suspend.c: Likewise.
26969 * commands/keystatus.c: Likewise.
26970 * commands/loadenv.c: Likewise.
26971 * commands/ls.c: Likewise.
26972 * commands/lsmmap.c: Likewise.
26973 * commands/lspci.c: Likewise.
26974 * commands/memrw.c: Likewise.
26975 * commands/minicmd.c: Likewise.
26976 * commands/parttool.c: Likewise.
26977 * commands/password.c: Likewise.
26978 * commands/probe.c: Likewise.
26979 * commands/read.c: Likewise.
26980 * commands/reboot.c: Likewise.
26981 * commands/search.c: Likewise.
26982 * commands/sleep.c: Likewise.
26983 * commands/test.c: Likewise.
26984 * commands/true.c: Likewise.
26985 * commands/usbtest.c: Likewise.
26986 * commands/videotest.c: Likewise.
26987 * commands/xnu_uuid.c: Likewise.
26988 * disk/loopback.c: Likewise.
26989 * hello/hello.c: Likewise.
26990 * loader/i386/bsd.c: Likewise.
26991 * term/i386/pc/serial.c: Likewise.
26992 * po/POTFILES: Add new files.
26993
26994 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
26995
26996 * term/i386/pc/at_keyboard.c
26997 (keyboard_controller_wait_untill_ready): Rename to ...
26998 (keyboard_controller_wait_until_ready): ... this. Update all users.
26999
27000 2010-01-01 Carles Pina i Estany <carles@pina.cat>
27001
27002 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27003 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27004 string using string width.
27005 * normal/menu_text.c (grub_print_message_indented): Use
27006 grub_print_spaces and not print_spaces.
27007 (print_timeout): Likewise.
27008 (print_spaces): Move to...
27009 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27010
27011 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27012
27013 Import from Gnulib.
27014
27015 * gnulib/getdelim.c: New file.
27016 * gnulib/getline.c: Likewise.
27017
27018 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27019
27020 * include/grub/list.h (grub_assert_fail): Removed.
27021 (grub_bad_type_cast_real): New function.
27022 (grub_bad_type_cast): New macro.
27023 (GRUB_AS_LIST): Use grub_bad_type_cast.
27024 (GRUB_AS_LIST_P): Likewise.
27025 (GRUB_AS_NAMED_LIST): Likewise.
27026 (GRUB_AS_NAMED_LIST_P): Likewise.
27027 (GRUB_AS_PRIO_LIST): Likewise.
27028 (GRUB_AS_PRIO_LIST_P): Likewise.
27029 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
27030
27031 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27032
27033 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27034 Fix syntax error.
27035
27036 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27037
27038 * configure.ac: Check for TARGET_CFLAGS initialization before we
27039 initialize it ourselves (sigh).
27040 Move a few modifications to TARGET_CFLAGS to be unconditional
27041 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27042 eh_frame)
27043
27044 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27045 * term/i386/pc/at_keyboard.c
27046 (keyboard_controller_wait_untill_ready): Likewise.
27047 (keyboard_controller_led): Rename `led_status' paramter to avoid
27048 name conflict.
27049
27050 2009-12-28 Carles Pina i Estany <carles@pina.cat>
27051
27052 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27053 quotes.
27054
27055 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27056
27057 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27058
27059 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 * normal/menu_text.c (grub_print_message_indented): Prevent
27062 past-the-end-of-array dereference.
27063
27064 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27065
27066 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27067 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27068
27069 2009-12-27 Carles Pina i Estany <carles@pina.cat>
27070
27071 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27072 * normal/main.c (grub_normal_read_line): Remove a space from the
27073 default prompt.
27074
27075 2009-12-27 Carles Pina i Estany <carles@pina.cat>
27076
27077 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27078 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27079 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27080 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27081 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27082 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27083 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27084
27085 2009-12-26 Carles Pina i Estany <carles@pina.cat>
27086
27087 * video/readers/jpeg.c (cmd): Declare.
27088 (grub_cmd_jpegtest): Use `grub_command_t' type.
27089 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27090 Assign to `cmd'.
27091 (GRUB_MOD_FINI): Use `cmd' to unregister.
27092 * video/readers/png.c (cmd): Declare.
27093 (grub_cmd_pngtest): Use `grub_command_t' type.
27094 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27095 Assign to `cmd'.
27096 (GRUB_MOD_FINI): Use `cmd' to unregister.
27097 * video/readers/tga.c (cmd): Declare.
27098 (grub_cmd_tgatest): Use `grub_command_t' type.
27099 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27100 Assign to `cmd'.
27101 (GRUB_MOD_FINI): Use `cmd' to unregister.
27102
27103 2009-12-26 Carles Pina i Estany <carles@pina.cat>
27104
27105 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27106 stops.
27107 * kern/corecmd.c (grub_register_core_commands): Likewise.
27108 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27109 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27110 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27111 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27112 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27113 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27114 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27115 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27116 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27117 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27118 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27119 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27120 * normal/handler.c (insert_handler): Likewise.
27121 * normal/main.c (GRUB_MOD_INIT): Likewise.
27122 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27123
27124 2009-12-26 Carles Pina i Estany <carles@pina.cat>
27125
27126 * commands/help.c (grub_cmd_help): Print the command name before the
27127 summary.
27128 (GRUB_MOD_INIT): Remove command name from the summary.
27129 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
27130 string as summary.
27131 * lib/arg.c (find_long): Print the command name before the summary.
27132 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27133 summary.
27134 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27135 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27136 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27137 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27138 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27139 * commands/date.c (GRUB_MOD_INIT): Likewise.
27140 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27141 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27142 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27143 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27144 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27145 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27146 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27147 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27148 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27149 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27150 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27151 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27152 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27153 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27154 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27155 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27156 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27157 * commands/password.c (GRUB_MOD_INIT): Likewise.
27158 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27159 * commands/read.c (GRUB_MOD_INIT): Likewise.
27160 * commands/search.c (GRUB_MOD_INIT): Likewise.
27161 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27162 * commands/test.c (GRUB_MOD_INIT): Likewise.
27163 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27164 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27165 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27166 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27167 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27168 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27169 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27170 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27171 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27172 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27173 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27174 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27175 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27176 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27177
27178 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27179
27180 Use search command for preliminar UUID search.
27181
27182 * commands/search.c: Split into ...
27183 * commands/search_wrap.c: ...this
27184 * commands/search.c: ...and this.
27185 * commands/search_file.c: New file.
27186 * commands/search_label.c: New file.
27187 * commands/search_uuid.c: New file.
27188 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27189 Add commands/search_wrap.c, commands/search_file.c,
27190 commands/search_label.c and commands/search_uuid.c.
27191 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27192 (search_mod_SOURCES): Set to commands/search_wrap.c.
27193 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27194 search_label.mod.
27195 (search_fs_file_mod_SOURCES): New variable.
27196 (search_fs_file_mod_CFLAGS): Likewise.
27197 (search_fs_file_mod_LDFLAGS): Likewise.
27198 (search_label_mod_SOURCES): Likewise.
27199 (search_label_mod_CFLAGS): Likewise.
27200 (search_label_mod_LDFLAGS): Likewise.
27201 (search_fs_uuid_mod_SOURCES): New variable.
27202 (search_fs_uuid_mod_CFLAGS): Likewise.
27203 (search_fs_uuid_mod_LDFLAGS): Likewise.
27204 (fs_file_mod_SOURCES): Removed.
27205 (fs_file_mod_CFLAGS): Likewise.
27206 (fs_file_mod_LDFLAGS): Likewise.
27207 (fs_uuid_mod_SOURCES): Removed.
27208 (fs_uuid_mod_CFLAGS): Likewise.
27209 (fs_uuid_mod_LDFLAGS): Likewise.
27210 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27211 Set to util/grub-install.in.
27212 * disk/fs_file.c: Removed.
27213 * disk/fs_uuid.c: Likewise.
27214 * include/grub/search.h: New file.
27215 * util/grub-install.in: Handle sparc64.
27216 Create and use load.cfg.
27217 * util/sparc64/ieee1275/grub-install.in: Removed.
27218
27219 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27220
27221 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27222 Ignore return status if CF is cleared.
27223 (grub_biosdisk_get_diskinfo_standard): Likewise.
27224
27225 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27226
27227 * term/i386/pc/at_keyboard.c
27228 (keyboard_controller_wait_untill_ready): New function.
27229 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27230 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27231 for keyboard polling, rather than duplicate the same loop. This
27232 saves a few bytes in code size.
27233
27234 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27235
27236 Support for (pxe[:server[:gateway]]) syntax and
27237 use environment variable for PXE.
27238
27239 * commands/i386/pc/pxecmd.c (options): Removed.
27240 (print_ip): Removed.
27241 (grub_cmd_pxe): Removed
27242 (grub_cmd_pxe_unload): New function.
27243 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27244 (grub_pxe_your_ip): Made static.
27245 (grub_pxe_default_server_ip): Likewise.
27246 (grub_pxe_default_gateway_ip): Likewise.
27247 (grub_pxe_blksize): Likewise.
27248 (parse_ip): New function.
27249 (grub_pxe_open): Support server and gateway specification.
27250 (grub_pxe_close): Free disk->data.
27251 (grub_pxefs_open): Use disk->data.
27252 (grub_pxefs_read): Likewise.
27253 (grub_env_write_readonly): New function.
27254 (set_mac_env): Likewise.
27255 (set_env_limn_ro): Likewise.
27256 (parse_dhcp_vendor): Likewise.
27257 (grub_pxe_detect): Set the environment variables.
27258 (set_ip_env): New function.
27259 (write_ip_env): Likewise.
27260 (grub_env_write_pxe_default_server): Likewise.
27261 (grub_env_write_pxe_default_gateway): Likewise.
27262 (grub_env_write_pxe_blocksize): Likewise.
27263 (GRUB_MOD_INIT(pxe)): Set environment variables.
27264 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27265 (grub_pxe_mac_addr_t): ... this. All users updated.
27266 (grub_pxe_your_ip): Removed.
27267 (grub_pxe_server_ip): Likewise.
27268 (grub_pxe_gateway_ip): Likewise.
27269 (grub_pxe_blksize): Likewise.
27270
27271 2009-12-25 Carles Pina i Estany <carles@pina.cat>
27272
27273 * commands/help.c: Include `<grub/i18n.h>'.
27274 (grub_cmd_help): Gettextizze.
27275 (GRUB_MOD_INIT): Likewise.
27276 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27277 (GRUB_MOD_INIT): Gettextizze.
27278 * commands/search.c: Include `<grub/i18n.h>'.
27279 (options): Gettextizze.
27280 (GRUB_MOD_INIT): Gettextizze.
27281 * lib/arg.c: Include `<grub/i18n.h>'.
27282 (help_options): Gettextizze.
27283 (find_long): Likewise.
27284 (grub_arg_show_help): Likewise.
27285 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27286 (read_command_list): Gettextizze.
27287 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
27288 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
27289
27290 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27291
27292 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27293 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27294 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27295 (led_status): New variable.
27296 (keyboard_controller_led): New function.
27297 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27298 update led status for caps lock, num lock and scroll lock.
27299
27300 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
27301
27302 * util/hostdisk.c (open_device): Fix a comment.
27303
27304 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27305
27306 * util/grub-install.in (host_os): New variable.
27307 * util/i386/efi/grub-install.in (host_os): Likewise.
27308
27309 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27310
27311 * util/mkisofs/write.c (padblock_write): Abort when given an
27312 excedingly large embed image, instead of silently truncating it.
27313
27314 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27315
27316 * include/multiboot.h: Indentation fixes.
27317
27318 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27319
27320 * include/multiboot.h (struct multiboot_aout_symbol_table)
27321 (struct multiboot_elf_section_header_table): New structure
27322 declarations (stolen from GRUB Legacy).
27323 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27324 table information.
27325
27326 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27327 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27328 type aliases.
27329
27330 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27331
27332 * include/multiboot.h: Make comments src2texi-friendly.
27333
27334 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27335
27336 For consistency with [multiboot]/docs/boot.S.
27337
27338 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27339 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27340 (MULTIBOOT_MAGIC2): Rename from this ...
27341 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27342
27343 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27344
27345 * include/multiboot.h: Remove `<grub/types.h>'.
27346 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27347 types. Update all users.
27348
27349 2009-12-25 Carles Pina i Estany <carles@pina.cat>
27350
27351 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27352 `couldn't' and `can not' by `cannot'.
27353 * commands/i386/pc/drivemap.c: Likewise.
27354 * disk/ata.c: Likewise.
27355 * disk/ieee1275/nand.c: Likewise.
27356 * fs/affs.c: Likewise.
27357 * fs/fat.c: Likewise.
27358 * fs/hfs.c: Likewise.
27359 * fs/hfsplus.c: Likewise.
27360 * fs/iso9660.c: Likewise.
27361 * fs/jfs.c: Likewise.
27362 * fs/minix.c: Likewise.
27363 * fs/reiserfs.c: Likewise.
27364 * fs/sfs.c: Likewise.
27365 * fs/udf.c: Likewise.
27366 * fs/ufs.c: Likewise.
27367 * fs/xfs.c: Likewise.
27368 * loader/powerpc/ieee1275/linux.c: Likewise.
27369 * loader/sparc64/ieee1275/linux.c: Likewise.
27370 * util/grub-probe.c: Likewise.
27371 * util/misc.c: Likewise.
27372
27373 2009-12-24 Carles Pina i Estany <carles@pina.cat>
27374
27375 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27376 grub_errno calls.
27377 * commands/acpi.c: Likewise.
27378 * commands/blocklist.c: Likewise.
27379 * commands/efi/loadbios.c: Likewise.
27380 * commands/i386/pc/drivemap.c: Likewise.
27381 * commands/loadenv.c: Likewise.
27382 * commands/memrw.c: Likewise.
27383 * commands/password.c: Likewise.
27384 * commands/videotest.c: Likewise.
27385 * disk/ata.c: Likewise.
27386 * disk/ata_pthru.c: Likewise.
27387 * disk/dmraid_nvidia.c: Likewise.
27388 * disk/ieee1275/nand.c: Likewise.
27389 * disk/ieee1275/ofdisk.c: Likewise.
27390 * disk/loopback.c: Likewise.
27391 * disk/lvm.c: Likewise.
27392 * disk/mdraid_linux.c: Likewise.
27393 * disk/raid.c: Likewise.
27394 * disk/raid6_recover.c: Likewise.
27395 * disk/scsi.c: Likewise.
27396 * efiemu/main.c: Likewise.
27397 * efiemu/mm.c: Likewise.
27398 * efiemu/pnvram.c: Likewise.
27399 * efiemu/symbols.c: Likewise.
27400 * font/font.c: Likewise.
27401 * fs/cpio.c: Likewise.
27402 * fs/hfsplus.c: Likewise.
27403 * fs/iso9660.c: Likewise.
27404 * fs/jfs.c: Likewise.
27405 * fs/minix.c: Likewise.
27406 * fs/ntfs.c: Likewise.
27407 * fs/ntfscomp.c: Likewise.
27408 * fs/reiserfs.c: Likewise.
27409 * fs/ufs.c: Likewise.
27410 * fs/xfs.c: Likewise.
27411 * gettext/gettext.c: Likewise.
27412 * include/grub/auth.h: Likewise.
27413 * kern/elf.c: Likewise.
27414 * kern/file.c: Likewise.
27415 * kern/ieee1275/init.c: Likewise.
27416 * kern/ieee1275/mmap.c: Likewise.
27417 * kern/ieee1275/openfw.c: Likewise.
27418 * kern/powerpc/dl.c: Likewise.
27419 * kern/sparc64/dl.c: Likewise.
27420 * lib/arg.c: Likewise.
27421 * loader/i386/bsd.c: Likewise.
27422 * loader/i386/bsdXX.c: Likewise.
27423 * loader/i386/efi/linux.c: Likewise.
27424 * loader/i386/efi/xnu.c: Likewise.
27425 * loader/i386/ieee1275/linux.c: Likewise.
27426 * loader/i386/linux.c: Likewise.
27427 * loader/i386/multiboot.c: Likewise.
27428 * loader/i386/pc/linux.c: Likewise.
27429 * loader/i386/pc/multiboot2.c: Likewise.
27430 * loader/i386/xnu.c: Likewise.
27431 * loader/ieee1275/multiboot2.c: Likewise.
27432 * loader/macho.c: Likewise.
27433 * loader/machoXX.c: Likewise.
27434 * loader/multiboot2.c: Likewise.
27435 * loader/multiboot_loader.c: Likewise.
27436 * loader/powerpc/ieee1275/linux.c: Likewise.
27437 * loader/sparc64/ieee1275/linux.c: Likewise.
27438 * loader/xnu.c: Likewise.
27439 * loader/xnu_resume.c: Likewise.
27440 * mmap/i386/pc/mmap.c: Likewise.
27441 * normal/menu_viewer.c: Likewise.
27442 * partmap/acorn.c: Likewise.
27443 * partmap/amiga.c: Likewise.
27444 * partmap/apple.c: Likewise.
27445 * script/lexer.c: Likewise.
27446 * term/gfxterm.c: Likewise.
27447 * term/i386/pc/serial.c: Likewise.
27448 * term/i386/pc/vga.c: Likewise.
27449 * term/ieee1275/ofconsole.c: Likewise.
27450 * term/terminfo.c: Likewise.
27451 * video/bitmap.c: Likewise.
27452 * video/efi_gop.c: Likewise.
27453 * video/efi_uga.c: Likewise.
27454 * video/fb/video_fb.c: Likewise.
27455 * video/i386/pc/vbe.c: Likewise.
27456 * video/readers/tga.c: Likewise.
27457 * video/video.c: Likewise.
27458
27459 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
27460
27461 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27462 * commands/lspci.c: Likewise.
27463 * commands/probe.c: Likewise.
27464 * commands/xnu_uuid.c: Likewise.
27465 * conf/i386-coreboot.rmk: Likewise.
27466 * conf/i386-efi.rmk: Likewise.
27467 * conf/i386-ieee1275.rmk: Likewise.
27468 * conf/i386-pc.rmk: Likewise.
27469 * conf/powerpc-ieee1275.rmk: Likewise.
27470 * conf/sparc64-ieee1275.rmk: Likewise.
27471 * conf/x86_64-efi.rmk: Likewise.
27472 * fs/i386/pc/pxe.c: Likewise.
27473 * gettext/gettext.c: Likewise.
27474 * include/grub/efi/graphics_output.h: Likewise.
27475 * include/grub/i386/pc/memory.h: Likewise.
27476 * kern/env.c: Likewise.
27477 * kern/i386/qemu/startup.S: Likewise.
27478 * lib/i386/pc/biosnum.c: Likewise.
27479 * lib/i386/relocator.c: Likewise.
27480 * lib/i386/relocator_asm.S: Likewise.
27481 * lib/relocator.c: Likewise.
27482 * loader/i386/bsd.c: Likewise.
27483 * loader/i386/multiboot.c: Likewise.
27484 * loader/i386/pc/chainloader.c: Likewise.
27485 * loader/i386/xnu.c: Likewise.
27486 * loader/xnu.c: Likewise.
27487 * normal/main.c: Likewise.
27488 * normal/menu_text.c: Likewise.
27489 * util/getroot.c: Likewise.
27490 * util/grub-mkconfig_lib.in: Likewise.
27491 * util/grub.d/00_header.in: Likewise.
27492 * util/i386/pc/grub-mkimage.c: Likewise.
27493 * util/mkisofs/eltorito.c: Likewise.
27494 * util/mkisofs/exclude.h: Likewise.
27495 * util/mkisofs/hash.c: Likewise.
27496 * util/mkisofs/iso9660.h: Likewise.
27497 * util/mkisofs/joliet.c: Likewise.
27498 * util/mkisofs/mkisofs.c: Likewise.
27499 * util/mkisofs/mkisofs.h: Likewise.
27500 * util/mkisofs/multi.c: Likewise.
27501 * util/mkisofs/name.c: Likewise.
27502 * util/mkisofs/rock.c: Likewise.
27503 * util/mkisofs/tree.c: Likewise.
27504 * util/mkisofs/write.c: Likewise.
27505 * video/efi_gop.c: Likewise.
27506
27507 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27508
27509 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27510 size counting.
27511
27512 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
27513
27514 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27515 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27516
27517 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27518
27519 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27520 (GRUB_MOD_INIT(memrw)): Update help line.
27521
27522 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27523
27524 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27525 Use grub_extcmd_t. All users updated.
27526 (options): New variable.
27527 (grub_cmd_read): Restructure for readability. Support "-v" option.
27528 (grub_cmd_write): Restructure for readability.
27529
27530 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
27531
27532 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27533
27534 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
27535
27536 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27537 with the actual contents of the correspondending make variable.
27538 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27539 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27540 specifying `*.lst' and `efiemu??.o'
27541
27542 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
27543
27544 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27545 after function name.
27546 Noticed by Rene Engelhard <rene@debian.org>.
27547
27548 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27549
27550 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27551 (options): New variable.
27552 (iospace): Likewise.
27553 (grub_lspci_iter): List IO spaces if "-i" was given.
27554 (grub_cmd_lspci): Parse options.
27555 (GRUB_MOD_INIT(lspci)): Use extcmd.
27556 (GRUB_MOD_FINI(lspci)): Likewise.
27557
27558 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
27559
27560 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27561 `function' keyword.
27562 Patch by Tony Mancill <tmancill@debian.org>.
27563
27564 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27565
27566 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27567 (grub_uhci_portstatus): Likewise.
27568 (grub_uhci_portstatus): Add necessary delay.
27569 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
27570
27571 2009-12-21 Carles Pina i Estany <carles@pina.cat>
27572
27573 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27574 (GRUB_MOD_INIT): Likewise.
27575 * commands/boot.c (GRUB_MOD_INIT): Likewise.
27576 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27577 * commands/echo.c (options): Fix capitalizations and/or full stops.
27578 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27579 (enable_rom_area): Likewise.
27580 (GRUB_MOD_INIT): Likewise.
27581 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27582 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27583 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27584 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27585 * commands/hexdump.c (options): Likewise.
27586 * commands/i386/cpuid.c (options): Likewise.
27587 (GRUB_MOD_INIT): Likewise.
27588 * commands/i386/pc/drivemap.c (options): Likewise.
27589 (GRUB_MOD_INIT): Likewise.
27590 * commands/i386/pc/halt (options): Likewise.
27591 (GRUB_MOD_INIT): Likewise.
27592 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27593 * commands/i386/pc/pxecmd.c (options): Likewise.
27594 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27595 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27596 * commands/keystatus.c (options): Likewise.
27597 (GRUB_MOD_INIT): Likewise.
27598 * commands/loadenv.c (options): Likewise.
27599 * commands/ls.c (options): Likewise.
27600 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27601 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27602 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27603 * commands/parttool.c (helpmsg): Likewise.
27604 * commands/probe.c (options): Likewise.
27605 * commands/read.c (GRUB_MOD_INIT): Likewise.
27606 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
27607 * commands/search.c (options): Likewise.
27608 * commands/sleep.c (options): Likewise.
27609 * commands/test.c (GRUB_MOD_INIT): Likewise.
27610 * commands/true.c (GRUB_MOD_INIT): Likewise.
27611 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
27612 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
27613 * lib/arg.c (help_options): Likewise.
27614 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
27615 `$(XGETTEXT)'.
27616 * po/POTFILES: Add `commands/loadenv.c'.
27617
27618 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
27619
27620 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
27621 instead of specifying them explicit.
27622
27623 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27624
27625 * NEWS: Add grub-probe support for GNU/Hurd.
27626
27627 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27628
27629 * NEWS: gettext was added after 1.97.
27630
27631 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27632
27633 * util/mkisofs/msdos_partition.h: New file (based on
27634 include/grub/msdos_partition.h).
27635 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
27636 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
27637 (ld_options, main): Recognize --protective-msdos-label.
27638 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
27639 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
27640 (padblock_write): If `use_protective_msdos_label' is set, patch a
27641 protective DOS-style label in the output image.
27642
27643 * util/grub-mkrescue.in: Use --protective-msdos-label.
27644
27645 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27646
27647 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
27648 boot.
27649
27650 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27651
27652 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
27653 variables.
27654 (ld_options, main): Recognize `--embedded-boot'.
27655 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
27656 declarations.
27657 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
27658 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
27659 (padblock_write): Likewise. Rewrite to support embedded boot image.
27660
27661 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
27662 for BIOS-based disk boot instead of only ElTorito.
27663
27664 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27665
27666 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
27667 build (not needed for bootstrap).
27668
27669 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27670
27671 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
27672 from i386-pc build (not needed for bootstrap).
27673 Rewrite a pair of strings.
27674
27675 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27676
27677 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
27678
27679 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
27680
27681 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
27682
27683 2009-12-21 Andreas Born <futur.andy@googlemail.com>
27684
27685 * kern/env.c (grub_env_context_open): Mark exported variable for
27686 reexport.
27687
27688 2009-12-21 Andreas Born <futur.andy@googlemail.com>
27689
27690 * kern/env.c (grub_env_export): Create nonexistent variables before
27691 exporting.
27692
27693 2009-12-20 Carles Pina i Estany <carles@pina.cat>
27694
27695 * include/grub/auth.h: Include `<grub/i18n.h>'.
27696 (GRUB_GET_PASSWORD): Gettextizze string.
27697 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
27698 menu_text.c.
27699 (grub_utf8_to_ucs4_alloc): Fix indentation.
27700 (grub_print_ucs4): Likewise.
27701 (grub_getstringwidth): Likewise.
27702 (print_message_indented): New declaration.
27703 * normal/auth.c: Include `<grub/i18n.h>'.
27704 (grub_auth_check_authentication): Gettexttize string.
27705 * normal/cmdline.c: Include `<grub/i18n.h>'.
27706 (grub_cmdline_get): Gettextizze.
27707 * normal/color.c: Include `<grub/i18n.h>'.
27708 (grub_parse_color_name_pair): Gettexttize strings.
27709 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
27710 string (use `print_message_indented').
27711 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
27712 `include/grub/normal.h'.
27713 (print_message_indented): Renamed to ...
27714 (grub_print_message_indented): ... this. Remove `static' qualifer (now
27715 used in normal/main.c).
27716 (print_message): Use `grub_print_message_indented' instead of
27717 `print_message_indented'.
27718 (print_timeout): Likewise.
27719 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
27720 (grub_normal_print_device_info): Gettexttize strings.
27721 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
27722
27723 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27724
27725 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
27726 of arguments. Return number of tokens and not arguments. All users
27727 updated.
27728
27729 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27730
27731 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
27732 non-MSDOS paritions.
27733
27734 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
27735
27736 * include/grub/types.h (UNUSED): Removed since it conflicts with
27737 NetBSD headers. All users changed to direct __attribute__ ((unused)).
27738 Reported by Grégoire Sutre.
27739
27740 2009-12-19 Carles Pina i Estany <carles@pina.cat>
27741
27742 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
27743 (grub_print_ucs4_alloc): Likewise.
27744 (grub_getstringwidth): Likewise.
27745 * normal/main.c (grub_normal_init_page): Gettextize version string.
27746 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
27747 (getstringwidth): Renamed to ...
27748 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
27749 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
27750 (grub_print_ucs4): Remove `static' qualifer (now used in
27751 normal/main.c).
27752 * po/POTFILES: Add normal/main.c.
27753
27754 2009-12-19 Carles Pina i Estany <carles@pina.cat>
27755
27756 * normal/menu_text.c (STANDARD_MARGIN): New macro.
27757 (print_message_indented): Add `margin_left' and `margin_right'
27758 parameters.
27759 (print_message): Update `print_message_indented' calls. Adds '\n' to the
27760 strings.
27761 (print_timeout): Use `print_message_indented' to print the message.
27762 Deletes `second_stage' parameter.
27763 (run_menu): Update `print_timeout' calls.
27764
27765 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27766
27767 Fix console palette on OpenFirmware.
27768
27769 * term/ieee1275/ofconsole.c (MAX): Removed.
27770 (colors): Redone based on VGA palette.
27771 (grub_ofconsole_setcolor): Discard brightness bit since only 8
27772 colors are supported.
27773 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
27774
27775 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27776
27777 Fix potential EfiEmu double prepare.
27778
27779 * efiemu/main.c (prepared): New variable
27780 (grub_efiemu_unload): Set prepare to '0'.
27781 (grub_efiemu_prepare): Return if already prepared. Set prepared.
27782
27783 set_virtual_address_map support.
27784
27785 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
27786 prototype.
27787 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
27788 prototype.
27789 (grub_efiemu_crc32): Likewise.
27790 (grub_efiemu_crc64): Likewise.
27791 (grub_efiemu_set_virtual_address_map): Likewise.
27792 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
27793 New definition.
27794 (grub_autoefi_set_virtual_address_map): Likewise.
27795 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
27796 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
27797 Restructure flow to accomodate it.
27798 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
27799 (grub_efiemu_crc): Recompute CRC32.
27800 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
27801 (efiemu_ptv_relocated): ... this. Made global. All users updated.
27802 * efiemu/symbols.c (relocated_handle): New variable.
27803 (grub_efiemu_free_syms): Free relocated_handle.
27804 (grub_efiemu_alloc_syms): Allocate relocated_handle.
27805 (grub_efiemu_write_sym_markers): New function.
27806 (grub_efiemu_set_virtual_address_map): Likewise.
27807
27808 Newer XNU parameters.
27809
27810 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
27811 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
27812 (grub_xnu_fill_devicetree): New prototype.
27813 (grub_xnu_heap_real_start): New variable.
27814 * loader/xnu.c (get_name_ptr): New function.
27815 (grub_xnu_load_driver): Fill namelen and name.
27816
27817 64-bit xnu support.
27818
27819 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
27820 and 'loader/macho64.c'.
27821 * conf/i386-pc.rmk: Likewise.
27822 * conf/x86_64-efi.rmk: Likewise.
27823 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
27824 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
27825 * include/grub/macho.h (grub_macho_segment64): New structure.
27826 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
27827 (grub_macho_size32): ... to this.
27828 (grub_macho32_get_entry_point): Renamed from ...
27829 (grub_macho_get_entry_point32): ... to this.
27830 (grub_macho_contains_macho64): New prototype.
27831 (grub_macho_size64): Likewise.
27832 (grub_macho_get_entry_point64): Likewise.
27833 (grub_macho32_load): Renamed from ...
27834 (grub_macho_load32): ... to this.
27835 (grub_macho32_filesize): Renamed from ...
27836 (grub_macho_filesize32): ... to this.
27837 (grub_macho32_readfile): Renamed from ...
27838 (grub_macho_readfile32): ... to this.
27839 (grub_macho_filesize64): New prototype.
27840 (grub_macho_readfile64): Likewise.
27841 (grub_macho_parse32): Likewise.
27842 (grub_macho_parse64): Likewise.
27843 * loader/macho.c: Split into ...
27844 * loader/machoXX.c: ... and this. Replace 32 with XX.
27845 * loader/macho32.c: New file.
27846 * loader/macho64.c: Likewise.
27847 * loader/xnu.c (grub_xnu_is_64bit): New variable.
27848 (grub_cmd_xnu_kernel): Make 32-bit only.
27849 (grub_cmd_xnu_kernel64): New function.
27850 (grub_xnu_load_driver): Support Mach-O 64.
27851 (grub_cmd_xnu_mkext): Likewise.
27852 * util/grub.d/30_os-prober.in (osx_entry): New function.
27853 Generate entries for 64-bit boot too.
27854
27855 Eliminate ad-hoc tree format in XNU and EfiEmu.
27856
27857 * efiemu/main.c (grub_efiemu_prepare): Update comment.
27858 * efiemu/pnvram.c: Rewritten to use environment variables.
27859 All users updated.
27860
27861 Inline utf16_to_utf8.
27862
27863 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
27864 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
27865 All users updated.
27866 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
27867
27868 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
27869 * commands/usbtest.c (grub_usb_get_string): ... move here.
27870 (usb_print_str): Fix error handling.
27871 * include/grub/usb.h (grub_usb_get_string): Remove.
27872
27873 UTF-8 to UTF-16 transformation.
27874
27875 * conf/common.rmk (pkglib_MODULES): Add charset.mod
27876 (charset_mod_SOURCES): New variable.
27877 (charset_mod_CFLAGS): Likewise.
27878 (charset_mod_LDFLAGS): Likewise.
27879 * include/grub/utf.h: New file.
27880 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
27881
27882 Support for device properties.
27883
27884 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
27885 (grub_xnu_devprop_device_header): Likewise.
27886 (grub_xnu_devprop_device_descriptor): Likewise.
27887 (grub_xnu_devprop_add_device): New prototype.
27888 (grub_xnu_devprop_remove_device): Likewise.
27889 (grub_xnu_devprop_remove_property): Likewise.
27890 (grub_xnu_devprop_add_property_utf8): Likewise.
27891 (grub_xnu_devprop_add_property_utf16): Likewise.
27892 (grub_cpu_xnu_init): Likewise.
27893 (grub_cpu_xnu_fini): Likewise.
27894 (grub_cpu_xnu_unload): Likewise.
27895 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
27896 (property_descriptor): Likewise.
27897 (devices): New variable.
27898 (grub_xnu_devprop_remove_property): New function.
27899 (grub_xnu_devprop_add_device): Likewise.
27900 (grub_xnu_devprop_remove_device): Likewise.
27901 (grub_xnu_devprop_add_property): Likewise.
27902 (grub_xnu_devprop_add_property_utf8): Likewise.
27903 (grub_xnu_devprop_add_property_utf16): Likewise.
27904 (hextoval): Likewise.
27905 (grub_cpu_xnu_fill_devprop): Likewise.
27906 (grub_cmd_devprop_load): Likewise.
27907 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
27908 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
27909 (cmd_devprop_load): New variable.
27910 (grub_cpu_xnu_init): New function.
27911 (grub_cpu_xnu_fini): Likewise.
27912 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
27913 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
27914 (grub_cmd_xnu_devtree): Likewise.
27915 (hextoval): New function.
27916 (unescape): Likewise.
27917 (grub_xnu_fill_devicetree): Likewise.
27918
27919 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
27920 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
27921
27922 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27923
27924 Workaround for broken ATI VBE.
27925
27926 * video/i386/pc/vbe.c (last_set_mode): New variable.
27927 (grub_vbe_set_video_mode): Set 'last_set_mode'.
27928 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
27929 (grub_video_vbe_setup): Don't check for reserved flag.
27930
27931 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
27932
27933 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
27934 the `find' command.
27935
27936 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
27937
27938 UUID support for HFS.
27939
27940 * fs/hfs.c (grub_hfs_uuid): New function.
27941 (grub_hfs_fs): New value .uuid.
27942 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
27943
27944 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
27945
27946 Fix a segfault with parsing unknown long options.
27947
27948 * util/grub-mkrelpath.c (options): Zero terminate it.
27949
27950 2009-12-13 Carles Pina i Estany <carles@pina.cat>
27951
27952 * include/grub/misc.h (grub_puts): New declaration.
27953 (grub_puts_): Likewise.
27954 * kern/misc.c (grub_puts): New definition.
27955 (grub_puts_): Likewise.
27956
27957 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27958
27959 * util/grub-probe.c (probe): Improve error message.
27960
27961 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27962
27963 * loader/i386/multiboot_elfxx.c
27964 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
27965 initialization.
27966
27967 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27968
27969 Relocator framework
27970
27971 * loader/i386/xnu_helper.S: Removed. All users updated.
27972 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
27973 (relocator_mod_SOURCES): New variable.
27974 (relocator_mod_CFLAGS): Likewise.
27975 (relocator_mod_LDFLAGS): Likewise.
27976 (relocator_mod_ASFLAGS): Likewise.
27977 * conf/x86_64.rmk: Likewise.
27978 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
27979 (grub_multiboot_payload_entry_offset): Likewise.
27980 (grub_multiboot_forward_relocator): Likewise.
27981 (grub_multiboot_forward_relocator_end): Likewise.
27982 (grub_multiboot_backward_relocator): Likewise.
27983 (grub_multiboot_backward_relocator_end): Likewise.
27984 (grub_multiboot_payload_eip): New variable.
27985 (grub_multiboot_payload_orig): Likewise.
27986 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
27987 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
27988 * include/grub/i386/memory.h
27989 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
27990 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
27991 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
27992 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
27993 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
27994 * include/grub/i386/relocator.h: New file.
27995 * include/grub/x86_64/relocator.h: Likewise.
27996 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
27997 (XNU_RELOCATOR): New macro.
27998 (grub_xnu_launcher_start): Remove.
27999 (grub_xnu_launcher_end): Likewise.
28000 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28001 (grub_xnu_heap_real_start): Remove.
28002 (grub_xnu_heap_start): Change to void *. All users updated.
28003 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28004 * lib/i386/relocator.c: New file.
28005 * lib/i386/relocator_asm.S: Likewise.
28006 * lib/i386/relocator_backward.S: Likewise.
28007 * lib/mips/relocator.c: Likewise.
28008 * lib/mips/relocator_asm.S: Likewise.
28009 * lib/relocator.c: Likewise.
28010 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28011 (entry): Removed.
28012 (playground): Likewise.
28013 (grub_multiboot_payload_orig): New variable.
28014 (grub_multiboot_payload_dest): Likewise.
28015 (grub_multiboot_payload_size): Likewise.
28016 (grub_multiboot_payload_eip): Likewise.
28017 (grub_multiboot_payload_esp): Likewise.
28018 (grub_multiboot_boot): Use grub_relocator32_boot.
28019 (grub_multiboot_unload): Free relocators.
28020 (grub_multiboot): Setup stack. Use relocators.
28021 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28022 (grub_multiboot_load_elfXX): Use relocators.
28023 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28024 (grub_multiboot_payload_size): Likewise.
28025 (grub_multiboot_payload_dest): Likewise.
28026 (grub_multiboot_payload_entry_offset): Likewise.
28027 (grub_multiboot_forward_relocator): Likewise.
28028 (grub_multiboot_backward_relocator): Likewise.
28029 (grub_multiboot_real_boot): Likewise.
28030 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28031 (grub_xnu_entry_point): Likewise.
28032 (grub_xnu_arg1): Likewise.
28033 (grub_xnu_stack): Likewise.
28034 (grub_xnu_launch): Removed.
28035 (grub_xnu_boot_resume): New function.
28036 (grub_xnu_boot): Use relocators.
28037 * loader/i386/xnu_helper.S: Removed.
28038 * loader/xnu.c (grub_xnu_heap_start): New variable.
28039 (grub_xnu_heap_size): Likewise.
28040 (grub_xnu_heap_malloc): Use relocators.
28041 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28042
28043 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28044
28045 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28046 anything.
28047
28048 2009-12-13 Carles Pina i Estany <carles@pina.cat>
28049
28050 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28051 GRUB_ERR_NONE before calling grub_env_set.
28052
28053 2009-12-12 Robert Millan <rmh@aybabtu.com>
28054
28055 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28056 * genmk.rb (video): New variable.
28057 (CLEANFILES, VIDEOFILES): Add #{video}.
28058 (#{video}): New target rule.
28059 * genvideolist.sh: New file.
28060 * Makefile.in (pkglib_DATA): Add video.lst.
28061 (video.lst): New target rule.
28062 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28063 `video.lst'.
28064 * util/grub.d/30_os-prober.in: Replace `vbe' with
28065 ${GRUB_VIDEO_BACKEND}.
28066
28067 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28068
28069 * THANKS: Add David Miller.
28070
28071 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28072
28073 libpciaccess support.
28074
28075 * Makefile.in (LIBPCIACCESS): New variable.
28076 (enable_grub_emu_pci): Likewise.
28077 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28078 util/pci.c and commands/lspci.c.
28079 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28080 * configure.ac (grub-emu-pci): New option.
28081 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28082 (grub_pci_device_unmap_range): Likewise.
28083 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28084 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28085 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28086 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28087 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28088 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28089 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28090 * include/grub/pciutils.h: New file.
28091 * util/pci.c: Likewise.
28092
28093 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
28094
28095 * util/misc.c: Don't include <errno.h> twice.
28096
28097 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
28098
28099 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28100 name in an error message.
28101 (grub_biosdisk_rw): Likewise.
28102
28103 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28104
28105 Eliminate NTFS 4Gib barrier.
28106
28107 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28108 (read_run_data): Likewise.
28109 (grub_ntfs_read_run_list): Likewise.
28110 (grub_ntfs_read_block): Likewise.
28111 (grub_ntfs_iterate_dir): Likewise.
28112 (read_mft): Likewise.
28113 (read_data): Likewise.
28114 Use COM_LOG_LEN.
28115 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28116 to avoid 64-bit division
28117 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28118 (grub_ntfs_rlst): Use grub_disk_addr_t.
28119
28120 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 Eliminate grub-fstest 4Gib barrier.
28123
28124 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28125 (read_file): Fix error reporting.
28126
28127 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28128
28129 Eliminate hexdump 4Gib barrier.
28130
28131 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28132 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28133
28134 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28135
28136 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28137 Fixes amarsh bug.
28138
28139 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28140
28141 Remove miscellaneous files in distclean target.
28142
28143 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28144
28145 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
28146
28147 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28148 if they're already set. This resolves the conflict between my
28149 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28150 fixing the --grub-probe option again.
28151 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28152 change on 2009-10-06, so that we now once again source
28153 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28154
28155 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28156
28157 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28158 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28159 `util/devicemap.c'.
28160
28161 2009-12-08 Carles Pina i Estany <carles@pina.cat>
28162
28163 * include/grub/misc.h (grub_printf_): New declaration.
28164 * kern/misc.c (grub_printf_): New definition.
28165 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28166 instead of `grub_printf' and `_'.
28167 * normal/menu_entry.c (store_completion): Likewise.
28168 (run): Likewise.
28169 (grub_menu_entry_run): Likewise.
28170 * normal/menu_text.c (grub_wait_after_message): Likewise.
28171 (notify_booting): Likewise.
28172 (notify_fallback): Likewise.
28173 (notify_execution_failure): Likewise.
28174
28175 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
28176
28177 * configure.ac: Check for vasprintf.
28178 * util/misc.c (asprintf): Move allocation from here ...
28179 (vasprintf): ... to here. New function.
28180 (xasprintf): New function.
28181 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28182 prototypes.
28183 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28184 * util/grub-mkfont.c (write_font): Likewise.
28185 * util/grub-probe.c (probe): Likewise.
28186 * util/hostdisk.c (make_device_name): Likewise.
28187
28188 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
28189
28190 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28191 anything even prefixed with 'cdrom' as a cdrom.
28192
28193 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
28194
28195 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28196 mount points.
28197
28198 2009-12-05 Carles Pina i Estany <carles@pina.cat>
28199
28200 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28201 grub_gettext_msg_list.
28202 (grub_gettext_gettranslation_from_position): Return const char *
28203 and not char *.
28204 (grub_gettext_translate): Add the translated strings into a list,
28205 returns from the list if existing there.
28206 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28207 (grub_gettext_delete_list): Delete the list.
28208 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28209 lang environment variable is changed.
28210 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28211
28212 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28213
28214 Rename kernel.mod to kernel.img.
28215
28216 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28217 (kernel_mod_EXPORTS): Rename to ...
28218 (kernel_img_EXPORTS): ... this.
28219 (kernel_mod_SOURCES): Rename to ...
28220 (kernel_img_SOURCES): ... this.
28221 (kernel_mod_HEADERS): Rename to ...
28222 (kernel_img_HEADERS): ... this. All users updated.
28223 (kernel_mod_CFLAGS): Rename to ...
28224 (kernel_img_CFLAGS): ... this.
28225 (kernel_mod_ASFLAGS): Rename to ...
28226 (kernel_img_ASFLAGS): ... this.
28227 (kernel_mod_LDFLAGS): Rename to ...
28228 (kernel_img_LDFLAGS): ... this.
28229 * conf/x86_64-efi.rmk: Likewise.
28230 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28231 (read_kernel_image): ... this. All users updated.
28232 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28233
28234 2009-12-05 Carles Pina i Estany <carles@pina.cat>
28235
28236 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28237 (print_spaces): New function.
28238 (grub_print_ucs4): New function.
28239 (getstringwidth): New function.
28240 (print_message_indented): New function.
28241 (print_message): Gettexttize strings using print_message_indented.
28242 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28243 width.
28244 (get_entry_number): Gettextize and uses dynamic terminal width.
28245 (notify_booting, notify_fallback, notify_execution_failure):
28246 Gettextize.
28247 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28248 string.
28249 (run): Likewise.
28250 (grub_menu_entry_run): Likewise.
28251 * PO/POTFILES: Add normal/menu_entry.c.
28252
28253 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28256
28257 2009-12-05 Carles Pina i Estany <carles@pina.cat>
28258
28259 * util/grub-install.in: Install gettext .mo files.
28260 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28261
28262 2009-12-05 Carles Pina i Estany <carles@pina.cat>
28263
28264 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28265 grub_dprintf.
28266
28267 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28268
28269 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28270 non-firmware-dependant one in realmode.S takes precedence.
28271
28272 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28273
28274 * commands/halt.c: Replace misc arch-specific headers with
28275 `<grub/misc.h>'.
28276 * commands/reboot.c: Likewise.
28277 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28278 `<grub/misc.h>'.
28279 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28280 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28281 (kernel_img_SOURCES): ... to here.
28282
28283 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28284 * include/grub/i386/pc/init.h: Likewise.
28285 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28286 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28287
28288 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28289
28290 * include/grub/i386/halt.h: Remove.
28291 * include/grub/i386/reboot.h: Likewise.
28292
28293 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28294
28295 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
28296
28297 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28298 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28299 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28300 "progname.h"
28301 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28302 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28303 (usage): Add missing comma in printf.
28304
28305 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28306
28307 Use the same reboot approach on i386 coreboot and qemu as we do on
28308 BIOS.
28309
28310 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28311 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28312 * kern/i386/reboot.c: Remove.
28313 * include/grub/i386/reboot.h (grub_reboot): Export function.
28314 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28315 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28316 0xf000:0xfff0 instead of 0xffff:0x0000.
28317 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28318 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28319
28320 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28321
28322 Fix $srcdir != $objdir build.
28323
28324 * Makefile.in (po/%.po): Rewrite as ...
28325 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28326
28327 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28328
28329 Fix GNU/Hurd grub-install crash.
28330 * util/grub-probe.c (probe): Try to access `path' only when it is not
28331 NULL.
28332
28333 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28334
28335 Correct module naming.
28336
28337 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28338 (GRUB_MOD_INIT(efi_uga)): ... to this
28339 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28340 (GRUB_MOD_FINI(efi_uga)): ... to this
28341 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28342 (GRUB_MOD_INIT(efi_gop)): ... to this
28343 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28344 (GRUB_MOD_FINI(efi_gop)): ... to this
28345
28346 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28347
28348 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28349 translatable.
28350 (usage): Translate `arg' strings using gettext().
28351 Thanks to Jordi Mallach for the suggestion.
28352
28353 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 GOP support. Based on patch from Bean
28356 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28357
28358 * video/efi_gop.c: New file.
28359 * include/grub/efi/graphics_output.h: Likewise.
28360 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28361 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28362 variables.
28363 * conf/x86_64-efi.rmk: Likewise.
28364
28365 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 Rename efi_fb to efi_uga.
28368
28369 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28370 'efi_uga.mod'.
28371 (efi_fb_mod_SOURCES): Rename this ...
28372 (efi_uga_mod_SOURCES): ... to this.
28373 (efi_fb_mod_CFLAGS): Rename this ...
28374 (efi_uga_mod_CFLAGS): ... to this.
28375 (efi_fb_mod_LDFLAGS): Rename this ...
28376 (efi_uga_mod_LDFLAGS): ... to this.
28377 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28378 'efi_uga.mod'.
28379 (efi_fb_mod_SOURCES): Rename this ...
28380 (efi_uga_mod_SOURCES): ... to this.
28381 (efi_fb_mod_CFLAGS): Rename this ...
28382 (efi_uga_mod_CFLAGS): ... to this.
28383 (efi_fb_mod_LDFLAGS): Rename this ...
28384 (efi_uga_mod_LDFLAGS): ... to this.
28385 * video/efi_fb.c: Move this ...
28386 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28387
28388 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28389
28390 * po/README: New file. Explain our PO file workflow.
28391
28392 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28393
28394 * po/ChangeLog: Remove. Move relevant entries back to ...
28395 * ChangeLog: ... here.
28396 * po/ca.po: Remove (now handled by TLP).
28397 * po/id.po: Likewise.
28398 * po/zh_CN.po: Likewise.
28399 * Makefile.in (LINGUAS): Initialize in a way that supports
28400 empty set.
28401
28402 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28403
28404 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28405 reliing on po/LINGUAS.
28406 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28407 (po/%.po): ... this.
28408
28409 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
28410
28411 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28412 (main): Use `program_name' instead of nonexistent `progname'.
28413
28414 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
28415
28416 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28417 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28418
28419 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28420
28421 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28422 commit.
28423 * conf/i386-efi.rmk: Likewise.
28424 * conf/i386-ieee1275.rmk: Likewise.
28425 * conf/powerpc-ieee1275.rmk: Likewise.
28426 * conf/sparc64-ieee1275.rmk: Likewise.
28427 * conf/x86_64-efi.rmk: Likewise.
28428
28429 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
28430
28431 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28432
28433 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
28434
28435 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28436
28437 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28438
28439 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28440 (grub_mkdevicemap_SOURCES): New variable.
28441 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28442 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28443 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28444 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28445 (grub_mkdevicemap_SOURCES): Remove.
28446 * conf/i386-efi.rmk: Likewise.
28447 * conf/i386-ieee1275.rmk: Likewise.
28448 * conf/i386-pc.rmk: Likewise.
28449 * conf/powerpc-ieee1275.rmk: Likewise.
28450 * conf/sparc64-ieee1275.rmk: Likewise.
28451 * conf/x86_64-efi.rmk: Likewise.
28452 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28453 (usage): Fix strings to use `program_name'.
28454 (main): Initialize gettext.
28455 * util/grub-editenv.c: Likewise.
28456 * util/grub-emu.c: Likewise.
28457 * util/grub-fstest.c: Likewise.
28458 * util/grub-mkdevicemap.c: Likewise.
28459 * util/grub-mkfont.c: Likewise.
28460 * util/grub-mkrelpath.c: Likewise.
28461 * util/grub-pe2elf.c: Likewise.
28462 * util/grub-probe.c: Likewise.
28463 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28464 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28465 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28466
28467 * util/misc.c: Include `"progname.h"'.
28468 (progname): Remove variable.
28469 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28470
28471 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
28472
28473 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28474 printf and print a newline after the menuentry header line.
28475 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28476
28477 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
28478
28479 autoconf >= 2.60 support $(localedir).
28480
28481 * INSTALL: Note that autoconf 2.60 is required.
28482 * configure.ac (AC_PREREQ): Bump to 2.60.
28483 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28484 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28485
28486 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28487
28488 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28489 aclocal is run.
28490
28491 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28492
28493 * normal/main.c (grub_normal_read_line): Fix off-by-one
28494 buffer overflow.
28495
28496 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28497
28498 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28499 "parser.grub" in grub_command_execute() call.
28500
28501 2009-11-24 Carles Pina i Estany <carles@pina.cat>
28502
28503 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28504 * conf/i386-efi.rmk: Likewise.
28505 * conf/i386-ieee1275.rmk: Likewise.
28506 * conf/i386-pc.rmk: Likewise.
28507 * conf/powerpc-ieee1275.rmk: Likewise.
28508 * conf/sparc64-ieee1275.rmk: Likewise.
28509 * conf/x86_64-efi.rmk: Likewise.
28510 * gettext/gettex.c: Include <grub/i18n.h>.
28511 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28512 here ...
28513 * include/grub/i18n.h: ... to here
28514 * include/grub/i18n.h: ... to here.
28515 * kern/misc.c: Include <grub/i18n.h>
28516 (grub_gettext_dummy): Move above user.
28517
28518 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
28519
28520 * util/Makefile.in (install-local): Convert a `for' into a normal
28521 shell expansion.
28522
28523 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28524
28525 * autogen.sh: Add automake call.
28526 * config.guess: Remove.
28527 * config.sub: Likewise.
28528 * install-sh: Likewise.
28529
28530 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
28531
28532 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28533
28534 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
28535
28536 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28537 function to a normal shell `for'.
28538
28539 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
28540
28541 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28542
28543 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
28544
28545 * util/grub-mkrelpath.c: New file.
28546 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28547 (grub_mkrelpath_SOURCES): New variable.
28548 * include/grub/util/misc.h: New function prototype.
28549 * util/misc.c (make_system_path_relative_to_its_root): New function.
28550
28551 * util/grub-mkconfig_lib.in (bindir): New variable.
28552 (grub_mkrelpath): Likewise.
28553 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28554
28555 * util/probe.c (probe): Make the file path relative to its root.
28556 Change a info message to use the GRUB path. Enable again the
28557 check if we can read the file with GRUB facilities.
28558
28559 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28560 to its root.
28561
28562 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
28563
28564 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28565 platform.
28566
28567 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
28568
28569 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28570 strncmp().
28571
28572 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
28573
28574 * util/getroot.c (grub_util_is_dmraid): New function.
28575 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28576 devices as normal ones, not as LVM.
28577
28578 2009-11-23 Carles Pina i Estany <carles@pina.cat>
28579
28580 * conf/common.rmk: Add grub-gettext_lib target and updates
28581 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28582 LDFLAGS.
28583 * gettext/gettext.c: New file. (Reads mo files).
28584 * include/grub/file.h (grub_file_pread): New prototype.
28585 * include/grub/i18n.h (_): New prototype.
28586 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28587 prototypes.
28588 * kern/misc.c (grub_gettext_dummy): New function.
28589 * normal/menu_text.c: Include <grub/i18n.h>.
28590 * normal/menu_text.c (print_timeout): Gettexttize string.
28591 * normal/menu_text.c (print_message): Gettexttize string.
28592 * po/POTFILES: Add `normal/menu_text.c'.
28593 * po/ca.po: Add new translations.
28594 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28595 gettext module and defines locale_dir and lang in grub.cfg.
28596 * NEWS: Add gettext support.
28597
28598 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28599
28600 * util/hostdisk.c: Include `<grub/i18n.h>'.
28601 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
28602 (make_device_name): Rewrite using asprintf.
28603 (convert_system_partition_to_system_disk): Replace 0 with NULL.
28604 (find_system_device): If a device is not found, generate one just
28605 by reusing the OS path name.
28606 (read_device_map): Make it permissible for device.map not to exist.
28607
28608 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28609
28610 * script/sh/execute.c: Move from here ...
28611 * script/execute.c: ... to here. Update all users.
28612 * script/sh/function.c: Move from here ...
28613 * script/function.c: ... to here. Update all users.
28614 * script/sh/lexer.c: Move from here ...
28615 * script/lexer.c: ... to here. Update all users.
28616 * script/sh/main.c: Move from here ...
28617 * script/main.c: ... to here. Update all users.
28618 * script/sh/parser.y: Move from here ...
28619 * script/parser.y: ... to here. Update all users.
28620 * script/sh/script.c: Move from here ...
28621 * script/script.c: ... to here. Update all users.
28622
28623 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28624
28625 * configure.ac: Detect all `emu' platforms. Define
28626 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
28627 --enable-grub-emu logic. Disable include/grub/machine
28628 symlink on `emu' platforms.
28629
28630 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
28631 * gensymlist.sh.in: Likewise.
28632
28633 * include/grub/i386/coreboot/machine.h: Remove file.
28634 * include/grub/i386/efi/machine.h: Likewise.
28635 * include/grub/i386/ieee1275/machine.h: Likewise.
28636 * include/grub/i386/pc/machine.h: Likewise.
28637 * include/grub/i386/qemu/machine.h: Likewise.
28638 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28639 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28640 * include/grub/x86_64/efi/machine.h: Likewise.
28641
28642 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
28643 * commands/halt.c: Likewise.
28644 * commands/reboot.c: Likewise.
28645 * include/grub/autoefi.h: Likewise.
28646 * include/grub/i386/at_keyboard.h: Likewise.
28647 * include/grub/i386/kernel.h: Likewise.
28648 * include/grub/i386/loader.h: Likewise.
28649 * include/grub/i386/pc/memory.h: Likewise.
28650 * kern/dl.c: Likewise.
28651 * kern/i386/coreboot/init.c: Likewise.
28652 * loader/i386/bsd.c: Likewise.
28653 * loader/i386/linux.c: Likewise.
28654 * loader/multiboot_loader.c: Likewise.
28655 * term/i386/pc/serial.c: Likewise.
28656 * term/usb_keyboard.c: Likewise.
28657
28658 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
28659 `<grub/machine/machine.h>'
28660 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
28661 * util/misc.c: Remove `<grub/machine/machine.h>' and
28662 `<grub/machine/time.h>'.
28663
28664 * Makefile.in (enable_grub_emu): Remove variable.
28665 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
28666
28667 * conf/any-emu.rmk: New file.
28668 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
28669 (grub_emu_init.c): Move from here ...
28670 * conf/any-emu.rmk: ... to here.
28671
28672 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
28673 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
28674 * conf/any-emu.rmk: ... to here.
28675
28676 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28677
28678 * include/grub/parser.h (grub_parser_register): Document need
28679 of `name' parameter.
28680 * normal/main.c (grub_normal_read_line): Simplify prompt string.
28681 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
28682 "sh" to "grub".
28683
28684 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28685
28686 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
28687 `$(XGETTEXT)'.
28688 * include/grub/i18n.h (N_): New macro.
28689 * util/mkisofs/mkisofs.h: Likewise.
28690 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
28691 around N_().
28692 (usage): Use gettext() to translate help strings when printing them.
28693
28694 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28695
28696 Based on patch from Bean
28697 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28698
28699 * video/efi_fb.c: New file.
28700 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
28701 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28702 variables.
28703 * conf/x86_64-efi.rmk: Likewise.
28704
28705 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
28706
28707 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
28708 * util/i386/pc/grub-setup.c: Likewise.
28709
28710 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
28711
28712 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
28713 <hurd/fs.h>
28714 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
28715 file_get_storage_info to implement grub_guess_root_device.
28716
28717 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
28718
28719 * Makefile.in (target): Use make's builtin $(shell) function
28720 instead of calling directly $(SHELL) to create the locale directories,
28721 inside the $(foreach) function.
28722
28723 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
28724
28725 * util/grub-mkrescue.in: Print an error and usage if output option
28726 has not been given.
28727
28728 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
28729
28730 Patch from Loïc Minier <loic.minier@ubuntu.com>.
28731 * util/grub.d/30_os-prober.in: Cope with Linux entries where
28732 root and /boot are on different devices.
28733
28734 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28735
28736 Fix build for srcdir != objdir.
28737
28738 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
28739 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
28740 $(srcdir).
28741 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
28742 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
28743 reference for input.
28744
28745 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28746
28747 * util/grub-mkrescue.in: Use source directory direcly (without copiing
28748 or hardlinking it). Remove -J option, Joliet is not compatible with
28749 multiple source directories.
28750
28751 2009-11-21 Carles Pina i Estany <carles@pina.cat>
28752 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28753
28754 * util/grub-mkrescue.in: Recognize `--override-directory' option.
28755 (process_input_dir): New function. Process an arbitrary input
28756 directory.
28757 Misc adjustments to support both "override mode" and system-wide mode.
28758
28759 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
28760
28761 * configure.ac (UNIFONT_BDF): Rename to ...
28762 (FONT_SOURCE): ... this. Update all users.
28763
28764 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
28765
28766 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
28767 to the list of unifont files to look for.
28768
28769 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28770
28771 Patch from Joe Auricchio <jauricchio@gmail.com>
28772 * commands/minicmd.c (grub_mini_cmd_clear): New function.
28773 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
28774 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
28775
28776 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
28777
28778 * Makefile.in (install-local): Add a missing backslash.
28779
28780 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
28781
28782 * include/grub/x86_64/io.h: New file.
28783
28784 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28785
28786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
28787 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
28788 Include `"progname.h"'.
28789 (main): Initialize gettext.
28790 * util/i386/pc/grub-setup.c: Gettexttize.
28791 * util/i386/pc/grub-mkimage.c: Likewise.
28792
28793 * Makefile.in (po/*.po): Redefine as ...
28794 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
28795
28796 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
28797
28798 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28799
28800 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
28801 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
28802 (program_name): Remove.
28803 (main): Initialize gettext support.
28804 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
28805 Include `<libintl.h>'.
28806 (_): New macro.
28807
28808 * util/mkisofs/eltorito.c: Gettexttize.
28809 * util/mkisofs/joliet.c: Likewise.
28810 * util/mkisofs/mkisofs.c: Likewise.
28811 * util/mkisofs/multi.c: Likewise.
28812 * util/mkisofs/rock.c: Likewise.
28813 * util/mkisofs/tree.c: Likewise.
28814 * util/mkisofs/write.c: Likewise.
28815
28816 * po/POTFILES: Update with new files.
28817
28818 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28819
28820 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
28821 * util/mkisofs/iso9660.h: Likewise.
28822 * util/mkisofs/joliet.c: Likewise.
28823 * util/mkisofs/mkisofs.c: Likewise.
28824 * util/mkisofs/mkisofs.h: Likewise.
28825 * util/mkisofs/rock.c: Likewise.
28826 * util/mkisofs/tree.c: Likewise.
28827 * util/mkisofs/write.c: Likewise.
28828
28829 * util/mkisofs/eltorito.c (rcsid): Remove.
28830 * util/mkisofs/hash.c: Likewise.
28831 * util/mkisofs/joliet.c: Likewise.
28832 * util/mkisofs/name.c: Likewise.
28833 * util/mkisofs/rock.c: Likewise.
28834 * util/mkisofs/tree.c: Likewise.
28835 * util/mkisofs/write.c: Likewise.
28836
28837 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28838
28839 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
28840 instead of static allocation.
28841 * util/mkisofs/match.h: Likewise.
28842
28843 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28844
28845 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
28846 and `util/grub.d/10_linux.in'.
28847 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
28848 translatable Shell files.
28849
28850 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28851
28852 * Makefile.in ($(srcdir)/aclocal.m4): New target.
28853
28854 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28855
28856 * INSTALL: Document Automake is needed for bootstrap.
28857 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
28858 * util/grub.d/10_kfreebsd.in (bindir): New variable.
28859 Add gettext initialization.
28860 (kfreebsd_entry): Make menuentry output translatable.
28861
28862 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28863
28864 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
28865 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
28866 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
28867 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
28868 (LINGUAS): Auto-generate using `po/LINGUAS'.
28869 * po/LINGUAS: New file.
28870
28871 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28872
28873 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
28874 other things).
28875 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
28876 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
28877 bindtextdomain() calls for gettext initialization.
28878
28879 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28880
28881 * gnulib/progname.c: New file (imported from Gnulib).
28882 * gnulib/progname.h: Likewise.
28883 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28884 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
28885 (usage): Replace `progname' with `program_name'.
28886 (main): Use set_program_name() for program name initialization.
28887
28888 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28889
28890 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
28891 from here ...
28892 * Makefile.in (CPPFLAGS): ... to here.
28893
28894 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28895
28896 * aclocal.m4: Move from here ...
28897 * acinclude.m4: ... to here.
28898 * autogen.sh: Add call to `aclocal'.
28899 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
28900
28901 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28902
28903 * Makefile.in (CLEANFILES): Add `po/*.mo'.
28904 (LINGUAS): New variable.
28905 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
28906 (install-local): Install MO files.
28907 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
28908 * include/grub/i18n.h: New file.
28909 * po/POTFILES: New file.
28910 * po/ca.po: New file.
28911 * util/grub.d/10_linux.in (bindir): New variable.
28912 Add gettext initialization.
28913 (linux_entry): Make menuentry output translatable.
28914 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
28915 (usage): Make --help output translatable.
28916 (main): Initialize gettext.
28917
28918 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28919
28920 * import_gcry.py: New file (written by Vladimir with minor
28921 adjustments).
28922 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
28923 ciphers.
28924 * INSTALL: Document that Python is required for bootstrap.
28925
28926 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28927
28928 Import ciphers from libgcrypt 1.4.4.
28929
28930 * lib/libgcrypt/cipher/ChangeLog
28931 * lib/libgcrypt/cipher/ac.c
28932 * lib/libgcrypt/cipher/arcfour.c
28933 * lib/libgcrypt/cipher/bithelp.h
28934 * lib/libgcrypt/cipher/blowfish.c
28935 * lib/libgcrypt/cipher/camellia-glue.c
28936 * lib/libgcrypt/cipher/camellia.c
28937 * lib/libgcrypt/cipher/camellia.h
28938 * lib/libgcrypt/cipher/cast5.c
28939 * lib/libgcrypt/cipher/cipher.c
28940 * lib/libgcrypt/cipher/crc.c
28941 * lib/libgcrypt/cipher/des.c
28942 * lib/libgcrypt/cipher/dsa.c
28943 * lib/libgcrypt/cipher/ecc.c
28944 * lib/libgcrypt/cipher/elgamal.c
28945 * lib/libgcrypt/cipher/hash-common.c
28946 * lib/libgcrypt/cipher/hash-common.h
28947 * lib/libgcrypt/cipher/hmac-tests.c
28948 * lib/libgcrypt/cipher/md.c
28949 * lib/libgcrypt/cipher/md4.c
28950 * lib/libgcrypt/cipher/md5.c
28951 * lib/libgcrypt/cipher/primegen.c
28952 * lib/libgcrypt/cipher/pubkey.c
28953 * lib/libgcrypt/cipher/rfc2268.c
28954 * lib/libgcrypt/cipher/rijndael-tables.h
28955 * lib/libgcrypt/cipher/rijndael.c
28956 * lib/libgcrypt/cipher/rmd.h
28957 * lib/libgcrypt/cipher/rmd160.c
28958 * lib/libgcrypt/cipher/rsa.c
28959 * lib/libgcrypt/cipher/seed.c
28960 * lib/libgcrypt/cipher/serpent.c
28961 * lib/libgcrypt/cipher/sha1.c
28962 * lib/libgcrypt/cipher/sha256.c
28963 * lib/libgcrypt/cipher/sha512.c
28964 * lib/libgcrypt/cipher/tiger.c
28965 * lib/libgcrypt/cipher/twofish.c
28966 * lib/libgcrypt/cipher/whirlpool.c
28967
28968 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28969
28970 Fix build for systems without error().
28971
28972 * gnulib/error.c: New file (imported from Gnulib).
28973 * gnulib/error.h: Likewise.
28974 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
28975 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
28976 (this variable is now used by error()).
28977
28978 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
28979
28980 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
28981 instead of relying that char is signed.
28982
28983 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
28984
28985 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
28986 blocksize different from specified.
28987 (grub_pxefs_read): Likewise.
28988
28989 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
28990
28991 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
28992
28993 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
28994 (grub_ata_readwrite): Likewise. Update 2 format strings.
28995 (grub_atapi_read): Likewise.
28996
28997 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
28998 * conf/i386.rmk (pkglib_MODULES): ... to here ...
28999 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29000 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29001 (ata_mod_LDFLAGS): Move from here ...
29002 * conf/i386.rmk: ... to here ...
29003 * conf/x86_64-efi.rmk: ... and here.
29004 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29005 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29006
29007 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29008
29009 Relicense multiboot.h, with RMS' blessing.
29010
29011 * include/multiboot.h: Change to X11 license.
29012
29013 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29014
29015 Support --version in grub-mkisofs.
29016
29017 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29018 (OPTION_VERSION): New macro.
29019 (ld_options): Recognize --version.
29020 (usage): Move `program_name' from here ...
29021 (program_name): ... to here. Add `static' qualifier.
29022 (main): Recognize `OPTION_VERSION'.
29023
29024 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
29025
29026 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29027 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29028
29029 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29030
29031 Fix help2man generation for mkisofs.
29032
29033 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29034 (usage): Send output to stdout (rather than stderr).
29035
29036 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29037
29038 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29039 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29040 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29041 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29042 (bin_SCRIPTS): Add `grub-mkfloppy'.
29043 (grub_mkfloppy_SOURCES): New variable.
29044
29045 * util/grub-mkrescue.in: New file.
29046 * util/i386/pc/grub-mkfloppy.in: New file.
29047
29048 * util/i386/coreboot/grub-mkrescue.in: Remove.
29049 * util/i386/pc/grub-mkrescue.in: Remove.
29050
29051 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29052
29053 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29054 from here ...
29055 * include/multiboot.h (struct multiboot_header): ... to here. Update
29056 all users.
29057 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29058 from here ...
29059 * include/multiboot.h (struct multiboot_info): ... to here. Update
29060 all users.
29061 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29062 from here ...
29063 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29064 Update all users.
29065 * include/grub/multiboot.h (struct grub_mod_list): Move
29066 from here ...
29067 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29068 Update all users.
29069
29070 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29071
29072 * include/multiboot2.h (multiboot_word): Rename from this ...
29073 (multiboot2_word): ... to this. Update all users.
29074 (multiboot_header): Rename from this ...
29075 (multiboot2_header): ... to this. Update all users.
29076 (multiboot_tag_header): Rename from this ...
29077 (multiboot2_tag_header): ... to this. Update all users.
29078 (multiboot_tag_start): Rename from this ...
29079 (multiboot2_tag_start): ... to this. Update all users.
29080 (multiboot_tag_name): Rename from this ...
29081 (multiboot2_tag_name): ... to this. Update all users.
29082 (multiboot_tag_module): Rename from this ...
29083 (multiboot2_tag_module): ... to this. Update all users.
29084 (multiboot_tag_memory): Rename from this ...
29085 (multiboot2_tag_memory): ... to this. Update all users.
29086 (multiboot_tag_unused): Rename from this ...
29087 (multiboot2_tag_unused): ... to this. Update all users.
29088 (multiboot_tag_end): Rename from this ...
29089 (multiboot2_tag_end): ... to this. Update all users.
29090
29091 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29092
29093 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29094 this platform we should support Multiboot1 first.
29095
29096 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29097 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29098 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29099
29100 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29101
29102 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29103 of write calls (converting them to fwrite() if they aren't already).
29104 (get_torito_desc): Likewise.
29105 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29106
29107 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29108
29109 * util/i386/pc/grub-install.in: Move from here ...
29110 * util/grub-install.in: ... to here. Update all users.
29111
29112 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
29113
29114 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29115
29116 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29117
29118 Support for El Torito without floppy emulation.
29119
29120 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29121 (init_boot_catalog): Improve error handling.
29122 (get_torito_desc): Don't use floppy emulation unless requested by
29123 user. Patch boot information table when requested via
29124 `-boot-info-table'.
29125 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29126 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29127 (use_boot_info_table): New variables.
29128 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29129 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29130 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29131 `--eltorito-emul-floppy'.
29132 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29133 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29134 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29135 (use_boot_info_table, get_731): New prototypes.
29136 * util/mkisofs/write.c (get_731): New function.
29137
29138 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
29139
29140 Fix the generation of the man page.
29141
29142 * util/pc/i386/grub-install.in: Source
29143 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29144
29145 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29146
29147 Large file support for grub-mkisofs.
29148
29149 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29150 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29151 (session_start): Upgrade type to `uint64_t'. Update all users.
29152 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29153 (struct directory_entry): Upgrade type of `starting_block' and
29154 `size' to `uint64_t'. Update all users.
29155 (struct deferred): Remove unused structure.
29156 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29157 Update all users.
29158 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29159 file is larger than `UINT32_MAX'.
29160 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29161 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29162 return value.
29163 (struct deferred_write): Upgrade type of `extent' and `size' to
29164 `uint64_t'. Update all users.
29165 (last_extent_written): Upgrade type to `uint64_t'. Update all
29166 users.
29167 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29168 Update all users. Upgrade type of `remain' to `int64_t' and
29169 `use' to `size_t'. Use error() to handle fread() errors.
29170 (write_files): Rely on write_one_file() rather than calling
29171 xfwrite() directly.
29172
29173 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
29174
29175 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29176
29177 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29178
29179 * util/mkisofs/fnmatch.c: Remove.
29180 * util/mkisofs/getopt1.c: Likewise.
29181 * util/mkisofs/getopt.c: Likewise.
29182 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29183 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29184 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29185 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29186 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29187
29188 * configure.ac: Detect `mingw32msvc' host_os.
29189 Check for lstat(), getuid() and getgid().
29190
29191 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29192 instances of `u_char' with `uint8_t'.
29193
29194 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29195 [!HAVE_GETUID] (getuid): New function (stub).
29196 [!HAVE_GETGID] (getgid): Likewise.
29197 [!HAVE_LSTAT] (lstat): Likewise.
29198 [!S_IROTH] (S_IROTH): New macro (dummy).
29199 [!S_IRGRP] (S_IRGRP): Likewise.
29200
29201 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29202
29203 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29204 conditional expression).
29205
29206 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29207
29208 Import from Gnulib.
29209
29210 * gnulib/fnmatch.c: New file.
29211 * gnulib/fnmatch.h: Likewise.
29212 * gnulib/fnmatch_loop.c: Likewise.
29213 * gnulib/getopt.c: Likewise.
29214 * gnulib/getopt.h: Likewise.
29215 * gnulib/getopt1.c: Likewise.
29216 * gnulib/getopt_int.h: Likewise.
29217 * gnulib/gettext.h: Likewise.
29218
29219 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29220
29221 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29222 * normal/handler.c (read_handler_list): Likewise.
29223
29224 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29225
29226 Misc cleanup.
29227
29228 * kern/command.c (grub_register_command_prio): Use
29229 grub_zalloc() instead of explicitly zeroing data.
29230 * kern/list.c: Include `<grub/mm.h>'.
29231 (grub_named_list_find): Replace `0' with `NULL'.
29232 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29233 (fs_module_list): Change type to `grub_named_list_t'. Update all
29234 users.
29235 * normal/dyncmd.c (read_command_list): Add space between function
29236 call and parenthesis.
29237 * normal/handler.c (read_handler_list): Likewise.
29238
29239 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29240
29241 * normal/auth.c (punishment_delay): Moved from here ...
29242 (grub_auth_strcmp): ... to here (inside function).
29243
29244 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29245
29246 * include/grub/list.h (struct grub_named_list): Remove `const'
29247 qualifier from `name'.
29248 (struct grub_prio_list): Likewise.
29249
29250 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 * normal/auth.c: Include `<grub/time.h>'.
29253 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29254
29255 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29256
29257 * normal/auth.c (punishment_delay): New variable.
29258 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29259 (grub_auth_check_authentication): Punish failed login attempts with
29260 an incremental (2^N) delay.
29261
29262 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29263
29264 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29265 path with $(srcdir).
29266
29267 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29270
29271 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29272
29273 * util/i386/coreboot/grub-mkrescue.in: New file.
29274 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29275 variables.
29276
29277 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29278 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29279 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29280 requirements.
29281 * util/mkisofs/defaults.h: New file.
29282 * util/mkisofs/eltorito.c: Likewise.
29283 * util/mkisofs/exclude.h: Likewise.
29284 * util/mkisofs/fnmatch.c: Likewise.
29285 * util/mkisofs/getopt.c: Likewise.
29286 * util/mkisofs/getopt1.c: Likewise.
29287 * util/mkisofs/hash.c: Likewise.
29288 * util/mkisofs/include/fctldefs.h: Likewise.
29289 * util/mkisofs/include/mconfig.h: Likewise.
29290 * util/mkisofs/include/prototyp.h: Likewise.
29291 * util/mkisofs/include/statdefs.h: Likewise.
29292 * util/mkisofs/iso9660.h: Likewise.
29293 * util/mkisofs/joliet.c: Likewise.
29294 * util/mkisofs/match.c: Likewise.
29295 * util/mkisofs/match.h: Likewise.
29296 * util/mkisofs/mkisofs.c: Likewise.
29297 * util/mkisofs/mkisofs.h: Likewise.
29298 * util/mkisofs/multi.c: Likewise.
29299 * util/mkisofs/name.c: Likewise.
29300 * util/mkisofs/rock.c: Likewise.
29301 * util/mkisofs/tree.c: Likewise.
29302 * util/mkisofs/write.c: Likewise.
29303
29304 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29305
29306 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29307 being insecure.
29308
29309 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29310
29311 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29312 `grub-mkimage' (and use $0 when possible).
29313
29314 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29315
29316 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29317 error message for excessively large memory map.
29318
29319 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29320
29321 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29322 executable bit.
29323
29324 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29325
29326 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29327 message for coreboot users.
29328
29329 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29330
29331 Fix build with GNU gold.
29332
29333 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29334 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29335 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29336 link addresses.
29337 * aclocal.m4: Likewise.
29338
29339 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
29340
29341 * configure.ac (AC_PREREQ): Bump to 2.59d.
29342 * INSTALL: Make it more clear when Autoconf and Ruby are
29343 needed and when to run `./autogen.sh'.
29344
29345 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29346
29347 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29348 OSes.
29349
29350 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29351
29352 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29353
29354 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29355
29356 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29357 giving it to GNU Mach.
29358
29359 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29360
29361 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29362 GNU partition number to get internal GRUB partition number.
29363
29364 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29365
29366 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29367 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29368
29369 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29370
29371 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29372 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29373 case.
29374
29375 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
29376
29377 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29378
29379 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29380
29381 Fix build problem.
29382
29383 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29384 `-isystem=$(srcdir)/include'.
29385
29386 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29387
29388 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29389 checked (grub-install doesn't currently rely on it).
29390
29391 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29392
29393 Revert SVN r2660.
29394
29395 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29396 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29397 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29398 * conf/i386-ieee1275.rmk: Likewise.
29399 * conf/i386-pc.rmk: Likewise.
29400 * conf/powerpc-ieee1275.rmk: Likewise.
29401 * conf/sparc64-ieee1275.rmk: Likewise.
29402 * conf/x86_64-efi.rmk: Likewise.
29403
29404 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29405
29406 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29407
29408 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29409
29410 * include/grub/misc.h: Stop checking for APPLE_CC.
29411
29412 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29413
29414 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29415 doesn't cause an infinite call loop.
29416
29417 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
29418
29419 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29420 strings.
29421
29422 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29423
29424 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29425 variable.
29426 * Makefile.in: Likewise.
29427
29428 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29429
29430 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29431
29432 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29433
29434 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29435
29436 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29437
29438 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29439
29440 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29441
29442 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29443 from here ...
29444 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29445
29446 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29447
29448 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29449 in $(MAKEINFO) invocation. This makes it clear in output that
29450 errors are being ignored.
29451
29452 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29453
29454 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29455 from here ...
29456 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29457 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29458 * conf/i386-ieee1275.rmk: Likewise.
29459 * conf/i386-pc.rmk: Likewise.
29460 * conf/powerpc-ieee1275.rmk: Likewise.
29461 * conf/sparc64-ieee1275.rmk: Likewise.
29462 * conf/x86_64-efi.rmk: Likewise.
29463
29464 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
29465
29466 * util/grub-editenv.c (main): If only a command is given, use
29467 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29468 (usage): FILENAME is now optional and has a default.
29469
29470 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
29471
29472 Improve grub-mkconfig performance when there are several menu
29473 entries on a single filesystem.
29474
29475 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29476 prepare_grub_to_access_device.
29477 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29478 * util/grub.d/30_os-prober.in: Likewise.
29479
29480 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 * util/grub.d/10_freebsd.in: Remove.
29483 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29484 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29485
29486 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29487
29488 * docs/grub.cfg: Fix example usage of *BSD loaders.
29489
29490 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29491
29492 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29493 grub_util_error() call.
29494
29495 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29496
29497 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29498 `reserved_first_sector' member.
29499 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29500 `reserved_first_sector' to 1.
29501 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29502 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29503 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29504 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29505 filesystems which begin at first sector.
29506 (options): New option --skip-fs-probe.
29507 (main): Handle --skip-fs-probe and pass it to setup().
29508
29509 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29510
29511 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29512 (memset): Fix function prototype.
29513
29514 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29515 2009-10-25 Vasily Averin <vvs@parallels.com>
29516
29517 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29518 `dirent.direntlen == 0'.
29519
29520 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29521
29522 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29523 `cpio'.
29524 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29525
29526 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29527
29528 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29529 `__trampoline_setup' and `__ucmpdi2'.
29530 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29531 that libgcc provides.
29532
29533 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29534
29535 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29536 * include/grub/sparc64/libgcc.h (memset): Likewise.
29537 * include/grub/misc.h (memset, memcmp): New function prototypes.
29538
29539 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29540
29541 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29542 `cpio'.
29543 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29544
29545 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29546
29547 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29548 * docs/grub.cfg: Compensate for recent change in multiboot
29549 loader (since 2009-08-14 it won't pass filename to payload).
29550 * util/grub.d/10_hurd.in: Likewise.
29551
29552 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
29553
29554 * config.guess: Update to latest version from config git
29555 repository.
29556 * config.sub: Likewise.
29557
29558 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29559
29560 Fix build on sparc64.
29561
29562 * configure.ac: Perform checks for libgcc symbols before
29563 adding `-nostdlib' to LDFLAGS.
29564
29565 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29566
29567 Let user specify OpenBSD root device.
29568
29569 * loader/i386/bsd.c (openbsd_root): New variable.
29570 (openbsd_opts): New option 'root'.
29571 (OPENBSD_ROOT_ARG): New macro.
29572 (grub_openbsd_boot): Use 'openbsd_root'.
29573 (grub_cmd_openbsd): Fill 'openbsd_root'.
29574
29575 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29576
29577 * NEWS: Misc adjustments.
29578
29579 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29580
29581 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29582
29583 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29584
29585 * configure.ac: Bump version to 1.97.
29586
29587 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
29588
29589 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29590 -mno-3dnow on x86 architectures. Some toolchains enable these
29591 features by default, but they rely on registers that aren't enabled
29592 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29593
29594 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29595
29596 Make entry text a bit more readable.
29597
29598 * util/grub.d/10_linux.in: Add `with' before `Linux'.
29599
29600 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29601
29602 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
29603
29604 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29605
29606 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
29607 operations.
29608
29609 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29610
29611 * configure.ac: Add missing dollar.
29612
29613 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29614
29615 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
29616
29617 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
29618 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
29619 exports.
29620 * include/grub/sparc64/libgcc.h: Likewise. Use
29621 preprocessor conditionals.
29622
29623 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29624
29625 * conf/common.rmk (grub-dumpbios): Remove rule.
29626 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
29627 * util/grub-dumpbios.in: Remove file.
29628
29629 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29630
29631 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
29632 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
29633
29634 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
29635 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
29636 users.
29637
29638 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
29639 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
29640 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
29641 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
29642 users.
29643
29644 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
29645
29646 * term/tparm.c: Switch to GPLv3.
29647
29648 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29649
29650 * include/grub/i386/cpuid.h: Add header protection.
29651
29652 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29653
29654 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
29655
29656 * include/grub/i386/cpuid.h: New file.
29657 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
29658 (has_longmode): Rename to ...
29659 (grub_cpuid_has_longmode): ... this. Update all users. Remove
29660 `static' attribute.
29661 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
29662 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
29663 on a CPU that doesn't implement AMD64 instruction set.
29664
29665 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
29666
29667 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
29668 that version.texi is rebuilt on version number changes.
29669
29670 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
29671
29672 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
29673 Fixes bug #27602.
29674
29675 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
29676
29677 * util/i386/pc/grub-install.in: Source
29678 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
29679 that the --grub-probe option will work.
29680 * util/sparc64/ieee1275/grub-install.in: Likewise.
29681
29682 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
29683
29684 * configure.ac: Bump version to 1.97~beta4.
29685
29686 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
29687
29688 Resync grub-mkdevicemap in x86_64-efi.
29689
29690 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
29691 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
29692 `util/devicemap.c'.
29693
29694 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
29695
29696 * util/grub-editenv.c (create_envblk_file): Write new block with a
29697 .new suffix and then rename it into place, to ensure atomic
29698 creation.
29699
29700 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
29701
29702 Do not automatically install headers.
29703
29704 * Makefile.in (include_DATA): Remove. Update all users.
29705
29706 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
29707
29708 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
29709 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
29710
29711 * util/osdetect.lua: Remove.
29712 * script/lua/lauxlib.c: Likewise.
29713 * script/lua/ldebug.c: Likewise.
29714 * script/lua/grub_main.c: Likewise.
29715 * script/lua/lauxlib.h: Likewise.
29716 * script/lua/ldebug.h: Likewise.
29717 * script/lua/ltablib.c: Likewise.
29718 * script/lua/liolib.c: Likewise.
29719 * script/lua/lstrlib.c: Likewise.
29720 * script/lua/lualib.h: Likewise.
29721 * script/lua/ldo.c: Likewise.
29722 * script/lua/ldump.c: Likewise.
29723 * script/lua/ldo.h: Likewise.
29724 * script/lua/loslib.c: Likewise.
29725 * script/lua/lundump.c: Likewise.
29726 * script/lua/grub_lib.c: Likewise.
29727 * script/lua/ldblib.c: Likewise.
29728 * script/lua/lundump.h: Likewise.
29729 * script/lua/lmem.c: Likewise.
29730 * script/lua/grub_lib.h: Likewise.
29731 * script/lua/lmathlib.c: Likewise.
29732 * script/lua/lstate.c: Likewise.
29733 * script/lua/ltm.c: Likewise.
29734 * script/lua/lvm.c: Likewise.
29735 * script/lua/lmem.h: Likewise.
29736 * script/lua/lstate.h: Likewise.
29737 * script/lua/ltm.h: Likewise.
29738 * script/lua/ltable.c: Likewise.
29739 * script/lua/lvm.h: Likewise.
29740 * script/lua/llex.c: Likewise.
29741 * script/lua/lgc.c: Likewise.
29742 * script/lua/grub_lua.h: Likewise.
29743 * script/lua/loadlib.c: Likewise.
29744 * script/lua/lfunc.c: Likewise.
29745 * script/lua/lopcodes.c: Likewise.
29746 * script/lua/lparser.c: Likewise.
29747 * script/lua/ltable.h: Likewise.
29748 * script/lua/llex.h: Likewise.
29749 * script/lua/lgc.h: Likewise.
29750 * script/lua/lfunc.h: Likewise.
29751 * script/lua/lbaselib.c: Likewise.
29752 * script/lua/lopcodes.h: Likewise.
29753 * script/lua/lparser.h: Likewise.
29754 * script/lua/lzio.c: Likewise.
29755 * script/lua/linit.c: Likewise.
29756 * script/lua/lobject.c: Likewise.
29757 * script/lua/llimits.h: Likewise.
29758 * script/lua/lstring.c: Likewise.
29759 * script/lua/lzio.h: Likewise.
29760 * script/lua/lapi.c: Likewise.
29761 * script/lua/lcode.c: Likewise.
29762 * script/lua/lua.h: Likewise.
29763 * script/lua/lobject.h: Likewise.
29764 * script/lua/lstring.h: Likewise.
29765 * script/lua/lapi.h: Likewise.
29766 * script/lua/lcode.h: Likewise.
29767 * script/lua/luaconf.h: Likewise.
29768
29769 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
29770
29771 * docs/grub.texi (Command-line and menu entry commands): Document
29772 date and echo commands.
29773
29774 2009-09-24 Pavel Roskin <proski@gnu.org>
29775
29776 * include/grub/kernel.h (struct grub_module_header): Remove
29777 `grub_module_header_types'. Make `type' unsigned. Make `size'
29778 32-bit on all platforms.
29779 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
29780 8-bit field. Use grub_host_to_target32() for `size'.
29781 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
29782 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
29783 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
29784
29785 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29786
29787 Fix "lost keypress" bug in at_keyboard.
29788
29789 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
29790 Checks for readyness of input buffer (without flushing it).
29791 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
29792 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
29793
29794 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29795
29796 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
29797 size check within GRUB_MACHINE_PCBIOS section.
29798
29799 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29800
29801 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
29802 return value.
29803 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
29804 KEYBOARD_ISREADY check.
29805 (grub_at_keyboard_checkkey): Rename to ...
29806 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
29807 Remove gratuitous cast.
29808
29809 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
29810
29811 * configure.ac: Call AC_PROG_MKDIR_P.
29812 * Makefile.in (docs/stamp-vti): Create docs directory. Create
29813 version.texi in $(builddir) rather than $(srcdir).
29814 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
29815 to makeinfo's @include search path.
29816
29817 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
29818
29819 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
29820
29821 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
29822
29823 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
29824 for `*.dpkg-new'.
29825
29826 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
29827
29828 Build info documentation. Some code borrowed from Automake.
29829
29830 * configure.ac: Check for makeinfo.
29831 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
29832 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
29833 docs/version.texi.
29834 (MOSTLYCLEANFILES): Add vti.tmp.
29835 (docs/version.texi, docs/stamp-vti): Update automatically.
29836 (docs/grub.info): Build info documentation. Use --force and ignore
29837 errors for now.
29838 (all-local): Add $(INFOS).
29839 (install-local): Install info files.
29840 (uninstall): Uninstall info files.
29841 * docs/version.texi: Remove from revision control. This file is
29842 automatically generated on build now.
29843 * gendistlist.sh: Add `*.info'.
29844
29845 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
29846
29847 * kern/term.c: Fix indentation.
29848
29849 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
29850
29851 * util/hostdisk.c: Fix a comment.
29852
29853 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
29854
29855 Fix regression introduced in r2539.
29856
29857 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
29858 to 0xA1.
29859
29860 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
29861
29862 * util/grub.d/30_os-prober.in: Don't throw away stderr from
29863 os-prober. Under normal operation, it does not print anything to
29864 stderr; if it does, we need to debug it, and throwing away stderr
29865 makes that excessively difficult.
29866
29867 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
29868
29869 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
29870
29871 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29872
29873 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
29874 AC_LANG_PROGRAM from autoconf.
29875 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
29876 prototypes (fixes warning).
29877
29878 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
29879 `--disable-werror' was used.
29880
29881 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29882
29883 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
29884 uninitialized `lastaddr'.
29885
29886 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
29887
29888 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
29889
29890 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
29891
29892 * commands/test.c (get_fileinfo): Return immediately if
29893 grub_fs_probe fails.
29894
29895 2009-09-14 José Martínez <xosemp@gmail.com>
29896
29897 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
29898
29899 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
29900
29901 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
29902 output.
29903
29904 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
29905
29906 * configure.ac: Remove --enable-grub-pe2elf. Only build
29907 grub-pe2elf when needed by the build system itself.
29908 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
29909
29910 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29911
29912 * configure.ac: Bump version to 1.97~beta3.
29913 * docs/version.texi: Likewise.
29914
29915 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29916
29917 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
29918 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
29919 from here ...
29920 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
29921 (grub_linux_setup_video): ... to here (with some adjustments).
29922
29923 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29924
29925 Fix memory corruption issue (spotted by Colin Watson).
29926
29927 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
29928 causing returned size to be stored in an incorrect memory location.
29929 Fix use of uninitialized value when storing the returned size.
29930
29931 2009-09-12 Yves Blusseau <blusseau@zetam.org>
29932
29933 Change clean rules to properly remove files
29934
29935 * genmk.rb: add new clean rules
29936 * Makefile.in (clean): add the new targets
29937 (mostlyclean): likewise
29938
29939 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
29940
29941 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
29942 to grub_uint64_t.
29943 * fs/ntfs.c (init_file): Understand 64-bit sizes for
29944 non-resident files.
29945
29946 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
29947
29948 * configure.ac: Don't look for help2man when cross-compiling. Fixes
29949 part of bug #27349.
29950
29951 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
29952
29953 * util/grub-mkconfig.in: Make the created config mode 400 and
29954 print a warning if it fails.
29955
29956 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
29957
29958 * util/grub.d/40_custom.in: Ask user to type custom entries below
29959 comment, rather than below 'exec tail' line.
29960
29961 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
29962
29963 * util/grub.d/40_custom.in: Make sure that the explanatory text is
29964 visible in grub.cfg.
29965
29966 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
29967
29968 * util/grub.d/40_custom.in: Make it a little clearer how to use this
29969 file.
29970
29971 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
29972
29973 * docs/grub.cfg: Add an example menu entry for memtest86+.
29974
29975 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
29976
29977 * config.guess: Update to latest version from config git.
29978 * config.sub: Likewise.
29979
29980 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
29981
29982 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
29983 unknown-command case. Fixes bug #27320.
29984
29985 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
29986
29987 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
29988 `help' if the command exists.
29989
29990 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
29991
29992 * INSTALL: Require GCC 4.1.3 or later.
29993
29994 2009-09-06 Yves Blusseau <blusseau@zetam.org>
29995
29996 * Makefile.in (RMKFILES): add i386-qemu.rmk
29997 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
29998 $(srcdir)/stamp-h.in
29999
30000 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30001
30002 * util/grub-probe.c (probe): Comment out buggy codepath, which
30003 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30004 should be re-enabled after 1.97.
30005
30006 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
30007
30008 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30009 find searches for.
30010
30011 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30012
30013 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30014 unnecessary calls to grub_error.
30015
30016 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
30017
30018 * NEWS: Mention `keystatus' and Unicode fonts.
30019
30020 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30021
30022 * configure.ac: Bump version to 1.97~beta2.
30023 * docs/version.texi: Likewise.
30024
30025 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
30026
30027 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30028 containing unwind information in some cases where it previously did
30029 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30030 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30031 discussion.
30032
30033 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30034
30035 Embedding loadenv module into grub-emu
30036
30037 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30038 commands/loadenv.c
30039 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30040 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30041 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30043 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30044 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30045
30046 2009-09-03 Magnus Granberg <zorry@ume.nu>
30047
30048 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30049 include -fPIE in the default specs.
30050 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30051 to TARGET_CFLAGS.
30052
30053 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
30054
30055 * INSTALL: Note that GNU Bison 2.3 or later is required.
30056
30057 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
30058
30059 * kern/i386/pc/startup.S: Fix typo.
30060
30061 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30062
30063 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30064 according to GCS.
30065
30066 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
30067
30068 * docs/grub.texi (Naming convention): Describe one-based partition
30069 numbering.
30070 (Device syntax): Likewise.
30071 (File name syntax): Likewise.
30072 (Block list syntax): Likewise.
30073 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30074 menu.lst.
30075 (File name syntax): Likewise.
30076 (Command-line and menu entry commands): Document acpi, blocklist,
30077 crc, export, insmod, keystatus, ls, set, and unset commands.
30078
30079 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
30080
30081 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30082 to avoid implying that only one of --shift, --ctrl, or --alt may be
30083 used.
30084
30085 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
30086
30087 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30088 rather than comparing against S_IFREG, which will almost never work.
30089
30090 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30091
30092 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30093 (write_blocklists): Likewise.
30094
30095 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
30096
30097 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30098 argument to grub_printf.
30099
30100 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
30101
30102 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
30103 non GNU test.
30104
30105 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30106
30107 * kern/file.c (grub_file_read): Spelling fix
30108
30109 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30110
30111 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30112 loading of headers in some cases.
30113
30114 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30115
30116 * configure.ac: Bump version to 1.97~beta1.
30117 * docs/version.texi: Likewise.
30118
30119 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
30120
30121 * include/grub/i386/xnu.h: Add license header.
30122 include grub/err.h explicitly.
30123
30124 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30125
30126 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30127 to `ufs' in the vfs.root.mountfrom kernel parameter.
30128
30129 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30130
30131 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30132
30133 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30134 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30135
30136 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30137 `ARRAY_SIZE' macro.
30138
30139 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30140
30141 * kern/file.c (grub_file_read): Check offset.
30142 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30143 * fs/jfs.c (grub_jfs_read_file): Likewise.
30144 * fs/ntfs.c (grub_ntfs_read): Likewise.
30145 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30146 * fs/minix.c (grub_minix_read_file): Correct offset check.
30147 * fs/ufs.c (grub_ufs_read_file): Likewise.
30148
30149 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
30150
30151 * term/i386/pc/console.c (bios_data_area): Cast
30152 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30153
30154 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30155
30156 1-bit optimised blitters.
30157
30158 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30159 prototype.
30160 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30161 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30162 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30163 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30164 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30165 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30166 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30167 function.
30168 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30169 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30170 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30171 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30172 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30173 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30174 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30175 when possible.
30176 * video/video.c (grub_video_get_blit_format): Return
30177 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30178
30179 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
30180
30181 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30182 the first argument to grub_printf.
30183
30184 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
30185 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30186
30187 Add `getkeystatus' terminal method. Add a new `keystatus' command
30188 to query it.
30189
30190 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30191 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30192 modifier key bitmasks.
30193 (struct grub_term_input): Add `getkeystatus' member.
30194 (grub_getkeystatus): Add prototype.
30195 * kern/term.c (grub_getkeystatus): New function.
30196
30197 * include/grub/i386/pc/memory.h
30198 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30199 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30200 Data Area layout.
30201 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30202 (grub_console_term_input): Set `getkeystatus' member.
30203 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30204 constants.
30205 (grub_usb_keyboard_getreport): Likewise.
30206 (grub_usb_keyboard_checkkey): Likewise.
30207 (grub_usb_keyboard_getkeystatus): New function.
30208 (grub_usb_keyboard_term): Set `getkeystatus' member.
30209
30210 * commands/keystatus.c: New file.
30211 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30212 (keystatus_mod_SOURCES): New variable.
30213 (keystatus_mod_CFLAGS): Likewise.
30214 (keystatus_mod_LDFLAGS): Likewise.
30215 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30216 commands/keystatus.c.
30217 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30218 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30219 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30222 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30223
30224 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30225
30226 Split befs.mod and afs.mod into *_be.mod and *.mod
30227
30228 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30229 (grub_fstest_SOURCES): Likewise.
30230 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30231 (afs_be_mod_SOURCES): New variable.
30232 (afs_be_mod_CFLAGS): Likewise.
30233 (afs_be_mod_LDFLAGS): Likewise.
30234 (befs_be_mod_SOURCES): Likewise.
30235 (befs_be_mod_CFLAGS): Likewise.
30236 (befs_be_mod_LDFLAGS): Likewise.
30237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30238 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30239 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30240 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30241 (grub_emu_SOURCES): Likewise.
30242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30243 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30244 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30245 * fs/afs_be.c: New file.
30246 * fs/befs_be.c: New file.
30247 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30248 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30249 (U16): Replaced with ...
30250 (grub_afs_to_cpu16): ...this. All users updated.
30251 (U32): Replaced with ...
30252 (grub_afs_to_cpu32): ...this. All users updated.
30253 (U64): Replaced with ...
30254 (grub_afs_to_cpu64): ...this. All users updated.
30255 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30256 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
30257 (grub_afs_validate_sblock): Check only one endianness.
30258 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30259 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30260 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30261 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30262 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30263 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30264 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30265 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30266
30267 2009-08-26 Bean <bean123ch@gmail.com>
30268
30269 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30270 64-bit number.
30271 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30272 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30273 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30274
30275 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30276
30277 NetBSD memory map support.
30278
30279 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30280 (grub_netbsd_btinfo_mmap_header): New structure.
30281 (grub_netbsd_btinfo_mmap_entry): Likewise.
30282 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30283
30284 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30285
30286 Enable bsd.mod on coreboot.
30287
30288 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30289 (bsd_mod_SOURCES): New variable.
30290 (bsd_mod_CFLAGS): Likewise.
30291 (bsd_mod_LDFLAGS): Likewise.
30292 (bsd_mod_ASFLAGS): Likewise.
30293 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30294 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30295
30296 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30297
30298 Cleanup NetBSD root support.
30299
30300 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30301 grub_bsd_get_device.
30302 Fix typo.
30303
30304 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
30305
30306 * util/grub.d/00_header.in: Move check for the video backend of
30307 gfxterm from here ...
30308 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30309 a suitable video backend.
30310
30311 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30312
30313 Fix breakage in grub-setup.
30314
30315 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30316 "msdos_partition_map".
30317
30318 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 Fix breakage in normal/auth.c.
30321
30322 * normal/auth.c (grub_iswordseparator): New function.
30323
30324 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30325
30326 Authentication support.
30327
30328 * commands/password.c: New file.
30329 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30330 (password_mod_SOURCES): New variable.
30331 (password_mod_CFLAGS): Likewise.
30332 (password_mod_LDFLAGS): Likewise.
30333 (normal_mod_SOURCES): Add normal/auth.c.
30334 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30335 normal/auth.c.
30336 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30337 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30338 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30340 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30341 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30342 * include/grub/auth.h: New file.
30343 * include/grub/err.h (grub_err_t): New enum value
30344 GRUB_ERR_ACCESS_DENIED.
30345 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30346 'users'.
30347 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30348 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30349 users updated.
30350 * normal/auth.c: New file.
30351 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30352 (grub_cmdline_run): Don't allow to go to command line without
30353 authentication.
30354 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30355 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30356 menuentry without superuser rights.
30357 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30358 user isn't a superuser.
30359
30360 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30361
30362 Save space by inlining misc.c functions.
30363
30364 * kern/misc.c (grub_iswordseparator): Made static.
30365 * kern/misc.c (grub_strcat): Moved from here ...
30366 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30367 * kern/misc.c (grub_strncat): Moved from here ...
30368 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30369 * kern/misc.c (grub_strcasecmp): Moved from here ...
30370 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30371 * kern/misc.c (grub_strncasecmp): Moved from here ...
30372 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30373 * kern/misc.c (grub_isalpha): Moved from here ...
30374 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30375 * kern/misc.c (grub_isdigit): Moved from here ...
30376 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30377 * kern/misc.c (grub_isgraph): Moved from here ...
30378 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30379 * kern/misc.c (grub_tolower): Moved from here ...
30380 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30381
30382 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30383
30384 * script/sh/function.c (grub_script_function_find): Cut error message
30385 not to flood terminal.
30386 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30387 limit.
30388 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30389
30390 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
30391
30392 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30393 `report' grub_uint8_t *.
30394 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30395 Use a 50-millisecond timeout rather than just repeating
30396 grub_usb_keyboard_getreport 50 times.
30397 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30398
30399 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30400
30401 Rename *_partition_map to part_*
30402
30403 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30404 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30405 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30406 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30407 All users updated.
30408 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30409 All users updated.
30410 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30411 * util/grub-probe.c (probe_partmap): Don't transform partition name
30412 to get module name.
30413
30414 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 Fix OpenBSD and NetBSD support.
30417
30418 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30419 memory address conflict.
30420 (OPENBSD_MMAP_ACPI): New definition.
30421 (OPENBSD_MMAP_NVS): Likewise.
30422 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30423 and OPENBSD_MMAP_NVS.
30424 Add memory map terminator
30425 Explicit cast when calling grub_unix_real_boot.
30426 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
30427
30428 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30429
30430 Let user specify NetBSD root device.
30431
30432 * loader/i386/bsd.c (netbsd_root): New variable.
30433 (netbsd_opts): New option 'root'.
30434 (NETBSD_ROOT_ARG): New macro.
30435 (grub_netbsd_boot): Use 'netbsd_root'.
30436 (grub_bsd_unload): Free 'netbsd_root'.
30437 (grub_cmd_netbsd): Fill 'netbsd_root'.
30438
30439 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30440
30441 Support for 64-bit NetBSD.
30442
30443 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30444 point when booting non-FreeBSD.
30445
30446 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30447
30448 Support --no-smp and --no-acpi for NetBSD.
30449
30450 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30451 (NETBSD_AB_NOACPI): Likewise.
30452 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30453 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30454
30455 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30456
30457 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30458 errors.
30459 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30460 errors. Call grub_error when needed.
30461
30462 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30463
30464 * commands/search.c (search_fs): Try searching without autoload first.
30465 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30466 filesystem module explicitly for faster booting.
30467
30468 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
30469
30470 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30471
30472 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
30473
30474 * util/grub.d/30_os-prober.in: Disable os-prober if
30475 `GRUB_DISABLE_OS_PROBER' was set to true.
30476
30477 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30478
30479 * partmap/pc.c: Rename to ...
30480 * partmap/msdos.c: ... this. Update all users.
30481 (grub_pc_partition_map): Rename to ...
30482 (grub_msdos_partition_map): ... this. Update all users.
30483
30484 * parttool/pcpart.c: Rename to ...
30485 * parttool/msdospart.c: ... this. Update all users.
30486
30487 * include/grub/pc_partition.h: Rename to ...
30488 * include/grub/msdos_partition.h: ... this. Update all users.
30489 (grub_pc_partition_bsd_entry): Rename to ...
30490 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30491 (grub_pc_partition_disk_label): Rename to ...
30492 (grub_msdos_partition_disk_label): ... this. Update all users.
30493 (grub_pc_partition_entry): Rename to ...
30494 (grub_msdos_partition_entry): ... this. Update all users.
30495 (grub_pc_partition_mbr): Rename to ...
30496 (grub_msdos_partition_mbr): ... this. Update all users.
30497 (grub_pc_partition): Rename to ...
30498 (grub_msdos_partition): ... this. Update all users.
30499 (grub_pc_partition_is_empty): Rename to ...
30500 (grub_msdos_partition_is_empty): ... this. Update all users.
30501 (grub_pc_partition_is_extended): Rename to ...
30502 (grub_msdos_partition_is_extended): ... this. Update all users.
30503 (grub_pc_partition_is_bsd): Rename to ...
30504 (grub_msdos_partition_is_bsd): ... this. Update all users.
30505
30506 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30507 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30508 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30509 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30510 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30511 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30512 (gpt_mod_LDFLAGS): Rename to ...
30513 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30514 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30515 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30516 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30517 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30518 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30519 (part_gpt_mod_LDFLAGS): ... this.
30520 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30521 `pcpart.mod' to `msdospart.mod'.
30522 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30523 to ...
30524 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30525 (msdospart_mod_LDFLAGS): ... this.
30526
30527 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30528
30529 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30530 (openbsd_opts): Likewise.
30531 (netbsd_opts): Likewise.
30532 (freebsd_flags): Added 0 terminator.
30533 (openbsd_flags): Likewise.
30534 (netbsd_flags): Likewise.
30535 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30536 (grub_cmd_freebsd): Transformed into extended command.
30537 (grub_cmd_openbsd): Likewise.
30538 (grub_cmd_netbsd): Likewise.
30539 (cmd_freebsd): Changed type to grub_extcmd_t.
30540 (cmd_openbsd): Likewise.
30541 (cmd_netbsd): Likewise.
30542 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30543 grub_cmd_openbsd as extended commands.
30544 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30545 cmd_netbsd and cmd_openbsd
30546
30547 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30548
30549 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30550
30551 2009-08-21 Pavel Roskin <proski@gnu.org>
30552
30553 * Makefile.in (install-local): When checking if a file is in the
30554 build directory, use "test -e" to detect symlinks.
30555
30556 * Makefile.in (install-local): Remove all files in
30557 $(DESTDIR)$(pkglibdir) before installing new files there.
30558
30559 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
30560
30561 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30562 grub-mkelfimage.
30563
30564 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
30565
30566 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30567 explicitly specified by the user.
30568
30569 2009-08-18 Pavel Roskin <proski@gnu.org>
30570
30571 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30572 grub_uint8_t pointer for data.
30573 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30574 Likewise.
30575 * video/fb/fbutil.c: Remove unnecessary casts.
30576
30577 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
30578
30579 VBE cleanup.
30580
30581 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30582 (grub_vbe_set_video_mode): Save active mode info
30583 only after setting the mode.
30584 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30585 second argument.
30586
30587 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
30588
30589 Rename variables for clarity.
30590
30591 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30592 (active_vbe_mode_info): ... this. All users updated.
30593 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30594 All users updated.
30595 (initial_mode): Rename to ...
30596 (initial_vbe_mode): ... this. All users updated.
30597 (mode_in_use): Rename to ..
30598 (vbe_mode_in_use): ... this. All users updated.
30599 (mode_list): Rename to ..
30600 (vbe_mode_list): ... this. All users updated.
30601 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
30602 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
30603 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
30604 'mode_list_size' to 'vbe_mode_list_size'.
30605 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
30606 'best_mode_info' to 'best_vbe_mode_info' and
30607 'best_mode' to 'best_vbe_mode'
30608
30609 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
30610
30611 Remove duplicate grub_video_fb_get_video_ptr.
30612
30613 * include/grub/fbutil.h (get_data_ptr): Rename to ...
30614 (grub_video_fb_get_video_ptr): ... this.
30615 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
30616 * video/fb/fbutil.c: Add comment about addressing.
30617 (get_data_ptr): Rename to ...
30618 (grub_video_fb_get_video_ptr): ... this. All users updated.
30619 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
30620
30621 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30622
30623 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
30624 grub_dprintf() that was just added.
30625
30626 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30627
30628 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
30629 (DEFAULT_VIDEO_MODE): Remove macros.
30630 (grub_linux_boot): Remove assumption that Linux has FB support,
30631 and use "text" as default video mode.
30632
30633 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
30634
30635 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
30636 grub_dprintf.
30637 * fs/fat.c (grub_fat_read_data): Likewise.
30638
30639 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30640
30641 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
30642 payload.
30643 (grub_module): Likewise.
30644
30645 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30646
30647 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
30648 mbi->cmdline but free playground.
30649
30650 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30651
30652 Handle group offset on UFS1.
30653
30654 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
30655 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
30656
30657 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30658
30659 Split ufs.mod into ufs1.mod and ufs2.mod.
30660
30661 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
30662 (grub_fstest_SOURCES): Likewise.
30663 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
30664 (ufs_mod_SOURCES): Remove.
30665 (ufs_mod_CFLAGS): Likewise.
30666 (ufs_mod_LDFLAGS): Likewise.
30667 (ufs1_mod_SOURCES): New variable.
30668 (ufs1_mod_CFLAGS): Likewise.
30669 (ufs1_mod_LDFLAGS): Likewise.
30670 (ufs2_mod_SOURCES): New variable.
30671 (ufs2_mod_CFLAGS): Likewise.
30672 (ufs2_mod_LDFLAGS): Likewise.
30673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
30674 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30675 Likewise.
30676 (grub_emu_SOURCES): Likewise.
30677 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30678 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30679 (grub_setup_SOURCES): Likewise.
30680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30681 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
30682 (grub_setup_SOURCES): Likewise.
30683 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30684 Likewise.
30685 * fs/ufs2.c: New file.
30686 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
30687
30688 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30689
30690 Framebuffer split.
30691
30692 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
30693 subsystem at the end.
30694 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
30695 (video_fb_mod_SOURCES): New variable.
30696 (video_fb_mod_CFLAGS): Likewise.
30697 (video_fb_mod_LDFLAGS): Likewise.
30698 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
30699 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
30700 * video/i386/pc/vbeblit.c: Moved from here ...
30701 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
30702 * video/i386/pc/vbefill.c: Moved from here ...
30703 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
30704 * video/i386/pc/vbeutil.c: Moved from here ...
30705 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
30706 * include/grub/i386/pc/vbeblit.h: Moved from here ...
30707 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
30708 * include/grub/i386/pc/vbefill.h: Moved from here ...
30709 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
30710 * include/grub/i386/pc/vbeutil.h: Moved from here ...
30711 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
30712 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
30713 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
30714 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
30715 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
30716 (grub_video_adapter): Added 'get_info_and_fini'.
30717 (grub_video_get_info_and_fini): New prototype.
30718 (grub_video_set_mode): make modestring const char *.
30719 * loader/i386/linux.c (grub_linux_setup_video): Use
30720 grub_video_get_info_and_fini.
30721 (grub_linux_boot): Move modesetting just before booting.
30722 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
30723 grub_video_get_info_and_fini.
30724 * video/i386/pc/vbe.c: Moved framebuffer part ...
30725 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
30726 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
30727 grub_video_fbstd_colors and grub_video_fb_set_palette.
30728 (grub_video_vbe_init): Clear 'framebuffer' variable and use
30729 grub_video_fb_init.
30730 (grub_video_vbe_fini): Use grub_video_fb_fini.
30731 (grub_video_vbe_setup): Use framebuffer.render_target instead of
30732 render_target and use grub_video_fb_set_active_render_target and
30733 grub_video_fb_set_palette.
30734 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
30735 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
30736 (grub_video_vbe_adapter): Use framebuffer.
30737 * video/video.c (grub_video_get_info_and_fini): New function.
30738 (grub_video_set_mode): Make modestring const char *.
30739 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
30740 values are already initialised.
30741
30742 2009-08-14 Pavel Roskin <proski@gnu.org>
30743
30744 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
30745 ABS and APPLE_CC.
30746 * boot/i386/pc/diskboot.S: Likewise.
30747 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
30748 sectors allow compilation on MacOSX.
30749 * conf/i386-pc.rmk: Enable unconditional compilation of
30750 lnxboot.img.
30751
30752 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
30753
30754 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
30755 * util/grub.d/00_header.in: Enter interruptible sleep if
30756 GRUB_HIDDEN_TIMEOUT is set.
30757
30758 2009-08-13 Yves Blusseau <blusseau@zetam.org>
30759
30760 * include/grub/symbol.h: Add the LOCAL macro.
30761 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
30762 starting with "L_".
30763
30764 2009-08-13 Pavel Roskin <proski@gnu.org>
30765
30766 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
30767 any modern compilers we support.
30768
30769 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
30770 Use local labels starting with "L_" so that Apple assembler
30771 knows they are local.
30772
30773 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
30774
30775 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
30776 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
30777 (bsd_kernel_types): ... this enum.
30778
30779 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
30780 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
30781 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
30782
30783 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
30784 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
30785 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
30786 messages.
30787
30788 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30789
30790 * util/grub-dumpdevtree: Moved from here ...
30791 * util/i386/efi/grub-dumpdevtree: ... to here.
30792 (hexify): New function. Converts a string to its hex version.
30793 Generate hex versions of "efi" and "device-properties" by calling
30794 hexify() on the ASCII strings rather than by hardcoding numbers.
30795
30796 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30797
30798 * fs/jfs.c: Update copyright year.
30799
30800 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
30801
30802 * util/grub.d/00_header.in: Fix a comment.
30803 * util/grub.d/10_linux.in: Likewise.
30804 * util/grub.d/10_windows.in: Likewise.
30805 * util/grub.d/10_hurd.in: Likewise.
30806
30807 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
30808
30809 * util/grub-mkconfig.in: Allow the user to specify the used font
30810 with GRUB_FONT.
30811
30812 2009-08-08 Pavel Roskin <proski@gnu.org>
30813
30814 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
30815 available, xfs.mod needs it now.
30816
30817 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
30818 the "g" modifier in sed when the intention is to strip something
30819 once. This fixes comparison of kernels with multiple dashes.
30820
30821 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
30822 on it. Add missing space before closing bracket. Fix
30823 misleading formatting.
30824
30825 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30826
30827 * docs/grub.texi: Major overhaul. Remove all sections that are
30828 specific to GRUB Legacy, or mostly composed of Legacy-specific
30829 information.
30830
30831 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30832
30833 * docs/version.texi: New file. Provides version information for
30834 grub.texi.
30835
30836 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30837
30838 * docs/grub.texi: Update CVS information to SVN.
30839 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
30840
30841 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
30842
30843 * util/grub-mkconfig.in: Remove a wrong `fi'.
30844
30845 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
30846
30847 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
30848 (grub_jfs_uuid): New function.
30849 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
30850
30851 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
30852
30853 * util/grub-mkconfig_lib.in (font_path): Move the functionality
30854 of it to ...
30855 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
30856 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
30857
30858 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30859
30860 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
30861 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
30862 Update all users.
30863
30864 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
30865 not just "vmlinu[zx]".
30866 Moved from here ...
30867 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
30868 all users.
30869
30870 * util/grub.d/10_linux.in (find_latest): Moved from here ...
30871 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
30872 all users.
30873
30874 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30875
30876 * util/grub.d/10_freebsd.in: Use an absolute device path for
30877 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
30878
30879 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
30880
30881 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
30882 handling of multiple abstraction modules.
30883
30884 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
30885
30886 Fix a bug resulting in black screen when loading Linux using a
30887 packed video mode.
30888
30889 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
30890 function.
30891
30892 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
30893 (grub_vbe_bios_getset_dac_palette_width): New function.
30894 (grub_vbe_bios_get_dac_palette_width)
30895 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
30896 grub_vbe_bios_getset_dac_palette_width()).
30897
30898 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
30899 check for return status.
30900 (grub_vbe_get_video_mode_info): When getting information for a packed
30901 mode (<= 8 bpp), obtain DAC palette width using
30902 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
30903 {red,green,blue}_mark_size.
30904
30905 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
30906
30907 * commands/search.c (options): Fix help output to match actual code.
30908
30909 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
30910
30911 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
30912 of homegrown code.
30913
30914 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30915
30916 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
30917 on XFS or ReiserFS.
30918
30919 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30920
30921 Support Apple partition map with sector size different from 512 bytes.
30922
30923 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
30924 (apple_partition_map_iterate): Respect 'aheader.blocksize'
30925 and 'apart.partmap_size'.
30926
30927 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30928 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 Fix cpuid command.
30931
30932 * commands/i386/cpuid.c (options): New variable.
30933 (grub_cmd_cpuid): Return real error.
30934 (GRUB_MOD_INIT(cpuid)): Declare options.
30935
30936 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
30937
30938 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
30939 valid.
30940
30941 2009-07-31 Bean <bean123ch@gmail.com>
30942
30943 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
30944 log2_inode.
30945 (grub_fshelp_node): Move inode field to the end.
30946 (grub_xfs_data): Remove inode field.
30947 (grub_xfs_inode_block): Calculate inode size using sblock.
30948 (grub_xfs_inode_offset): Likewise.
30949 (grub_xfs_read_inode): Calculate inode size using sblock.
30950 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
30951 (grub_xfs_iterate_dir): Calculate inode size using sblock.
30952 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
30953 to match inode size.
30954 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
30955 not accessible when data is null.
30956 (grub_xfs_open): Likewise.
30957
30958 2009-07-31 Bean <bean123ch@gmail.com>
30959
30960 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
30961 Don't change pv->disk if it's already set.
30962
30963 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
30964 (grub_raid_register): ... here.
30965 (grub_raid_rescan): Removed.
30966
30967 * include/grub/raid.h (grub_raid_rescan): Removed.
30968
30969 * util/grub-fstest.c: Remove include file <grub/raid.h>.
30970 (fstest): Replace grub_raid_rescan with module fini function followed
30971 by init function.
30972
30973 * util/grub-probe.c: Add include file <grub/raid.h>.
30974 (probe_raid_level): New function.
30975 (probe): Detect abstraction by walking the disk device, support two
30976 level of abstraction (LVM on RAID) when detecting partition map.
30977
30978 2009-07-31 Pavel Roskin <proski@gnu.org>
30979
30980 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
30981 to grub_zalloc(), it was erroneous.
30982 Reported by Bean <bean123ch@gmail.com>
30983
30984 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
30985
30986 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
30987 embedding zone, not only the first one.
30988
30989 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
30990
30991 * term/gfxterm.c (clear_char): New function.
30992 (grub_virtual_screen_setup): Use clear_char.
30993 (scroll_up): Likewise.
30994 (grub_virtual_screen_cls): Likewise.
30995
30996 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
30997
30998 * util/deviceiter.c (get_acceleraid_disk_name): New static
30999 function.
31000 (grub_util_iterate_devices): Handle Accelraid devices.
31001 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31002
31003 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31004
31005 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31006 separator for the suggested gfxpayload string (';' collides with the
31007 parser and needs escaping).
31008
31009 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31010
31011 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31012 Clear direction flag before jumping to OS.
31013 (grub_multiboot2_real_boot): Likewise.
31014
31015 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
31016
31017 * util/i386/pc/grub-install: Fix parsing of --disk-module
31018 option.
31019
31020 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
31021
31022 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31023 when embedding.
31024
31025 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
31026
31027 * util/grub-mkconfig.in (package_version): New variable.
31028 Use it do display the version.
31029
31030 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
31031
31032 * kern/file.c (grub_file_open): Revert to previous check with
31033 grub_errno.
31034
31035 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31036
31037 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31038 from help line. It's out of sync with code.
31039
31040 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31041
31042 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31043 entries on failed boot.
31044
31045 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
31046
31047 * kern/file.c (grub_file_open): Fix an error check.
31048
31049 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31050
31051 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31052 partition map couldn't be identified.
31053
31054 2009-07-23 Pavel Roskin <proski@gnu.org>
31055
31056 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31057 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31058 case of little endian words becomes just an optimization.
31059 Respect const modifier.
31060 (md5_final): Use code that doesn't depend on endianness.
31061
31062 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31063 to avoid loss of upper bits if align is unsigned and shorter
31064 than addr.
31065
31066 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31067
31068 UUID support for UFS
31069
31070 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31071 (grub_ufs_uuid): New function.
31072 (grub_ufs_fs): add .uuid
31073
31074 2009-07-21 Pavel Roskin <proski@gnu.org>
31075
31076 * kern/dl.c (grub_dl_check_header): Make static.
31077
31078 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
31079
31080 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31081 add drivemap for Vista. It breaks Windows 7.
31082
31083 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31084
31085 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31086 128 bytes
31087
31088 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31089
31090 Add BFS support
31091
31092 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31093 (grub_fstest_SOURCES): Likewise.
31094 (pkglib_MODULES): Add befs.mod.
31095 (befs_mod_SOURCES): New variable.
31096 (befs_mod_CFLAGS): Likewise.
31097 (befs_mod_LDFLAGS): Likewise.
31098 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31099 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31100 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31101 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31102 (grub_setup_SOURCES): Likewise.
31103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31104 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31105 (grub_setup_SOURCES): Likewise.
31106 * fs/befs.c: New file.
31107 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31108 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31109 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31110 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31111 (B_KEY_INDEX_ALIGN): New declaration.
31112 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31113 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31114 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31115 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31116 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31117 (grub_afs_mount) [MODE_BFS]: Likewise.
31118 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31119 (grub_afs_fs): Use GRUB_AFS_FSNAME
31120 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31121 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31122 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31123 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31124
31125 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31126
31127 * util/getroot.c (find_root_device): Add support for MacOSX.
31128 * util/hostdisk.c: Likewise.
31129
31130 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31131
31132 * font/font.c (find_glyph): Check whether a font is present to avoid
31133 segmentation fault.
31134
31135 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
31136
31137 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31138
31139 2009-07-20 Pavel Roskin <proski@gnu.org>
31140
31141 * configure.ac: Trim excessively wordy excuses.
31142
31143 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31144
31145 Add symlink, mtime and label support to AtheFS.
31146
31147 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31148 (grub_afs_iterate_dir): Handle symlinks.
31149 (grub_afs_open): Use grub_afs_read_symlink.
31150 (grub_afs_dir): Likewise.
31151 Pass mtime.
31152 (grub_afs_label): New function.
31153 (grub_afs_fs): Add grub_afs_label.
31154 (grub_afs_read_symlink): New function.
31155
31156 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31157
31158 Fix AtheFS support.
31159
31160 * fs/afs.c: Fix comments style.
31161 (grub_afs_blockrun): Declare as packed.
31162 (grub_afs_datastream): Likewise.
31163 (grub_afs_bnode): Likewise.
31164 (grub_afs_btree): Likewise.
31165 (grub_afs_sblock): Likewise.
31166 Declare `name' as char.
31167 (grub_afs_inode): Declare as packed.
31168 Change void *vnode to grub_uint32_t unused.
31169 (grub_afs_iterate_dir): Check that key_size is positive.
31170 (grub_afs_mount): Don't read superblock twice.
31171 (grub_afs_dir): Don't free node in case of error,
31172 grub_fshelp_find_file already handles this.
31173 (grub_afs_open): Likewise.
31174
31175 2009-07-19 Pavel Roskin <proski@gnu.org>
31176
31177 * Makefile.in: Remove LIBLZO and enable_lzo.
31178 * conf/i386-pc.rmk: Remove lzo support.
31179 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31180 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31181 support.
31182 * kern/i386/pc/lzo1x.S: Remove.
31183 * kern/i386/pc/startup.S: Remove lzo support.
31184 * util/i386/pc/grub-mkimage.c: Likewise.
31185
31186 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31187
31188 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31189 * fs/xfs.c (grub_xfs_dir): Likewise.
31190 * fs/afs.c (grub_afs_dir): Likewise.
31191 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31192 (grub_iso9660_open): Likewise.
31193 * fs/jfs.c (grub_jfs_open): Likewise.
31194 * fs/ext2.c (grub_ext2_dir): Likewise.
31195 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31196 * script/sh/lexer.c (grub_script_yylex): Likewise.
31197
31198 2009-07-16 Pavel Roskin <proski@gnu.org>
31199
31200 * configure.ac: Never add "-c" to CFLAGS.
31201
31202 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31203
31204 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31205 grub_cv_cc_efiemu should be used.
31206
31207 * configure.ac: Typo fixes.
31208
31209 * kern/mm.c (grub_zalloc): New function.
31210 (grub_debug_zalloc): Likewise.
31211 * include/grub/mm.h: Declare grub_zalloc() and
31212 grub_debug_zalloc().
31213 * util/misc.c (grub_zalloc): New function.
31214 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31215 instead of grub_malloc(), remove unneeded initializations.
31216 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31217 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31218 * commands/parttool.c (grub_cmd_parttool): Likewise.
31219 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31220 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31221 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31222 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31223 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31224 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31225 (grub_cmd_efiemu_pnvram): Likewise.
31226 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31227 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31228 (grub_iso9660_iterate_dir): Likewise.
31229 * fs/jfs.c (grub_jfs_opendir): Likewise.
31230 * fs/ntfs.c (list_file): Likewise.
31231 (grub_ntfs_mount): Likewise.
31232 * kern/disk.c (grub_disk_open): Likewise.
31233 * kern/dl.c (grub_dl_load_core): Likewise.
31234 * kern/elf.c (grub_elf_file): Likewise.
31235 * kern/env.c (grub_env_context_open): Likewise.
31236 (grub_env_set): Likewise.
31237 (grub_env_set_data_slot): Likewise.
31238 * kern/file.c (grub_file_open): Likewise.
31239 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31240 * loader/i386/multiboot.c (grub_module): Likewise.
31241 * loader/xnu.c (grub_xnu_create_key): Likewise.
31242 (grub_xnu_create_value): Likewise.
31243 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31244 (read_config_file): Likewise.
31245 * normal/menu_entry.c (make_screen): Likewise.
31246 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31247 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31248 * script/sh/script.c (grub_script_parse): Likewise.
31249 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31250 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31251 * video/readers/png.c (grub_png_output_byte): Likewise.
31252 (grub_video_reader_png): Likewise.
31253
31254 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31255
31256 Enable all targets that can be built by default
31257
31258 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
31259 grub-mkfont and grub-fstest if they can be built
31260
31261 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31262
31263 Fix hang and segmentation fault in grub-emu-usb
31264
31265 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31266 * util/usb.c (grub_libusb_devices): likewise
31267 (grub_libusb_init): rename to ...
31268 (GRUB_MOD_INIT (libusb)):...this
31269 (grub_libusb_fini): rename to ..
31270 (GRUB_MOD_FINI (libusb)):...this
31271 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31272 * include/grub/disk.h (grub_raid_init): removed, it's useless
31273 (grub_raid_fini): likewise
31274 (grub_lvm_init): likewise
31275 (grub_lvm_fini): likewise
31276 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31277 by grub_init_all
31278
31279 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31280
31281 Fix libusb
31282
31283 * Makefile.in (LIBUSB): new macro
31284 * genmk.rb (Utility/print_tail): new method
31285 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31286 (top level): call util.print_tail at the end.
31287
31288 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31289
31290 Make FreeBSD accept zpool.cache
31291
31292 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31293 type is /boot/zfs/zpool.cache
31294
31295 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31296
31297 Fix 64-bit efiemu
31298
31299 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31300 correct wrong typedef
31301 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31302
31303 2009-07-15 Pavel Roskin <proski@gnu.org>
31304
31305 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31306 * kern/disk.c (struct grub_disk_cache): Likewise.
31307
31308 * commands/probe.c (options): Typo fix.
31309
31310 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31311 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31312 accordingly.
31313 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31314
31315 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31316 the end of "Error" to make the message more readable.
31317
31318 * boot/i386/pc/boot.S (kernel_segment): Remove.
31319 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31320 for destination.
31321
31322 * boot/i386/pc/boot.S (boot_version): Remove.
31323 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31324 Remove.
31325
31326 * include/grub/i386/pc/boot.h: Sort all offsets.
31327 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31328 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31329 * boot/i386/pc/boot.S: Assert location of every offset listed in
31330 include/grub/i386/pc/boot.h.
31331
31332 2009-07-13 Pavel Roskin <proski@gnu.org>
31333
31334 * include/grub/i386/coreboot/machine.h: Rename
31335 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31336 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31337 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31338
31339 * kern/dl.c: Force native word size to suppress warnings when
31340 compiling grub-emu.
31341
31342 * kern/device.c (grub_device_iterate): Change struct part_ent to
31343 hold the name, not a pointer to it. Use one grub_malloc() per
31344 partition, not two. Free partition_name if grub_malloc() fails.
31345 Set ents to NULL only before grub_partition_iterate() is called.
31346
31347 2009-07-11 Bean <bean123ch@gmail.com>
31348
31349 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31350 childname.
31351
31352 2009-07-10 Bean <bean123ch@gmail.com>
31353 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31354
31355 * kern/ieee1275/openfw.c (grub_children_iterate)
31356 (grub_devalias_iterate): Fix size evaluation for property or path
31357 strings, which was broken since r2132.
31358
31359 2009-07-07 Pavel Roskin <proski@gnu.org>
31360
31361 * commands/search.c (search_file): Merge into ...
31362 (search_fs): ... this. Accept search type as argument.
31363 (grub_cmd_search): Pass search type to search_fs().
31364
31365 * include/grub/util/console.h: New file.
31366 * util/console.c: Use it instead of grub/machine/console.h.
31367 * util/grub-emu.c: Likewise.
31368
31369 * lib/arg.c (find_long_option): Remove.
31370 (find_long): Add `len' argument, make `s' const char *.
31371 (grub_arg_parse): Parse long options in place, not in a
31372 temporary buffer.
31373
31374 2009-07-06 Pavel Roskin <proski@gnu.org>
31375
31376 * commands/search.c (search_fs): Fix potential NULL pointer
31377 dereference.
31378
31379 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31380 function pointer.
31381
31382 2009-07-06 Daniel Mierswa <impulze@impulze.org>
31383
31384 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31385 comparison.
31386
31387 2009-07-05 Pavel Roskin <proski@gnu.org>
31388
31389 * include/grub/i386/linux.h (struct linux_kernel_params):
31390 Restore padding3, it's still needed.
31391
31392 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31393 FreeBSD.
31394 * util/osdetect.lua: Likewise.
31395
31396 2009-07-05 Bean <bean123ch@gmail.com>
31397
31398 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31399
31400 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31401 (grub_lua_getenv): Likewise.
31402 (grub_lua_setenv): Likewise.
31403 (save_errno): New function.
31404 (push_result): Likewise.
31405 (grub_lua_enum_device): Likewise.
31406 (grub_lua_enum_file): Likewise.
31407 (grub_lua_file_open): Likewise.
31408 (grub_lua_file_close): Likewise.
31409 (grub_lua_file_seek): Likewise.
31410 (grub_lua_file_read): Likewise.
31411 (grub_lua_file_getline): Likewise.
31412 (grub_lua_file_getsize): Likewise.
31413 (grub_lua_file_getpos): Likewise.
31414 (grub_lua_file_eof): Likewise.
31415 (grub_lua_file_exist): Likewise.
31416 (grub_lua_add_menu): Likewise.
31417
31418 * script/lua/grub_lua.h (isupper): New inline function.
31419 (islower): Likewise.
31420 (ispunct): Likewise.
31421 (isxdigit): Likewise.
31422 (strcspn): Change to normal function.
31423 (strpbkr): New function declaration.
31424 (memchr): Likewise.
31425
31426 * script/lua/grub_main.c (scan_str): New function.
31427 (strcspn): Likewise.
31428 (strpbrk): Likewise.
31429 (memchr): Likewise.
31430
31431 * script/lua/linit.c (lualibs): Enable the string library.
31432
31433 * util/osdetect.lua: New file.
31434
31435 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31436
31437 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31438 `capabilities' member.
31439
31440 2009-07-02 Pavel Roskin <proski@gnu.org>
31441
31442 * genparttoollist.sh: Add missing newline at the end.
31443
31444 2009-07-01 Pavel Roskin <proski@gnu.org>
31445
31446 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31447
31448 * util/hostdisk.c (open_device): Remove `const' from
31449 `sysctl_size', as sysctlbyname() can change it (in this case it
31450 doesn't actually happen).
31451
31452 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31453 using signed long int constants.
31454
31455 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31456 constant to avoid a warning on FreeBSD.
31457
31458 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31459 where it's needed.
31460
31461 * Makefile.in: Install include/grub/machine symlink.
31462
31463 * Makefile.in: When installing symlinks, use "cp -fR", which
31464 works on FreeBSD and MacOSX.
31465 From Yves Blusseau <cl7m42e02@sneakemail.com>
31466
31467 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31468 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31469
31470 * util/misc.c: Move grub_reboot() and grub_halt() ...
31471 * util/grub-emu.c: ... here. Make main_env static.
31472 * include/grub/util/misc.h: Remove main_env.
31473
31474 * kern/mm.c: Use correct format to print size_t.
31475
31476 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31477 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31478 * kern/powerpc/dl.c: Likewise.
31479 * kern/sparc64/dl.c: Likewise.
31480 * kern/x86_64/dl.c: Likewise.
31481
31482 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31483
31484 Fix grub-emu build on sparc64-ieee1275.
31485
31486 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
31487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31488
31489 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31490
31491 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31492 (grub_reboot, grub_halt): New functions.
31493
31494 * util/i386/pc/misc.c: Delete. Update all users.
31495 * util/sparc64/ieee1275/misc.c: Likewise.
31496 * util/powerpc/ieee1275/misc.c: Likewise.
31497
31498 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31499
31500 * conf/i386.rmk (setjmp_mod_SOURCES)
31501 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31502 * conf/common.rmk (setjmp_mod_SOURCES)
31503 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31504 to use $(target_cpu).
31505 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31506 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31507 * conf/powerpc-ieee1275.rmk: Likewise.
31508 * conf/sparc64-ieee1275.rmk: Likewise.
31509
31510 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31511 $(target_cpu) for kern/$(target_cpu)/dl.c.
31512 * conf/i386-efi.rmk: Likewise.
31513 * conf/i386-ieee1275.rmk: Likewise.
31514 * conf/x86_64-efi.rmk: Likewise.
31515 * conf/i386-coreboot.rmk: Likewise.
31516 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31517 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31518 kern/$(target_cpu)/cache.S.
31519 * conf/sparc64-ieee1275.rmk: Likewise.
31520
31521 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31522
31523 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31524 type to `grub_uint8_t', and adjust `padding9' accordingly.
31525
31526 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31527
31528 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31529
31530 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31531 assembly in final jump, using register constraints.
31532
31533 (grub_linux_boot): For text mode, initialize `have_vga' using
31534 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31535
31536 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31537 right before the final jump.
31538
31539 Set `video_mode' to 0x3.
31540
31541 Document initialization of `video_page', `video_mode' and
31542 `video_ega_bx'.
31543
31544 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31545
31546 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31547 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
31548 and set GRUB_LINUX_FLAG_QUIET appropriately.
31549
31550 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31551
31552 Fix build on Debian / sparc.
31553
31554 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31555
31556 2009-06-28 Pavel Roskin <proski@gnu.org>
31557
31558 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31559 fix a warning.
31560
31561 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31562
31563 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31564
31565 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31566 `err'.
31567
31568 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31569
31570 Revert r2338.
31571
31572 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31573 file can't be opened. grub_file_open() is already supposed to set
31574 grub_errno / grub_errmsg appropriately.
31575 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31576
31577 2009-06-27 Pavel Roskin <proski@gnu.org>
31578 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31579
31580 * include/grub/dl.h: Include grub/elf.h.
31581 (struct grub_dl): Add symtab field.
31582 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31583 GRUB_MODULES_MACHINE_READONLY.
31584 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31585 of the header for read-only modules.
31586 (grub_dl_unload): Free mod->symtab for read-only modules.
31587 * kern/i386/dl.c: Use mod->symtab.
31588 * kern/powerpc/dl.c: Likewise.
31589 * kern/sparc64/dl.c: Likewise.
31590 * kern/x86_64/dl.c: Likewise.
31591
31592 * conf/i386-qemu.rmk: New file.
31593 * kern/i386/qemu/startup.S: Likewise.
31594 * kern/i386/qemu/mmap.c: Likewise.
31595 * boot/i386/qemu/boot.S: Likewise.
31596 * include/grub/i386/qemu/time.h: Likewise.
31597 * include/grub/i386/qemu/serial.h: Likewise.
31598 * include/grub/i386/qemu/kernel.h: Likewise.
31599 * include/grub/i386/qemu/console.h: Likewise.
31600 * include/grub/i386/qemu/boot.h: Likewise.
31601 * include/grub/i386/qemu/init.h: Likewise.
31602 * include/grub/i386/qemu/machine.h: Likewise.
31603 * include/grub/i386/qemu/loader.h: Likewise.
31604 * include/grub/i386/qemu/memory.h: Likewise.
31605
31606 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
31607 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
31608 [qemu] (pkglib_IMAGES): Add `boot.img'.
31609 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
31610 [qemu] (boot_img_FORMAT): New variables.
31611 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
31612 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
31613 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
31614 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31615 [qemu] (kernel_img_FORMAT): New variables.
31616
31617 * configure.ac: Recognise `i386-qemu'.
31618
31619 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
31620 (for no compression).
31621 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
31622 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
31623 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
31624 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
31625 ifdefs).
31626
31627 2009-06-27 Pavel Roskin <proski@gnu.org>
31628
31629 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
31630 read.
31631 * efiemu/prepare32.c: Likewise.
31632 * efiemu/prepare64.c: Likewise.
31633
31634 2009-06-26 Pavel Roskin <proski@gnu.org>
31635
31636 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
31637 * include/grub/elf.h: Define symbols without "32" or "64" based
31638 on GRUB_TARGET_WORDSIZE.
31639 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
31640 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
31641 ELF definitions.
31642 * efiemu/loadcore64.c: Likewise.
31643 * loader/i386/bsd32.c: Likewise.
31644 * loader/i386/bsd64.c: Likewise.
31645 * kern/dl.c: Remove own ELF definitions.
31646 * util/i386/efi/grub-mkimage.c: Likewise.
31647
31648 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
31649
31650 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
31651 segment 0x0 unconditionally, because the reference generated by
31652 GAS is an absolute address.
31653
31654 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31655
31656 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
31657 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
31658
31659 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31660
31661 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
31662 indexes. Check for -f explicitly.
31663 (search_file): Improve error message.
31664 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
31665
31666 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31667
31668 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
31669 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
31670
31671 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31672
31673 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
31674 * conf/i386-ieee1275.rmk: Likewise.
31675 * conf/i386-coreboot.rmk: Likewise.
31676
31677 * kern/i386/pc/startup.S (grub_stop): Remove function.
31678 * kern/i386/ieee1275/startup.S: Likewise.
31679 * kern/i386/coreboot/startup.S: Likewise.
31680 * kern/i386/misc.S (grub_stop): New function.
31681
31682 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31683
31684 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
31685 * kern/i386/realmode.S (real_to_prot): ... to here.
31686
31687 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31688
31689 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
31690 with `kernel.img'.
31691 (kernel_elf_SOURCES): Rename to ...
31692 (kernel_img_SOURCES): ... this.
31693 (kernel_elf_HEADERS): Rename to ...
31694 (kernel_img_HEADERS): ... this. Update all users.
31695 (kernel_elf_ASFLAGS): Rename to ...
31696 (kernel_img_ASFLAGS): ... this.
31697 (kernel_elf_CFLAGS): Rename to ...
31698 (kernel_img_CFLAGS): ... this.
31699 (kernel_elf_LDFLAGS): Rename to ...
31700 (kernel_img_LDFLAGS): ... this.
31701 * conf/i386-coreboot.rmk: Likewise.
31702 * conf/powerpc-ieee1275.rmk: Likewise.
31703
31704 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
31705 with "kernel.img".
31706
31707 2009-06-21 Pavel Roskin <proski@gnu.org>
31708
31709 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
31710 to match nested functions.
31711 * loader/sparc64/ieee1275/linux.c: Likewise.
31712
31713 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
31714
31715 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31716
31717 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
31718 all i386 platforms.
31719
31720 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31721
31722 Fix asm file handling on ELF, and remove workarounds.
31723
31724 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
31725 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
31726 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
31727 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
31728
31729 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
31730
31731 Load BSD ELF modules
31732
31733 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
31734 and loader/i386/bsd64.c
31735 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
31736 (FREEBSD_MODTYPE_ELF_MODULE): New definition
31737 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
31738 (grub_freebsd_load_elfmodule32): New declaration
31739 (grub_freebsd_load_elfmoduleobj64): Likewise
31740 (grub_freebsd_load_elf_meta32): Likewise
31741 (grub_freebsd_load_elf_meta64): Likewise
31742 (grub_freebsd_add_meta): Likewise
31743 (grub_freebsd_add_meta_module): Likewise
31744 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
31745 (grub_freebsd_add_meta_module): Likewise and move module-specific
31746 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
31747 (grub_cmd_freebsd): Add elf-kernel specific parts
31748 based on grub_freebsd_add_meta_module
31749 (grub_cmd_freebsd_module): Add type parsing moved from
31750 grub_freebsd_add_meta_module
31751 (grub_cmd_freebsd_module_elf): New function
31752 (cmd_freebsd_module_elf): New variable
31753 (GRUB_MOD_INIT): Register freebsd_module_elf
31754 * loader/i386/bsd32.c: New file
31755 * loader/i386/bsd64.c: Likewise
31756 * loader/i386/bsdXX.c: Likewise
31757 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
31758 (grub_elf64_load): Likewise
31759 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
31760 All users updated
31761 (grub_elf64_load_hook_t): Likewise
31762
31763 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
31764
31765 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
31766 variable.
31767 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
31768 don't write a menu entry for recovery mode.
31769
31770 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31771
31772 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
31773 after it's no longer needed.
31774
31775 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31776
31777 * include/grub/i386/loader.h (grub_linux_prot_size)
31778 (grub_linux_tmp_addr, grub_linux_real_addr)
31779 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
31780 GRUB_MACHINE_PCBIOS.
31781 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
31782 common grub_util_info() call to ...
31783 (generate_image): ... here.
31784 Fix use of uninitialized memory, comparison of signed with
31785 unsigned integers and memory leak.
31786 Remove bogus module address message.
31787
31788 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
31789
31790 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
31791 grub_raid_register
31792 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
31793
31794 2009-06-19 Pavel Roskin <proski@gnu.org>
31795
31796 * configure.ac: Remove stray AC_MSG_CHECKING.
31797
31798 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
31799
31800 * disk/scsi.c (grub_scsi_open): use continue instead of big if
31801
31802 2009-06-18 Pavel Roskin <proski@gnu.org>
31803
31804 * conf/common.rmk: Add fs_file.mod.
31805 * disk/fs_file.c: New file.
31806 * include/grub/disk.h (enum grub_disk_dev_id): Add
31807 GRUB_DISK_DEVICE_FILE_ID.
31808
31809 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31810
31811 Fix build with Apple's toolchain. Part 2
31812
31813 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
31814 a fake start
31815
31816 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31817
31818 Fix build with Apple's toolchain. Part 1
31819
31820 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
31821 for long calls
31822 * configure.ac: remove a leftover AC_MSG_RESULT
31823 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
31824 Apple's toolchain
31825
31826 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31827
31828 Fix warnings
31829
31830 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
31831 (decomp_block): initialize ch
31832 use grub_memcpy instead of memcpy
31833
31834 2009-06-17 Pavel Roskin <proski@gnu.org>
31835
31836 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
31837 version, use declarations needed to use vga_text as the startup
31838 console.
31839
31840 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
31841 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
31842 the kernel.
31843 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
31844 and grub_at_keyboard_fini(), it's done on module load and
31845 unload.
31846
31847 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
31848
31849 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
31850 file can't be found.
31851 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31852
31853 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31854
31855 Fix newline handling
31856
31857 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
31858 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
31859 (grub_script_yylex): don't segfault on unterminated script
31860 newline terminates command and variable
31861
31862 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31863
31864 avoid double grub_adjust_range call. Bug reported by David Simner
31865
31866 * kern/disk.c (grub_disk_write): change to raw disk access before
31867 calling disk_read
31868
31869 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
31870
31871 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
31872 spaces, for the benefit of help2man.
31873 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31874
31875 2009-06-16 Pavel Roskin <proski@gnu.org>
31876
31877 * kern/i386/halt.c: Include grub/machine/init.h.
31878 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
31879
31880 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
31881
31882 * util/grub.d/30_os-prober.in: Use ${root} in the generated
31883 drivemap menuentry.
31884
31885 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
31886
31887 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
31888 `echo' command.
31889
31890 2009-06-16 Pavel Roskin <proski@gnu.org>
31891
31892 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
31893 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
31894 save %dx, we only need %dl and we never change it.
31895 * boot/i386/pc/cdboot.S: Don't set the root drive.
31896 * boot/i386/pc/pxeboot.S: Likewise.
31897 * include/grub/i386/pc/boot.h: Remove
31898 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
31899 GRUB_BOOT_MACHINE_DRIVE_CHECK.
31900 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
31901 * kern/i386/pc/init.c (make_install_device): Remove references
31902 to grub_root_drive.
31903 * kern/i386/pc/startup.S: Likewise.
31904 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
31905
31906 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31907
31908 xnu_uuid command
31909
31910 * commands/xnu_uuid.c: new file
31911 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
31912 (xnu_uuid_mod_SOURCES): new variable
31913 (xnu_uuid_mod_CFLAGS): likewise
31914 (xnu_uuid_mod_LDFLAGS): likewise
31915 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31916 * conf/i386-ieee1275.rmk: likewise
31917 * conf/i386-pc.rmk: likewise
31918 * conf/powerpc-ieee1275.rmk: likewise
31919 * conf/sparc64-ieee1275.rmk: likewise
31920 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
31921
31922 2009-06-16 Pavel Roskin <proski@gnu.org>
31923
31924 * configure.ac: Avoid '==' in test command, it's not portable.
31925
31926 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31927
31928 Probe command
31929
31930 * commands/probe.c: new file
31931 * conf/common.rmk (pkglib_MODULES): add probe.mod
31932 (probe_mod_SOURCES): new variable
31933 (probe_mod_CFLAGS): likewise
31934 (probe_mod_LDFLAGS): likewise
31935 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31936 * conf/i386-ieee1275.rmk: likewise
31937 * conf/i386-pc.rmk: likewise
31938 * conf/powerpc-ieee1275.rmk: likewise
31939 * conf/sparc64-ieee1275.rmk: likewise
31940
31941 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
31942
31943 Fix handling of string like \"hello\" and "a
31944 b"
31945
31946 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
31947 (grub_script_yylex): fix parsing of quoting, escaping and newline
31948
31949 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
31950
31951 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
31952 handling
31953
31954 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
31955
31956 * util/grub-mkconfig.in: Fix parsing of --output option.
31957
31958 2009-06-12 Pavel Roskin <proski@gnu.org>
31959
31960 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
31961 genmk.rb don't need to be generated or installed.
31962
31963 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
31964
31965 * commands/i386/pc/drivemap_int13h.S: add more comments
31966
31967 2009-06-11 Pavel Roskin <proski@gnu.org>
31968
31969 * Makefile.in (uninstall): Uninstall manuals.
31970
31971 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
31972 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
31973 and update-grub_lib in two places.
31974 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
31975
31976 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
31977 a compiler warning.
31978
31979 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
31980 `entry_lo' to fix variable shadowing.
31981
31982 2009-06-11 Christian Franke <franke@computer.org>
31983
31984 * kern/misc.c (__enable_execute_stack): Add missing return type
31985 to prevent gcc warning.
31986
31987 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
31988
31989 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
31990
31991 2009-06-11 Pavel Roskin <proski@gnu.org>
31992
31993 * Makefile.in: Don't rely on any scripts being executable.
31994 Always use $(SHELL) to run shell scripts.
31995
31996 * configure.ac: Always define ___main if using -nostdlib. This
31997 fixes tests on Cygwin.
31998
31999 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32000
32001 UDF fix
32002
32003 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
32004 is in bytes and not in blocks
32005
32006 2009-06-11 Pavel Roskin <proski@gnu.org>
32007
32008 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32009 warning.
32010
32011 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
32012
32013 * util/grub.d/30_os-prober.in: Fix a comment. Source
32014 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32015 to set the root device. Place drivemap command in the generated
32016 chain entry.
32017
32018 2009-06-11 Pavel Roskin <proski@gnu.org>
32019
32020 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32021 have long been resolved.
32022
32023 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
32024
32025 * util/grub.d/10_linux.in: Capitalise "Linux".
32026
32027 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32028
32029 2009-06-11 Pavel Roskin <proski@gnu.org>
32030
32031 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32032 fix a gcc warning and ensure that the function won't ever exit.
32033
32034 * kern/i386/ieee1275/init.c: Add missing prototype for
32035 grub_stop_floppy().
32036
32037 * loader/ieee1275/multiboot2.c [__i386__]: Include
32038 grub/cpu/multiboot.h.
32039
32040 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32041 casts to short - they are not portable and cause warnings. Fix
32042 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32043
32044 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32045
32046 Drivemap fixes
32047
32048 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32049 new function
32050 (grub_get_root_biosnumber_saved): new variable
32051 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32052 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
32053 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
32054 %dx after the call if necessary
32055 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32056 (boot_mod_SOURCES): remove
32057 (boot_mod_CFLAGS): remove
32058 (boot_mod_LDFLAGS): remove
32059 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32060 (boot_mod_SOURCES): new variable
32061 (boot_mod_CFLAGS): likewise
32062 (boot_mod_LDFLAGS): likewise
32063 * conf/i386-efi.rmk: likewise
32064 * conf/i386-ieee1275.rmk: likewise
32065 * conf/i386-pc.rmk: likewise
32066 * conf/powerpc-ieee1275.rmk: likewise
32067 * conf/sparc64-ieee1275.rmk: likewise
32068 * conf/x86_64-efi.rmk: likewise
32069 * include/grub/i386/pc/biosnum.h: new file
32070 * lib/i386/pc/biosnum.c: likewise
32071 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32072 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32073 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
32074
32075 2009-06-10 Pavel Roskin <proski@gnu.org>
32076
32077 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32078 Use separate variables. Read only the file size at the end, but
32079 not the checksum that we don't use.
32080
32081 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32082 Adjust all callers.
32083
32084 * kern/ieee1275/openfw.c: Remove libc includes.
32085 * kern/ieee1275/cmain.c: Likewise.
32086 * include/grub/ieee1275/ieee1275.h: Likewise.
32087
32088 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32089 compiler warnings.
32090
32091 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
32092
32093 * Makefile.in: Remove all trailing whitespace.
32094 * conf/i386-pc.rmk: Likewise.
32095 * conf/powerpc-ieee1275.rmk: Likewise.
32096 * conf/sparc64-ieee1275.rmk: Likewise.
32097 * docs/grub.texi: Likewise.
32098 * docs/texinfo.tex: Likewise.
32099 * disk/fs_uuid.c: Likewise.
32100 * disk/lvm.c: Likewise.
32101 * disk/scsi.c: Likewise.
32102 * disk/ata.c: Likewise.
32103 * disk/ieee1275/ofdisk.c: Likewise.
32104 * disk/i386/pc/biosdisk.c: Likewise.
32105 * disk/host.c: Likewise.
32106 * disk/raid.c: Likewise.
32107 * disk/efi/efidisk.c: Likewise.
32108 * disk/usbms.c: Likewise.
32109 * disk/memdisk.c: Likewise.
32110 * disk/loopback.c: Likewise.
32111 * kern/powerpc/dl.c: Likewise.
32112 * kern/device.c: Likewise.
32113 * kern/dl.c: Likewise.
32114 * kern/sparc64/dl.c: Likewise.
32115 * kern/ieee1275/ieee1275.c: Likewise.
32116 * kern/term.c: Likewise.
32117 * kern/fs.c: Likewise.
32118 * kern/i386/dl.c: Likewise.
32119 * kern/i386/pc/startup.S: Likewise.
32120 * kern/i386/pc/init.c: Likewise.
32121 * kern/i386/pc/mmap.c: Likewise.
32122 * kern/i386/pc/lzo1x.S: Likewise.
32123 * kern/i386/ieee1275/init.c: Likewise.
32124 * kern/i386/realmode.S: Likewise.
32125 * kern/i386/tsc.c: Likewise.
32126 * kern/partition.c: Likewise.
32127 * kern/corecmd.c: Likewise.
32128 * kern/file.c: Likewise.
32129 * kern/efi/efi.c: Likewise.
32130 * kern/efi/init.c: Likewise.
32131 * kern/efi/mm.c: Likewise.
32132 * kern/main.c: Likewise.
32133 * kern/err.c: Likewise.
32134 * kern/env.c: Likewise.
32135 * kern/disk.c: Likewise.
32136 * kern/generic/millisleep.c: Likewise.
32137 * kern/generic/rtc_get_time_ms.c: Likewise.
32138 * kern/misc.c: Likewise.
32139 * kern/parser.c: Likewise.
32140 * genmk.rb: Likewise.
32141 * configure.ac: Likewise.
32142 * boot/i386/pc/diskboot.S: Likewise.
32143 * boot/i386/pc/pxeboot.S: Likewise.
32144 * boot/i386/pc/boot.S: Likewise.
32145 * boot/i386/pc/lnxboot.S: Likewise.
32146 * boot/i386/pc/cdboot.S: Likewise.
32147 * parttool/pcpart.c: Likewise.
32148 * video/readers/tga.c: Likewise.
32149 * video/video.c: Likewise.
32150 * video/bitmap.c: Likewise.
32151 * lib/envblk.c: Likewise.
32152 * lib/i386/setjmp.S: Likewise.
32153 * fs/xfs.c: Likewise.
32154 * fs/afs.c: Likewise.
32155 * fs/fat.c: Likewise.
32156 * fs/ntfs.c: Likewise.
32157 * fs/udf.c: Likewise.
32158 * fs/affs.c: Likewise.
32159 * fs/iso9660.c: Likewise.
32160 * fs/hfs.c: Likewise.
32161 * fs/fshelp.c: Likewise.
32162 * fs/ext2.c: Likewise.
32163 * fs/jfs.c: Likewise.
32164 * fs/reiserfs.c: Likewise.
32165 * fs/hfsplus.c: Likewise.
32166 * fs/minix.c: Likewise.
32167 * fs/cpio.c: Likewise.
32168 * fs/sfs.c: Likewise.
32169 * fs/ufs.c: Likewise.
32170 * efiemu/prepare.c: Likewise.
32171 * efiemu/loadcore_common.c: Likewise.
32172 * efiemu/runtime/efiemu.sh: Likewise.
32173 * efiemu/runtime/efiemu.S: Likewise.
32174 * efiemu/runtime/efiemu.c: Likewise.
32175 * efiemu/pnvram.c: Likewise.
32176 * efiemu/main.c: Likewise.
32177 * efiemu/i386/pc/cfgtables.c: Likewise.
32178 * efiemu/i386/loadcore64.c: Likewise.
32179 * efiemu/i386/loadcore32.c: Likewise.
32180 * efiemu/loadcore.c: Likewise.
32181 * efiemu/symbols.c: Likewise.
32182 * efiemu/mm.c: Likewise.
32183 * include/grub/autoefi.h: Likewise.
32184 * include/grub/datetime.h: Likewise.
32185 * include/grub/term.h: Likewise.
32186 * include/grub/hfs.h: Likewise.
32187 * include/grub/lvm.h: Likewise.
32188 * include/grub/i386/tsc.h: Likewise.
32189 * include/grub/i386/linux.h: Likewise.
32190 * include/grub/i386/xnu.h: Likewise.
32191 * include/grub/i386/efiemu.h: Likewise.
32192 * include/grub/i386/pc/biosdisk.h: Likewise.
32193 * include/grub/i386/pc/memory.h: Likewise.
32194 * include/grub/i386/pc/vbe.h: Likewise.
32195 * include/grub/parttool.h: Likewise.
32196 * include/grub/video.h: Likewise.
32197 * include/grub/memory.h: Likewise.
32198 * include/grub/fs.h: Likewise.
32199 * include/grub/partition.h: Likewise.
32200 * include/grub/xnu.h: Likewise.
32201 * include/grub/efi/api.h: Likewise.
32202 * include/grub/efi/pe32.h: Likewise.
32203 * include/grub/efi/memory.h: Likewise.
32204 * include/grub/multiboot.h: Likewise.
32205 * include/grub/usbdesc.h: Likewise.
32206 * include/grub/multiboot2.h: Likewise.
32207 * include/grub/acpi.h: Likewise.
32208 * include/grub/efiemu/efiemu.h: Likewise.
32209 * include/grub/disk.h: Likewise.
32210 * include/grub/ieee1275/ieee1275.h: Likewise.
32211 * include/grub/net.h: Likewise.
32212 * include/grub/machoload.h: Likewise.
32213 * include/grub/macho.h: Likewise.
32214 * include/multiboot.h: Likewise.
32215 * genmoddep.awk: Likewise.
32216 * normal/main.c: Likewise.
32217 * normal/menu_entry.c: Likewise.
32218 * normal/menu_viewer.c: Likewise.
32219 * normal/completion.c: Likewise.
32220 * normal/cmdline.c: Likewise.
32221 * normal/misc.c: Likewise.
32222 * normal/datetime.c: Likewise.
32223 * bus/usb/usbtrans.c: Likewise.
32224 * bus/usb/ohci.c: Likewise.
32225 * bus/usb/uhci.c: Likewise.
32226 * bus/usb/usb.c: Likewise.
32227 * mmap/efi/mmap.c: Likewise.
32228 * mmap/i386/pc/mmap_helper.S: Likewise.
32229 * mmap/i386/pc/mmap.c: Likewise.
32230 * mmap/i386/mmap.c: Likewise.
32231 * mmap/i386/uppermem.c: Likewise.
32232 * mmap/mmap.c: Likewise.
32233 * commands/acpi.c: Likewise.
32234 * commands/echo.c: Likewise.
32235 * commands/blocklist.c: Likewise.
32236 * commands/loadenv.c: Likewise.
32237 * commands/usbtest.c: Likewise.
32238 * commands/boot.c: Likewise.
32239 * commands/parttool.c: Likewise.
32240 * commands/search.c: Likewise.
32241 * commands/cat.c: Likewise.
32242 * commands/i386/pc/play.c: Likewise.
32243 * commands/i386/pc/drivemap.c: Likewise.
32244 * commands/i386/pc/vbeinfo.c: Likewise.
32245 * commands/i386/pc/acpi.c: Likewise.
32246 * commands/i386/pc/vbetest.c: Likewise.
32247 * commands/ls.c: Likewise.
32248 * commands/cmp.c: Likewise.
32249 * commands/test.c: Likewise.
32250 * commands/efi/acpi.c: Likewise.
32251 * commands/gptsync.c: Likewise.
32252 * commands/help.c: Likewise.
32253 * partmap/amiga.c: Likewise.
32254 * partmap/apple.c: Likewise.
32255 * partmap/acorn.c: Likewise.
32256 * partmap/pc.c: Likewise.
32257 * partmap/sun.c: Likewise.
32258 * partmap/gpt.c: Likewise.
32259 * script/sh/lexer.c: Likewise.
32260 * script/sh/function.c: Likewise.
32261 * font/font.c: Likewise.
32262 * font/font_cmd.c: Likewise.
32263 * loader/powerpc/ieee1275/linux.c: Likewise.
32264 * loader/efi/chainloader.c: Likewise.
32265 * loader/multiboot_loader.c: Likewise.
32266 * loader/macho.c: Likewise.
32267 * loader/i386/multiboot.c: Likewise.
32268 * loader/i386/linux.c: Likewise.
32269 * loader/i386/pc/linux.c: Likewise.
32270 * loader/i386/pc/multiboot2.c: Likewise.
32271 * loader/i386/pc/chainloader.c: Likewise.
32272 * loader/i386/pc/xnu.c: Likewise.
32273 * loader/i386/bsd_trampoline.S: Likewise.
32274 * loader/i386/efi/linux.c: Likewise.
32275 * loader/i386/multiboot_elfxx.c: Likewise.
32276 * loader/i386/bsd_helper.S: Likewise.
32277 * loader/i386/bsd.c: Likewise.
32278 * loader/i386/linux_trampoline.S: Likewise.
32279 * loader/i386/xnu_helper.S: Likewise.
32280 * loader/i386/xnu.c: Likewise.
32281 * loader/i386/bsd_pagetable.c: Likewise.
32282 * loader/i386/multiboot_helper.S: Likewise.
32283 * loader/xnu.c: Likewise.
32284 * loader/xnu_resume.c: Likewise.
32285 * io/gzio.c: Likewise.
32286 * term/efi/console.c: Likewise.
32287 * term/terminfo.c: Likewise.
32288 * term/ieee1275/ofconsole.c: Likewise.
32289 * term/i386/pc/serial.c: Likewise.
32290 * term/i386/pc/vesafb.c: Likewise.
32291 * term/i386/pc/vga.c: Likewise.
32292 * term/usb_keyboard.c: Likewise.
32293 * term/gfxterm.c: Likewise.
32294 * aclocal.m4: Likewise.
32295 * util/lvm.c: Likewise.
32296 * util/grub.d/30_os-prober.in: Likewise.
32297 * util/grub.d/10_hurd.in: Likewise.
32298 * util/console.c: Likewise.
32299 * util/grub-macho2img.c: Likewise.
32300 * util/grub-probe.c: Likewise.
32301 * util/hostfs.c: Likewise.
32302 * util/i386/pc/grub-mkimage.c: Likewise.
32303 * util/i386/pc/grub-setup.c: Likewise.
32304 * util/i386/efi/grub-mkimage.c: Likewise.
32305 * util/grub-mkconfig.in: Likewise.
32306 * util/raid.c: Likewise.
32307 * util/resolve.c: Likewise.
32308 * util/grub-mkdevicemap.c: Likewise.
32309 * util/grub-emu.c: Likewise.
32310 * util/getroot.c: Likewise.
32311 * util/hostdisk.c: Likewise.
32312 * util/usb.c: Likewise.
32313 * util/grub-editenv.c: Likewise.
32314 * util/misc.c: Likewise.
32315
32316 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
32317
32318 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32319 `genparttoollist.sh'.
32320 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32321 Add `*.sh' to the list find searches for and change `mdate.sh'
32322 to `mdate-sh'.
32323
32324 2009-06-10 Pavel Roskin <proski@gnu.org>
32325
32326 * include/grub/multiboot2.h: Provide compatibility defines for
32327 multiboot2.h.
32328 * include/multiboot2.h: Include stdint.h only if needed, using
32329 angle brackets.
32330 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32331 grub/multiboot2.h.
32332 * loader/ieee1275/multiboot2.c: Likewise.
32333 * loader/multiboot2.c: Likewise.
32334 * loader/multiboot_loader.c: Likewise.
32335
32336 * configure.ac: Use -nostdlib when probing for the target. It
32337 should not be required to have libc for the target.
32338
32339 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32340 they fail without libc headers for the target.
32341 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32342 exports.
32343 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32344 preprocessor conditionals.
32345
32346 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32347 build system doesn't need to be aware of the tar.c internals.
32348
32349 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
32350
32351 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
32352
32353 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32354
32355 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32356 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32357
32358 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
32359
32360 * util/i386/pc/grub-install.in: Change the error message if UUIDs
32361 aren't available if ata.mod gets used.
32362
32363 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
32364
32365 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
32366 initialising controller.
32367 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32368
32369 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
32370
32371 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32372 to choose between ata and biosdisk module on i386-pc.
32373
32374 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
32375
32376 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32377 Subclass and Programming Interface fields in terms of the 3 byte
32378 Class Code register.
32379 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32380
32381 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32382 interface is OHCI. Add grub_dprintf for symmetry with
32383 bus/usb/uhci.c.
32384 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32385 interface is UHCI. Add interf variable for programming
32386 interface. Print interface with class/subclass.
32387
32388 * bus/usb/ohci.c: Set interf with correct field.
32389
32390 * bus/usb/uhci.c: Remove unneeded doubled lines.
32391 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32392 Remove whitespace inside comment.
32393
32394 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32395
32396 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32397 as fallback an equivalent option without depth.
32398
32399 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32400
32401 Not fail if unable to retrieve C/H/S on LBA disks
32402
32403 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
32404 if unable to retrieve C/H/S on LBA disks
32405
32406 2009-06-08 Pavel Roskin <proski@gnu.org>
32407
32408 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32409 about aliasing.
32410
32411 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
32412
32413 * Makefile.in (uninstall): Remove all $lib_DATA files.
32414
32415 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32416
32417 Bugfix: install on partitionless device
32418
32419 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32420 is a whole disk
32421
32422 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
32423
32424 * Makefile.in (uninstall): Remove all $include_DATA files.
32425
32426 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
32427
32428 * commands/true.c: New file. Implement the true and false commands.
32429 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32430 (true_mod_SOURCES): New variable.
32431 (true_mod_CFLAGS): Likewise.
32432 (true_mod_LDFLAGS): Likewise.
32433
32434 2009-06-05 Colin D Bennett <colin@gibibit.com>
32435
32436 Optimized font character lookup using binary search instead of linear
32437 search. Fonts now are required to have the character index ordered by
32438 code point.
32439
32440 * font/font.c (load_font_index): Verify that fonts have ordered
32441 character indices.
32442 (find_glyph): Use binary search instead of linear search to find a
32443 character in a font.
32444
32445 2009-06-05 Michael Scherer <misc@mandriva.org>
32446
32447 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32448 uses case sensitive btree.
32449 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32450 only for case insensitive filesystems.
32451
32452 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32453
32454 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32455 * conf/common.rmk (search_mod_CFLAGS): likewise
32456
32457 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32458
32459 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
32460 compensate a compiler bug
32461
32462 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32463
32464 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
32465 instead of '\b'
32466
32467 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32468
32469 Definitions for creating asm symbols with Apple's CC
32470
32471 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32472 [APPLE_CC] (VARIABLE): likewise
32473
32474 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32475
32476 Disable lnxboot.img when compiled
32477 with Apple's CC
32478
32479 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32480 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32481 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32482 [! APPLE_CC] (CODE_LENG): skip
32483 [! APPLE_CC] (setup_sects): likewise
32484 [! APPLE_CC]: skip filling
32485
32486 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32487
32488 Address in trampolines based on 32-bit registers when compiled
32489 with Apple's CC
32490
32491 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
32492 for addresses
32493 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32494
32495 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32496
32497 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32498
32499 * kern/misc.c [APPLE_CC] (memcpy): new function
32500 [APPLE_CC] (memmove): likewise
32501 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
32502 (memcpy): define alias conditionally on !APPLE_CC
32503 (memset): likewise
32504 (abort): likewise
32505 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32506 APPLE_CC are defined
32507 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32508 (grub_assert_fail): make prototype conditional
32509
32510 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32511
32512 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32513
32514 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32515 grub-macho2img
32516 (CLEANFILES): add grub-macho2img
32517 (grub_macho2img_SOURCES): new variable
32518 * kern/i386/pc/startup.S (bss_start): new variable
32519 (bss_end): likewise
32520 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32521 * util/grub-macho2img.c: new file
32522
32523 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32524
32525 Use objconv when compiling with Apple's CC
32526
32527 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32528 (efiemu64.o): likewise
32529 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32530 when compiling with Apple's CC
32531 (efiemu64_s.o): likewise
32532 * configure.ac: check for objconv when compiling with Apple's CC
32533 * genmk.rb: use objconv for modules when compiled with Apple's CC
32534
32535 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32536
32537 Define segment as well as section when compiling with
32538 Apple's CC
32539
32540 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32541 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32542 (efiemu_convert_pointer): likewise
32543 (efiemu_set_virtual_address_map): likewise
32544 (efiemu_convert_pointer): likewise
32545 (efiemu_getcrc32): likewise
32546 (init_crc32_table): likewise
32547 (reflect): likewise
32548 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32549 (GRUB_MOD_DEP): likewise
32550
32551 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32552
32553 Allow a compilation without -mcmodel=large
32554
32555 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32556 when compiled without -mcmodel=large
32557 (filter_memory_map): remove memory post 4 GiB when compiled
32558 without -mcmodel=large
32559 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
32560 TARGET_CFLAGS when -mcmodel=large isn't supported
32561
32562 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32563
32564 Remove nested functions in efiemu core
32565
32566 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
32567
32568 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32569
32570 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32571
32572 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32573 temporary storage
32574 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32575 using Apple's CC
32576 (grub_cpu_is_tsc_supported): likewise
32577 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
32578
32579 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32580
32581 Absolute addressing through constant with Apple's cc
32582
32583 * kern/i386/pc/startup.S: Define necessary constants
32584 and address through it when using ABS with Apple's CC
32585 * boot/i386/pc/diskboot.S: likewise
32586 * boot/i386/pc/boot.S: likewise
32587 * boot/i386/pc/lnxboot.S: likewise
32588 * boot/i386/pc/cdboot.S: likewise
32589 * mmap/i386/pc/mmap_helper.S: likewise
32590 * commands/i386/pc/drivemap_int13h.S: likewise
32591
32592 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32593
32594 Check if compiler is apple cc
32595
32596 * Makefile.in (ASFLAGS): new variable
32597 (TARGET_ASFLAGS): likewise
32598 (TARGET_MODULE_FORMAT): likewise
32599 (TARGET_APPLE_CC): likewise
32600 (OBJCONV): likewise
32601 (TARGET_IMG_CFLAGS): likewise
32602 (TARGET_CPPFLAGS): add includedir
32603 * configure.ac: call grub_apple_cc and grub_apple_target_cc
32604 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
32605 Check for linker script only if compiler isn't Apple's CC
32606 (TARGET_MODULE_FORMAT): set
32607 (TARGET_APPLE_CC): likewise
32608 (TARGET_ASFLAGS): likewise
32609 (ASFLAGS): likewise
32610 Check for objcopy only if compiler isn't Apple's CC
32611 Check for BSS symbol only if compiler isn't Apple's CC
32612 * genmk.rb: adapt nm options if we use Apple's utils
32613 * aclocal.m4 (grub_apple_cc): new test
32614 (grub_apple_target_cc): likewise
32615
32616 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32617
32618 Simplify sed expressions and improve awk
32619
32620 * Makefile.in (install-local): simplify sed expression
32621 * gencmdlist.sh: likewise
32622 * genmoddep.awk: avoid adding module as a dependency of itself
32623
32624 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32625
32626 Add missing start symbols
32627
32628 * boot/i386/pc/boot.S: add start
32629 * boot/i386/pc/pxeboot.S: likewise
32630
32631 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32632
32633 Fix wrong assumptions with grub-mkimage on EFI
32634
32635 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
32636 (relocate_addresses): consider both r_addend and value at offset
32637 (make_mods_section): zerofill modinfo and header
32638 (convert_elf): write prefix here
32639
32640 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32641
32642 Use .asciz instead of .string
32643
32644 * i386/pc/diskboot.S: use .asciz instead of .string
32645 * i386/pc/boot.S: likewise
32646 * include/grub/dl.h (GRUB_MOD_DEP): likewise
32647 (GRUB_MOD_NAME): likewise
32648
32649 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32650
32651 gfxpayload support
32652
32653 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
32654 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
32655 (grub_video_setup): remove
32656 (grub_video_set_mode): new prototype
32657 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
32658 (vid_mode): remove
32659 (linux_vesafb_res): compile only on PCBIOS
32660 (grub_linux_boot): support gfxpayload
32661 * loader/i386/pc/xnu.c (video_hook): new function
32662 (grub_xnu_set_video): support gfxpayload
32663 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
32664 (DEFAULT_VIDEO_HEIGHT): likewise
32665 (DEFAULT_VIDEO_FLAGS): likewise
32666 (DEFAULT_VIDEO_MODE): new definition
32667 (video_hook): new function
32668 (grub_gfxterm_init): use grub_video_set_mode
32669 * util/grub.d/30_os-prober.in: remove explicit modesetting before
32670 loading xnu
32671 * video/video.c (grub_video_setup): removed
32672 (grub_video_set_mode): new function based on grub_gfxterm_init and
32673 grub_video_setup
32674
32675 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32676
32677 Avoid calling biosdisk in drivemap
32678
32679 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
32680 (revparse_biosdisk): likewise
32681 (list_mappings): derive name from id directly
32682 (grub_cmd_drivemap): use tryparse_diskstring
32683
32684 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32685
32686 Script fixes
32687
32688 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
32689 (grub_lexer_param): add tokenonhold
32690 (grub_script_create_cmdline): remove cmdline. All callers updated
32691 (grub_script_function_create): make functionname
32692 grub_script_arg. All callers updated
32693 (grub_script_execute_argument_to_string): new prototype
32694 * kern/parser.c (state_transitions): reorder
32695 (grub_parser_cmdline_state): fix a bug and make more compact
32696 * script/sh/execute.c (grub_script_execute_argument_to_string):
32697 make global
32698 (grub_script_execute_cmdline): use new format
32699 * script/sh/function.c (grub_script_function_create): make functionname
32700 grub_script_arg. All callers updated
32701 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
32702 (grub_script_yylex): remove
32703 (grub_script_yylex2): renamed to ...
32704 (grub_script_yylex): ...renamed
32705 parse the expressions like a${b}c
32706 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
32707 (GRUB_PARSER_TOKEN_VAR): remove
32708 (GRUB_PARSER_TOKEN_NAME): likewise
32709 ("if"): declare as typeless
32710 ("while"): likewise
32711 ("function"): likewise
32712 ("else"): likewise
32713 ("then"): likewise
32714 ("fi"): likewise
32715 (text): remove
32716 (argument): likewise
32717 (script): accept empty scripts and make exit on error
32718 (arguments): use GRUB_PARSER_TOKEN_ARG
32719 (function): likewise
32720 (command): move error handling to script
32721 (menuentry): move grub_script_lexer_ref before
32722 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
32723 argument. All callers updated
32724
32725 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32726
32727 Prevent GRUB from probing floppies during boot.
32728
32729 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
32730 * commands/search.c (options): Add --no-floppy.
32731 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
32732 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
32733 --no-floppy when searching for UUIDs.
32734
32735 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32736
32737 Simplify the code duplication in commands/search.c.
32738
32739 * commands/search.c (search_label, search_fs_uuid): Merge into ...
32740 (search_fs): ... this. Update all users.
32741
32742 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
32743
32744 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
32745
32746 2009-05-28 Pavel Roskin <proski@gnu.org>
32747
32748 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
32749 Remove the original symlink explicitly.
32750
32751 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
32752 just one slash. That's how grub_fshelp_find_file() does it.
32753
32754 2009-05-26 Pavel Roskin <proski@gnu.org>
32755
32756 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
32757 to `str'.
32758
32759 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
32760 possibly unused.
32761
32762 2009-05-25 Christian Franke <franke@computer.org>
32763
32764 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
32765 register.
32766 (grub_atapi_identify): Add wait after drive select.
32767 (grub_ata_identify): Do more strict status register check before
32768 calling grub_atapi_identify (). Suppress error message if status
32769 register is 0x00 after command failure. Add status register
32770 check after PIO read to avoid bogus identify due to stuck DRQ.
32771 Thanks to Pavel Roskin for testing.
32772 (grub_device_initialize): Remove unsafe status register check.
32773 Thanks to 'phcoder' for problem report and patch.
32774 Prevent sign extension in debug message.
32775
32776 2009-05-23 Colin D Bennett <colin@gibibit.com>
32777
32778 Cleaned up `include/grub/normal.h'. Grouped prototypes by
32779 definition file, and functions defined in `normal/menu.c' have had
32780 their prototypes moved to `include/grub/menu.h' for consistency.
32781
32782 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
32783 from normal.h.
32784 (grub_menu_get_entry): Likewise.
32785 (grub_menu_get_timeout): Likewise.
32786 (grub_menu_set_timeout): Likewise.
32787 (grub_menu_execute_entry): Likewise.
32788 (grub_menu_execute_with_fallback): Likewise.
32789 (grub_menu_entry_run): Likewise.
32790
32791 * include/grub/normal.h: Re-ordered and grouped function
32792 prototypes by file that the function is defined in.
32793 (grub_menu_execute_callback): Removed; moved to menu.h.
32794 (grub_menu_get_entry): Likewise.
32795 (grub_menu_get_timeout): Likewise.
32796 (grub_menu_set_timeout): Likewise.
32797 (grub_menu_execute_entry): Likewise.
32798 (grub_menu_execute_with_fallback): Likewise.
32799 (grub_menu_entry_run): Likewise.
32800 (grub_menu_addentry): Renamed from this ...
32801 (grub_normal_add_menu_entry): ... to this.
32802
32803 * normal/main.c (grub_menu_addentry): Renamed from this ...
32804 (grub_normal_add_menu_entry): ... to this.
32805
32806 * script/sh/execute.c (grub_script_execute_menuentry): Update
32807 reference to renamed grub_menu_addentry function.
32808
32809 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
32810
32811 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
32812
32813 2009-05-22 Pavel Roskin <proski@gnu.org>
32814
32815 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
32816 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
32817 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
32818 compiling for the i386 targets, but not for the utilities.
32819
32820 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
32821 to grub_uint8_t.
32822 (grub_root_drive): Likewise.
32823 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
32824 remove alignment.
32825 (grub_root_drive): Change size to byte.
32826 (grub_start_addr): Remove.
32827 (grub_end_addr): Likewise.
32828 (grub_apm_bios_info): Likewise.
32829
32830 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
32831
32832 * normal/i386: Remove.
32833 * normal/powerpc: Likewise.
32834 * normal/sparc64: Likewise.
32835 * normal/x86_64: Likewise.
32836
32837 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
32838
32839 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
32840 * loader/i386/linux_trampoline.S: Fix indentation
32841 * loader/i386/xnu_helper.S: Likewise
32842
32843 2009-05-18 Colin D Bennett <colin@gibibit.com>
32844
32845 Display error messages when parsing a Lua statement fails.
32846 Previously, executing a syntactically invalid statement like
32847 ")foo" or "bar;" would silently fail.
32848
32849 * script/lua/grub_main.c (handle_lua_error): New function.
32850 (grub_lua_parse_line): Improved reporting of Lua parser and
32851 execution errors.
32852
32853 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32854
32855 Remove -Werror which causes build to fail on some systems
32856
32857 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
32858 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
32859 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
32860
32861 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32862
32863 trampoline for linux on 64-bit platform
32864
32865 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
32866 loader/i386/efi/linux_trampoline.S
32867 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
32868 declaration
32869 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
32870 here
32871 * loader/i386/linux_trampoline.S: moved here
32872 * loader/i386/efi/linux.c (allocate_pages): reserve space for
32873 trampoline
32874 (jumpvector): removed
32875 (grub_linux_trampoline_start): new declaration
32876 (grub_linux_trampoline_end): likewise
32877 (grub_linux_boot): use trampoline when on 64-bit platform
32878 * loader/i386/linux.c: likewise
32879
32880 2009-05-16 Pavel Roskin <proski@gnu.org>
32881
32882 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
32883 const to avoid a warning.
32884 (grub_lua_setenv): Likewise.
32885 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
32886 lmsg to fix a warning.
32887
32888 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
32889
32890 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
32891 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32892 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
32893 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32894 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32895 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32896 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32897 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32898
32899 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
32900
32901 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
32902
32903 2009-05-16 Bean <bean123ch@gmail.com>
32904
32905 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
32906 (lua_mod_SOURCES): New variable.
32907 (lua_mod_CFLAGS): Likewise.
32908 (lua_mod_LDFLAGS): Likewise.
32909
32910 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
32911 (setjmp_mod_SOURCES): New variable.
32912 (setjmp_mod_CFLAGS): Likewise.
32913 (setjmp_LDFLAGS): Likewise.
32914
32915 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
32916 (setjmp_mod_SOURCES): New variable.
32917 (setjmp_mod_CFLAGS): Likewise.
32918 (setjmp_LDFLAGS): Likewise.
32919
32920 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32921 (setjmp_mod_SOURCES): New variable.
32922 (setjmp_mod_CFLAGS): Likewise.
32923 (setjmp_LDFLAGS): Likewise.
32924
32925 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32926 (setjmp_mod_SOURCES): New variable.
32927 (setjmp_mod_CFLAGS): Likewise.
32928 (setjmp_LDFLAGS): Likewise.
32929
32930 * normal/i386/setjmp.S: Moved from here ...
32931 * lib/i386/setjmp.S: ... Moved here
32932 * normal/x86_64/setjmp.S: Moved from here ...
32933 * lib/x86_64/setjmp.S: ... Moved here
32934 * normal/powerpc/setjmp.S: Moved from here ...
32935 * lib/powerpc/setjmp.S: ... Moved here
32936 * normal/sparc64/setjmp.S: Moved from here ...
32937 * lib/sparc64/setjmp.S: ... Moved here
32938
32939 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
32940 returns_twice in mingw.
32941
32942 * script/lua/grub_lib.c: New file.
32943 * script/lua/grub_lib.h: Likewise.
32944 * script/lua/grub_lua.h: Likewise.
32945 * script/lua/grub_main.c: Likewise.
32946 * script/lua/lapi.c: Likewise.
32947 * script/lua/lapi.h: Likewise.
32948 * script/lua/lauxlib.c: Likewise.
32949 * script/lua/lauxlib.h: Likewise.
32950 * script/lua/lbaselib.c: Likewise.
32951 * script/lua/lcode.c: Likewise.
32952 * script/lua/lcode.h: Likewise.
32953 * script/lua/ldblib.c: Likewise.
32954 * script/lua/ldebug.c: Likewise.
32955 * script/lua/ldebug.h: Likewise.
32956 * script/lua/ldo.c: Likewise.
32957 * script/lua/ldo.h: Likewise.
32958 * script/lua/ldump.c: Likewise.
32959 * script/lua/lfunc.c: Likewise.
32960 * script/lua/lfunc.h: Likewise.
32961 * script/lua/lgc.c: Likewise.
32962 * script/lua/lgc.h: Likewise.
32963 * script/lua/linit.c: Likewise.
32964 * script/lua/liolib.c: Likewise.
32965 * script/lua/llex.c: Likewise.
32966 * script/lua/llex.h: Likewise.
32967 * script/lua/llimits.h: Likewise.
32968 * script/lua/lmathlib.c: Likewise.
32969 * script/lua/lmem.c: Likewise.
32970 * script/lua/lmem.h: Likewise.
32971 * script/lua/loadlib.c: Likewise.
32972 * script/lua/lobject.c: Likewise.
32973 * script/lua/lobject.h: Likewise.
32974 * script/lua/lopcodes.c: Likewise.
32975 * script/lua/lopcodes.h: Likewise.
32976 * script/lua/loslib.c: Likewise.
32977 * script/lua/lparser.c: Likewise.
32978 * script/lua/lparser.h: Likewise.
32979 * script/lua/lstate.c: Likewise.
32980 * script/lua/lstate.h: Likewise.
32981 * script/lua/lstring.c: Likewise.
32982 * script/lua/lstring.h: Likewise.
32983 * script/lua/lstrlib.c: Likewise.
32984 * script/lua/ltable.c: Likewise.
32985 * script/lua/ltable.h: Likewise.
32986 * script/lua/ltablib.c: Likewise.
32987 * script/lua/ltm.c: Likewise.
32988 * script/lua/ltm.h: Likewise.
32989 * script/lua/lua.h: Likewise.
32990 * script/lua/luaconf.h: Likewise.
32991 * script/lua/lualib.h: Likewise.
32992 * script/lua/lundump.c: Likewise.
32993 * script/lua/lundump.h: Likewise.
32994 * script/lua/lvm.c: Likewise.
32995 * script/lua/lvm.h: Likewise.
32996 * script/lua/lzio.c: Likewise.
32997 * script/lua/lzio.h: Likewise.
32998
32999 2009-05-16 Bean <bean123ch@gmail.com>
33000
33001 * include/grub/kernel.h (grub_module_header_types): Add type
33002 OBJ_TYPE_CONFIG.
33003
33004 * kern/main.c (grub_load_config): New function.
33005 (grub_main): Call grub_load_config to read boot config.
33006
33007 * grub-mkimage (generate_image): New parameter config_path.
33008 (options): New option --config.
33009 (main): Parse --config option, and pass it to generate_image.
33010
33011 2009-05-14 Christian Franke <franke@computer.org>
33012
33013 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33014 This fixes build on Cygwin.
33015
33016 2009-05-14 Pavel Roskin <proski@gnu.org>
33017
33018 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33019 jump. This saves two bytes, so the typical case of 2 swapped
33020 drives would fit 32 bytes.
33021
33022 2009-05-13 Pavel Roskin <proski@gnu.org>
33023
33024 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33025 grub_uint32_t to avoid a warning.
33026
33027 * loader/i386/linux.c (allocate_pages): When assigning
33028 real_mode_mem, cast through grub_size_t to fix a warning. The
33029 code already makes sure that the value would fit a pointer.
33030 (grub_linux_setup_video): Cast render_target->data to
33031 grub_size_t to fix a warning.
33032
33033 2009-05-13 Javier Martín <lordhabbit@gmail.com>
33034
33035 * commands/i386/pc/drivemap.c: New file - implement drivemap
33036 command.
33037 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33038 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33039
33040 2009-05-13 Pavel Roskin <proski@gnu.org>
33041
33042 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33043 embedding_area_exists.
33044
33045 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33046
33047 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33048 it easier to understand / work with.
33049 Improve warning messages for cases where there's no embedding area,
33050 or when it is too small (or core.img too large).
33051
33052 2009-05-13 Pavel Roskin <proski@gnu.org>
33053
33054 * loader/i386/pc/multiboot2.c: Add necessary includes for
33055 grub_multiboot2_real_boot().
33056
33057 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33058 PX record is always little-endian. We only need the lower 2
33059 bytes of the mode.
33060
33061 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33062 facilitate code reuse.
33063 (grub_cpio_mount): Use "struct head", not a char buffer. This
33064 fixes a warning reported by gcc 4.4.
33065
33066 * kernel/disk.c (grub_disk_read): Use void pointer for the
33067 buffer.
33068 (grub_disk_write): Use const void pointer for the buffer.
33069 Adjust all callers. Remove unnecessary casts.
33070
33071 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33072
33073 * util/i386/pc/grub-install.in: Update copyright year.
33074
33075 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33076
33077 gptsync
33078
33079 * commands/gptsync.c: new file
33080 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33081 (gptsync_mod_SOURCES): new variable
33082 (gptsync_mod_CFLAGS): likewise
33083 (gptsync_mod_LDFLAGS): likewise
33084 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
33085 new definition
33086 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33087 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33088 * conf/i386-ieee1275.rmk: likewise
33089 * conf/i386-pc.rmk: likewise
33090 * conf/powerpc-ieee1275.rmk: likewise
33091
33092 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33093
33094 Fixed grub-emu
33095
33096 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33097 (grub_dl_ref): likewise
33098
33099 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33100
33101 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33102 split in two functions (one for msdos and one for gpt).
33103
33104 2009-05-08 Pavel Roskin <proski@gnu.org>
33105
33106 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33107 not modified.
33108
33109 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33110 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33111 Initialize them with -1. Add sanity check for bad1. Eliminate
33112 nerr variable.
33113
33114 2009-05-08 David S. Miller <davem@davemloft.net>
33115
33116 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33117
33118 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33119
33120 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
33121 existence.
33122
33123 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
33124
33125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33126 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
33127
33128 2009-05-05 David S. Miller <davem@davemloft.net>
33129
33130 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33131
33132 2009-05-05 Pavel Roskin <proski@gnu.org>
33133
33134 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33135 of grub_dl_ref() and grub_dl_unref().
33136 * commands/parttool.c: Remove preprocessor conditionals around
33137 grub_dl_ref() and grub_dl_unref().
33138 * fs/affs.c: Likewise.
33139 * fs/afs.c: Likewise.
33140 * fs/cpio.c: Likewise.
33141 * fs/ext2.c: Likewise.
33142 * fs/fat.c: Likewise.
33143 * fs/hfs.c: Likewise.
33144 * fs/hfsplus.c: Likewise.
33145 * fs/iso9660.c: Likewise.
33146 * fs/jfs.c: Likewise.
33147 * fs/minix.c: Likewise.
33148 * fs/ntfs.c: Likewise.
33149 * fs/reiserfs.c: Likewise.
33150 * fs/sfs.c: Likewise.
33151 * fs/udf.c: Likewise.
33152 * fs/ufs.c: Likewise.
33153 * fs/xfs.c: Likewise.
33154 * include/grub/dl.h: Likewise.
33155 * loader/xnu.c: Likewise.
33156
33157 2009-05-04 Pavel Roskin <proski@gnu.org>
33158
33159 * commands/acpi.c: Remove unused variable my_mod.
33160 * partmap/amiga.c: Likewise.
33161 * partmap/apple.c: Likewise.
33162 * partmap/gpt.c: Likewise.
33163 * partmap/pc.c: Likewise.
33164 * partmap/sun.c: Likewise.
33165 * term/gfxterm.c: Likewise.
33166 * term/i386/pc/vesafb.c: Likewise.
33167 * term/i386/pc/vga.c: Likewise.
33168
33169 2009-05-04 David S. Miller <davem@davemloft.net>
33170
33171 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33172 pointer args to grub_ieee1275_get_property().
33173
33174 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33175
33176 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33177 devices, and do not traverse down under controller nodes.
33178
33179 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33180 (grub_ofdisk_open): Use it to un-escape "," characters.
33181 * kern/disk.c (find_part_sep): New.
33182 (grub_disk_open): Use it to find the first non-escaped ','
33183 character in the disk name.
33184 * util/ieee1275/devicemap.c (escape_of_path): New.
33185 (grub_util_emit_devicemap_entry): Use it.
33186 * util/sparc64/ieee1275/grub-install.in: Update script to
33187 strip partition specifiers properly by not triggering on
33188 '\' escaped ',' characters.
33189
33190 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33191
33192 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33193 to 0x300.
33194 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33195 resolutions.
33196 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33197 on documentation from Wikipedia).
33198
33199 2009-05-04 Pavel Roskin <proski@gnu.org>
33200
33201 * disk/ata.c: Spelling fixes.
33202 * disk/raid.c: Likewise.
33203 * disk/usbms.c: Likewise.
33204 * disk/dmraid_nvidia.c: Likewise.
33205 * kern/ieee1275/openfw.c: Likewise.
33206 * kern/ieee1275/init.c: Likewise.
33207 * kern/ieee1275/cmain.c: Likewise.
33208 * boot/i386/pc/cdboot.S: Likewise.
33209 * video/readers/png.c: Likewise.
33210 * video/i386/pc/vbe.c: Likewise.
33211 * fs/udf.c: Likewise.
33212 * fs/hfs.c: Likewise.
33213 * fs/reiserfs.c: Likewise.
33214 * efiemu/runtime/efiemu.c: Likewise.
33215 * efiemu/main.c: Likewise.
33216 * efiemu/mm.c: Likewise.
33217 * include/grub/elf.h: Likewise.
33218 * include/grub/xnu.h: Likewise.
33219 * include/grub/usbdesc.h: Likewise.
33220 * include/grub/usb.h: Likewise.
33221 * include/grub/script_sh.h: Likewise.
33222 * include/grub/lib/LzmaEnc.h: Likewise.
33223 * include/grub/efiemu/efiemu.h: Likewise.
33224 * include/grub/command.h: Likewise.
33225 * normal/menu.c: Likewise.
33226 * normal/main.c: Likewise.
33227 * normal/datetime.c: Likewise.
33228 * bus/usb/uhci.c: Likewise.
33229 * mmap/i386/uppermem.c: Likewise.
33230 * mmap/mmap.c: Likewise.
33231 * commands/acpi.c: Likewise.
33232 * commands/test.c: Likewise.
33233 * partmap/apple.c: Likewise.
33234 * font/font.c: Likewise.
33235 * loader/sparc64/ieee1275/linux.c: Likewise.
33236 * loader/macho.c: Likewise.
33237 * loader/i386/bsd_trampoline.S: Likewise.
33238 * loader/i386/bsd.c: Likewise.
33239 * loader/xnu.c: Likewise.
33240 * term/i386/pc/vesafb.c: Likewise.
33241 * term/usb_keyboard.c: Likewise.
33242 * util/resolve.c: Likewise.
33243 * util/getroot.c: Likewise.
33244
33245 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
33246
33247 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33248
33249 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33250
33251 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33252 build error.
33253
33254 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33255
33256 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33257 parameter only available on BIOS.
33258
33259 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33260
33261 Removed wrong semicolon in declaration
33262
33263 * grub/misc.h (grub_dprintf): remove semicolon
33264
33265 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33266
33267 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33268 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33269 is done by grub_cmd_linux() now).
33270 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33271 restore video to text mode.
33272 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33273 indicates lack of "vga=" parameter. "vga=0" is mapped to
33274 `GRUB_LINUX_VID_MODE_NORMAL'.
33275
33276 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
33277
33278 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33279 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33280 and `normal/script.c'. Add `kern/rescue_reader.c',
33281 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
33282 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33283 `grub_script.tab.c'.
33284
33285 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33286 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33289 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33290
33291 * Makefile.in: Remove duplicated 2008 in Copyright line.
33292
33293 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33294
33295 * util/misc.c (grub_util_warn): New function. Emits a warning
33296 unconditionally.
33297 * include/grub/util/misc.h (grub_util_warn): New declaration.
33298
33299 * util/i386/pc/grub-install.in: Understand --force and pass it down
33300 to grub-setup.
33301
33302 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33303 down to setup().
33304 (setup): Improve error messages and add warnings when requested to
33305 install in odd layouts. Refuse to install using blocklists unless
33306 --force was set.
33307
33308 2009-05-04 martin f. krafft <madduck@madduck.net>
33309
33310 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33311
33312 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33313
33314 Updated copyright year
33315
33316 * fs/hfsplus.c: updated copyright year
33317
33318 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33319
33320 HFS+ UUID
33321
33322 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
33323 in the space previously used by unused3
33324 (grub_hfsplus_uuid): new function
33325 (grub_hfsplus_fs): added uuid field
33326
33327 2009-05-03 Pavel Roskin <proski@gnu.org>
33328
33329 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33330 suppress warnings. It's no longer needed.
33331 * disk/host.c: Likewise.
33332 * disk/ata_pthru.c: Likewise.
33333 * disk/loopback.c: Likewise.
33334 * hook/datehook.c: Likewise.
33335 * parttool/pcpart.c: Likewise.
33336 * fs/i386/pc/pxe.c: Likewise.
33337 * fs/ntfscomp.c: Likewise.
33338 * efiemu/main.c: Likewise.
33339 * mmap/mmap.c: Likewise.
33340 * commands/crc.c: Likewise.
33341 * commands/hexdump.c: Likewise.
33342 * commands/hdparm.c: Likewise.
33343 * commands/acpi.c: Likewise.
33344 * commands/echo.c: Likewise.
33345 * commands/minicmd.c: Likewise.
33346 * commands/blocklist.c: Likewise.
33347 * commands/memrw.c: Likewise.
33348 * commands/loadenv.c: Likewise.
33349 * commands/usbtest.c: Likewise.
33350 * commands/lsmmap.c: Likewise.
33351 * commands/boot.c: Likewise.
33352 * commands/parttool.c: Likewise.
33353 * commands/configfile.c: Likewise.
33354 * commands/search.c: Likewise.
33355 * commands/ieee1275/suspend.c: Likewise.
33356 * commands/cat.c: Likewise.
33357 * commands/i386/pc/pxecmd.c: Likewise.
33358 * commands/i386/pc/play.c: Likewise.
33359 * commands/i386/pc/halt.c: Likewise.
33360 * commands/i386/pc/vbeinfo.c: Likewise.
33361 * commands/i386/pc/vbetest.c: Likewise.
33362 * commands/lspci.c: Likewise.
33363 * commands/date.c: Likewise.
33364 * commands/handler.c: Likewise.
33365 * commands/ls.c: Likewise.
33366 * commands/test.c: Likewise.
33367 * commands/cmp.c: Likewise.
33368 * commands/efi/loadbios.c: Likewise.
33369 * commands/efi/fixvideo.c: Likewise.
33370 * commands/halt.c: Likewise.
33371 * commands/help.c: Likewise.
33372 * commands/reboot.c: Likewise.
33373 * hello/hello.c: Likewise.
33374 * script/sh/main.c: Likewise.
33375 * loader/xnu.c: Likewise.
33376 * term/terminfo.c: Likewise.
33377 * term/i386/pc/serial.c: Likewise.
33378 * term/usb_keyboard.c: Likewise.
33379
33380 2009-05-03 David S. Miller <davem@davemloft.net>
33381
33382 * normal/menu.c: Include grub/parser.h
33383
33384 2009-05-03 Pavel Roskin <proski@gnu.org>
33385
33386 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33387 not char*.
33388 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33389 Suggested by Javier Martín <lordhabbit@gmail.com>
33390
33391 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33392 efiemu??.o doesn't exist.
33393 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33394 copying.
33395
33396 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
33397
33398 FreeBSD 64-bit support
33399
33400 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
33401 and loader/i386/bsd_trampoline.S
33402 (bsd_mod_ASFLAGS): new variable
33403 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33404 (FREEBSD_MODTYPE_KERNEL64): likewise
33405 (grub_bsd64_trampoline_start): likewise
33406 (grub_bsd64_trampoline_end): likewise
33407 (grub_bsd64_trampoline_selfjump): likewise
33408 (grub_bsd64_trampoline_gdt): likewise
33409 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33410 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33411 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33412 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
33413 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
33414 of "attrib" member
33415 * loader/i386/bsd_pagetable.c: new file
33416 * loader/i386/bsd_trampoline.S: likewise
33417 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33418 (ALIGN_VAR): likewise
33419 (entry_hi): new variable
33420 (kern_end_mdofs): likewise
33421 (is_64bit): likewise
33422 (grub_freebsd_add_meta): use ALIGN_VAR
33423 (grub_e820_mmap): new declaration
33424 (grub_freebsd_add_mmap): new function
33425 (grub_freebsd_add_meta_module): support 64 bit kernels
33426 (grub_freebsd_list_modules): use ALIGN_VAR
33427 (gdt_descriptor): new declaration
33428 (grub_freebsd_boot): support 64 bit kernels
33429 (grub_bsd_elf64_hook): new function
33430 (grub_bsd_load_elf): support elf64
33431
33432 2009-05-03 Bean <bean123ch@gmail.com>
33433
33434 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33435 after we get the result of if statement.
33436
33437 2009-05-03 Bean <bean123ch@gmail.com>
33438
33439 * Makefile.in (enable_efiemu): New variable.
33440
33441 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33442 set.
33443 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33444 path.
33445 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33446 path, add -mno-red-zone option.
33447 (efiemu64_s.o): Likewise.
33448 (efiemu64.o): Use macro $^ for source file.
33449
33450 * configure.ac (--enable-efiemu): New option.
33451
33452 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33453
33454 xnu support
33455
33456 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33457 (pkglib_MODULES): add xnu.mod
33458 (xnu_mod_SOURCES): new variable
33459 (xnu_mod_CFLAGS): likewise
33460 (xnu_mod_LDFLAGS): likewise
33461 (xnu_mod_ASFLAGS): likewise
33462 * conf/i386-pc.rmk: likewise
33463 * conf/x86_64-efi.rmk: likewise
33464 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
33465 new declaration
33466 * include/grub/i386/macho.h: new file
33467 * include/grub/i386/xnu.h: likewise
33468 * include/grub/macho.h: likewise
33469 * include/grub/machoload.h: likewise
33470 * include/grub/x86_64/macho.h: likewise
33471 * include/grub/x86_64/xnu.h: likewise
33472 * include/grub/xnu.h: likewise
33473 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33474 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33475 * loader/i386/efi/xnu.c: new file
33476 * loader/i386/pc/xnu.c: likewise
33477 * loader/i386/xnu.c: likewise
33478 * loader/i386/xnu_helper.S: likewise
33479 * loader/macho.c: likewise
33480 * loader/xnu.c: likewise
33481 * loader/xnu_resume.c: likewise
33482 * util/grub-dumpdevtree: likewise
33483 * include/grub/i386/pit.h: include grub/err.h
33484 (grub_pit_wait): export
33485 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
33486
33487 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33488
33489 Efiemu
33490
33491 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
33492 _linux_efi, linux_efi.
33493 new files in grub-emu
33494 new targets efiemu32.o and efiemu64.o
33495 * loader/linux_normal_efiemu.c: likewise
33496 * loader/i386/efi/linux.c: added preliminary efiemu support
33497 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
33498 files to copy
33499 * include/grub/autoefi.h: new file
33500 * include/grub/i386/efiemu.h: likewise
33501 * include/grub/i386/pc/efiemu.h: likewise
33502 * include/grub/efi/api.h: add LL suffix when necessary
33503 new definitions relating to tables
33504 * include/grub/efiemu/efiemu.h: new file
33505 * include/grub/efiemu/runtime.h: likewise
33506 * efiemu/prepare.c: likewise
33507 * efiemu/loadcore_common.c: likewise
33508 * efiemu/loadcore64.c: likewise
33509 * efiemu/runtime/efiemu.sh: likewise
33510 * efiemu/runtime/efiemu.S: likewise
33511 * efiemu/runtime/efiemu.c: likewise
33512 * efiemu/runtime/config.h: likewise
33513 * efiemu/prepare32.c: likewise
33514 * efiemu/main.c: likewise
33515 * efiemu/modules/pnvram.c: likewise
33516 * efiemu/modules/i386: likewise
33517 * efiemu/modules/i386/pc: likewise
33518 * efiemu/modules/acpi.c: likewise
33519 * efiemu/i386/pc/cfgtables.c: likewise
33520 * efiemu/i386/loadcore64.c: likewise
33521 * efiemu/i386/loadcore32.c: likewise
33522 * efiemu/prepare64.c: likewise
33523 * efiemu/loadcore.c: likewise
33524 * efiemu/symbols.c: likewise
33525 * efiemu/mm.c: likewise
33526 * efiemu/loadcore32.c: likewise
33527
33528 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33529
33530 ACPI spoofing
33531
33532 * commands/acpi.c: new file
33533 * commands/i386/pc/acpi.c: likewise
33534 * commands/efi/acpi.c: likewise
33535 * include/grub/acpi.h: likewise
33536 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33537 (acpi_mod_SOURCES): new variable
33538 (acpi_mod_CFLAGS): likewise
33539 (acpi_mod_LDFLAGS): likewise
33540 * conf/i386-efi.rmk: likewise
33541 * conf/x86_64-efi.rmk: likewise
33542
33543 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33544
33545 Missing part from mmap patch
33546
33547 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33548 (grub_mmap_unregister)
33549 (grub_mmap_free_and_unregister): use grub_mmap_register
33550
33551 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33552
33553 Mmap services
33554
33555 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33556 * loader/i386/linux.c (find_mmap_size): likewise
33557 (allocate_pages): likewise
33558 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33559 (grub_fill_multiboot_mmap): likewise
33560 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33561 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33562 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33563 (OPENBSD_MMAP_RESERVED): likewise
33564 * include/grub/i386/pc/memory.h: include grub/memory.h
33565 (grub_lower_mem): removed
33566 (grub_upper_mem): likewise
33567 (GRUB_MACHINE_MEMORY_ACPI): new definition
33568 (GRUB_MACHINE_MEMORY_NVS): likewise
33569 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33570 (GRUB_MACHINE_MEMORY_HOLE): likewise
33571 (grub_machine_mmap_register): likewise
33572 (grub_machine_mmap_unregister): likewise
33573 (grub_machine_get_upper): likewise
33574 (grub_machine_get_lower): likewise
33575 (grub_machine_get_post64): likewise
33576 * include/grub/i386/efi/memory.h: new file
33577 * include/grub/x86_64/efi/memory.h: likewise
33578 * include/grub/efi/memory.h: likewise
33579 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33580 (mmap_mod_SOURCES): new variable
33581 (mmap_mod_LDFLAGS): likewise
33582 (mmap_mod_ASFLAGS): likewise
33583 * conf/i386-coreboot.rmk: likewise
33584 * conf/i386-ieee1275.rmk: likewise
33585 * conf/i386-efi.rmk: likewise
33586 * conf/x86_64-efi.rmk: likewise
33587 * include/grub/types.h (UINT_TO_PTR): new macro
33588 (PTR_TO_UINT32): likewise
33589 (PTR_TO_UINT64): likewise
33590 * include/grub/memory.h: new file
33591 * mmap/i386/pc/mmap.c: likewise
33592 * mmap/i386/pc/mmap_helper.S: likewise
33593 * mmap/i386/uppermem.c: likewise
33594 * mmap/mmap.c: likewise
33595 * mmap/efi/mmap.c: likewise
33596 * kern/i386/coreboot/init.c (grub_machine_init): don't use
33597 grub_upper_mem
33598 * kern/i386/pc/init.c (grub_lower_mem): removed variable
33599 (grub_upper_mem): likewise
33600 (grub_machine_init): don't use grub_upper_mem,
33601 make grub_lower_mem local
33602 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
33603 grub_mmap_iterate and grub_mmap_get_upper
33604 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
33605
33606 2009-05-02 Bean <bean123ch@gmail.com>
33607
33608 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
33609 script/sh/parser.y.
33610 (pkglib_MODULES): Add normal.mod and sh.mod.
33611 (normal_SOURCES): New variable.
33612 (normal_mod_CFLAGS): Likewise.
33613 (normal_mod_LDFLAGS): Likewise.
33614 (sh_mod_SOURCES): Likewise.
33615 (sh_mod_CFLAGS): Likewise.
33616 (sh_mod_LDFLAGS): Likewise.
33617
33618 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
33619 script/sh/lexer.c_DEPENDENCIES.
33620 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
33621 kern/rescue_reader.c and kern/rescue_parser.c.
33622 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
33623 (grub_emu_SOURCES): Change source files.
33624 (pkglib_MODULES): Remove normal.mod.
33625 (normal_SOURCES): Removed.
33626 (normal_mod_CFLAGS): Likewise.
33627 (normal_mod_LDFLAGS): Likewise.
33628 * conf/i386-coreboot.rmk: Likewise.
33629 * conf/i386-efi.rmk: Likewise.
33630 * conf/i386-ieee1276.rmk: Likewise.
33631 * conf/powerpc-ieee1275.rmk: Likewise.
33632 * conf/sparc64-ieee1275.rmk: Likewise.
33633 * conf/x86_64-efi.rmk: Likewise.
33634
33635 * include/grub/command.h (grub_command_execute): New inline function.
33636
33637 * include/grub/menu.h (grub_menu_entry): Removed commands field.
33638
33639 * include/grub/normal.h: Remove <grub/setjmp.h>.
33640 (grub_fs_module_list): Moved to normal/autofs.c.
33641 (grub_exit_env): Removed.
33642 (grub_command_execute): Likewise.
33643 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
33644 parameter script.
33645 (read_command_list): New function declaration.
33646 (read_fs_list): Likewise.
33647
33648 * include/parser.h: Include <grub/reader.h>.
33649 (grub_parser_split_cmdline): Change type of getline parameter.
33650 (grub_parser): New structure.
33651 (grub_parser_class): New variable.
33652 (grub_parser_execute): New function declaration.
33653 (grub_register_rescue_parser): Likewise.
33654 (grub_parser_register): New inline function.
33655 (grub_parser_unregister): Likewise.
33656 (grub_parser_get_current): Likewise.
33657 (grub_parser_set_current): Likewise.
33658
33659 * include/grub/reader.h: New file.
33660 * kern/reader.c: Likewise.
33661 * kern/rescue_parser.c: Likewise.
33662 * kern/rescue_reader.c: Likewise.
33663 * normal/autofs.c: Likewise.
33664 * normal/dyncmd.c: Likewise.
33665
33666 * include/grub/rescue.h: Removed.
33667 * normal/command.h: Likewise.
33668
33669 * include/grub/script.h: Moved to ...
33670 * include/grub/script_sh.h: ... Moved here.
33671 * normal/execute.c: Moved to ...
33672 * script/sh/execute.c: ... Moved here.
33673 * normal/function.c: Moved to ...
33674 * script/sh/function.c: ... Moved here.
33675 * normal/lexer.c: Moved to ...
33676 * script/sh/lexer.c: ... Moved here.
33677 * normal/parser.y: Moved to ...
33678 * script/sh/parser.y: ... Moved here.
33679 * normal/script.c: Moved to ...
33680 * script/sh/script.c: ... Moved here.
33681
33682 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
33683 <grub/reader.h>.
33684 (grub_exit_env): Removed.
33685 (fs_module_list): Moved to normal/autofs.c.
33686 (grub_file_getline): Don't handle comment here.
33687 (free_menu): Skip removed field entry->commands.
33688 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
33689 script parameter.
33690 (read_config_file): Removed nested parameter, change getline function.
33691 (grub_enter_normal_mode): Removed.
33692 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
33693 (read_command_list): Likewise.
33694 (autoload_fs_module): Moved to normal/autofs.c.
33695 (read_fs_list): Likewise.
33696 (reader_nested): New variable.
33697 (grub_normal_execute): Run parser.sh to switch to sh parser.
33698 (grub_cmd_rescue): Removed.
33699 (cmd_normal): Removed.
33700 (grub_cmd_normal): Unregister itself at the beginning. Don't register
33701 rescue command.
33702 (grub_cmdline_run): New function.
33703 (grub_normal_reader_init): Likewise.
33704 (grub_normal_read_line): Likewise.
33705 (grub_env_write_pager): Likewise.
33706 (cmdline): New variable.
33707 (grub_normal_reader): Likewise.
33708 (GRUB_MOD_INIT): Register normal reader and set as current, register
33709 pager hook, register normal command with grub_register_command_prio,
33710 so that it won't show up in command.lst.
33711 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
33712 grub_fs_autoload_hook.
33713
33714 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
33715 (grub_menu_execute_entry): Replace grub_script_execute with
33716 grub_parser_execute, change parameter to grub_command_execute.
33717
33718 * normal/menu_text.c: Remove <grub/script.h>.
33719
33720 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
33721 and <grub/parser.h>.
33722 (run): Change editor_getline to use new parser interface. Change
33723 parameter to grub_command_execute.
33724
33725 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
33726 <grub/reader.h> and <grub/parser.h>.
33727 (grub_load_normal_mode): Execute normal command.
33728 (grub_main): Call grub_register_core_commands,
33729 grub_register_rescue_parser and grub_register_rescue_reader, use
33730 grub_reader_loop to enter input loop.
33731
33732 * kern/parser.c (grub_parser_split_cmdline): Change type of
33733 getline parameter.
33734 (grub_parser_class): New variable.
33735 (grub_parser_execute): New function.
33736
33737 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
33738 * loader/multiboot2.c: Likewise.
33739 * loader/sparc64/ieee1275/linux.c: Likewise.
33740
33741 * util/grub-emu.c (read_command_list): New dummy function.
33742
33743 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33744
33745 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
33746 count to 16 for CCISS and IDA.
33747
33748 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33749
33750 * normal/menu_text.c (grub_wait_after_message): Print a newline
33751 after waiting for user input.
33752
33753 * loader/i386/linux.c: Include `<grub/normal.h>'.
33754 (grub_cmd_linux): Improve the error message about `ask' mode, by
33755 waiting for user input so it's not missed (we can do this, since
33756 user requested interaction).
33757
33758 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33759
33760 Added missing lst to grub-mkrescue
33761
33762 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
33763 and ${input_dir}/parttool.lst
33764
33765 2009-04-30 David S. Miller <davem@davemloft.net>
33766
33767 * util/hostdisk.c (device_is_wholedisk): New function.
33768 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
33769 zero only if device_is_wholedisk() returns true.
33770
33771 * util/hostdisk.c (convert_system_partition_to_system_disk):
33772 Handle virtual disk devices named /dev/vdiskX as found on sparc
33773 and powerpc.
33774
33775 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
33776 lettered partition specifier is found, convert to numbered.
33777
33778 2009-04-29 David S. Miller <davem@davemloft.net>
33779
33780 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
33781 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33782
33783 * normal/command.c: Add missing newline at end of file.
33784
33785 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
33786 warnings.
33787 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
33788 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
33789 grub_ofdisk_read): Likewise, and deal similarly with the fact that
33790 ihandles have a 32-bit type but need to be stored in a "void *".
33791
33792 2009-04-28 Pavel Roskin <proski@gnu.org>
33793
33794 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
33795 not disk. Adjust all dependencies.
33796 (grub_fs_uuid_close): Use grub_device_close(), not
33797 grub_disk_close().
33798
33799 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
33800 parent's partition, don't copy it by reference, as it gets freed
33801 on close.
33802
33803 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33804
33805 Preboot hooks support
33806
33807 * commands/boot.c (struct grub_preboot_t): new declaration
33808 (preboots_head): new variable
33809 (preboots_tail): likewise
33810 (grub_loader_register_preboot_hook): new function
33811 (grub_loader_unregister_preboot_hook): likewise
33812 (grub_loader_set): launch preboot hooks
33813 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
33814 (grub_loader_register_preboot_hook): new declaration
33815 (grub_loader_unregister_preboot_hook): likewise
33816
33817 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33818
33819 Warning fix
33820
33821 * disk/scsi.c (grub_scsi_open): added missing cast when
33822 calling grub_dprintf
33823
33824 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
33825
33826 Bug and warning fixes
33827
33828 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
33829 declaration
33830 * commands/test.c (test_parse): fixed bug with file tests and corrected
33831 declaration of find_file
33832
33833 2009-04-26 Pavel Roskin <proski@gnu.org>
33834
33835 * Makefile.in: Don't install empty manual pages if help2man is
33836 missing. Use help2man option for output, not shell redirection.
33837
33838 2009-04-26 David S. Miller <davem@davemloft.net>
33839
33840 * util/grub-mkdevicemap.c (make_device_map): Add missing
33841 NESTED_FUNC_ATTR to process_device().
33842
33843 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33844
33845 Test command
33846
33847 * commands/test.c: rewritten to use bash-like test
33848
33849 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33850
33851 Parttool autoloading and improvements
33852
33853 * Makefile.in (pkglib_DATA): add parttool.lst
33854 (parttool.lst): new target
33855 * genmk.rb: generate parttool-*
33856 (CLEANFILES): add #{parttool}
33857 (PARTTOOLFILES): new variable
33858 * genparttoollist.sh: new file
33859 * parttool/pcpart.c (grub_pcpart_boot): more feedback
33860 (grub_pcpart_type): likewise
33861 * commands/parttool.c (helpmsg): new variable
33862 (grub_cmd_parttool): output help if not enough arguments are supplied
33863 autoload modules
33864 (GRUB_MOD_INIT(parttool)): use helpmsg
33865
33866 2009-04-24 David S. Miller <davem@davemloft.net>
33867
33868 Avoiding opening same device multiple times in device iterator.
33869
33870 * kern/device.c: (grub_device_iterate): Define struct part_ent,
33871 and use it to build a list of partitions in iterate_disk() and
33872 iterate_partition().
33873
33874 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
33875 on disk->data.
33876
33877 * disk/ieee1275/nand.c (grub_nand_iterate): Return
33878 grub_devalias_iterate() result instead of unconditional 0.
33879 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
33880 Also, capture hook return value, either directly or via
33881 grub_children_iterate(), and propagate to caller.
33882 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
33883 grub_children_iterate): Return value is now 'int' instead of
33884 'grub_err_t'.
33885 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
33886 like a proper iterator, stopping when hooks return non-zero.
33887 (grub_devalias_iterate): Likewise.
33888
33889 2009-04-23 David S. Miller <davem@davemloft.net>
33890
33891 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
33892
33893 2009-04-22 David S. Miller <davem@davemloft.net>
33894
33895 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
33896 is larger than address_cells, use that value for address_cells too.
33897
33898 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
33899 IEEE1275_MAX_PATH_LEN): Define.
33900 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
33901 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
33902 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
33903 'devtype'. Explicitly NULL terminate devalias expansion.
33904
33905 * util/sparc64/ieee1275/misc.c: New file.
33906 * util/sparc64/ieee1275/grub-setup.c: New file.
33907 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
33908 * util/sparc64/ieee1275/grub-mkimage.c: New file.
33909 * util/sparc64/ieee1275/grub-install.in: New file.
33910 * util/ieee1275/ofpath.c: New file.
33911 * util/ieee1275/devicemap.c: New file.
33912 * util/devicemap.c: New file.
33913 * util/deviceiter.c: New file.
33914 * kern/sparc64/ieee1275/init.c: New file.
33915 * include/grub/util/ofpath.h: New file.
33916 * include/grub/util/deviceiter.h: New file.
33917 * util/grub-mkdevicemap.c: Include deviceiter.h.
33918 Implement using grub_util_emit_devicemap_entry and
33919 grub_util_iterate_devices.
33920 * conf/i386-corebook.rmk: Build util/deviceiter.c and
33921 util/devicemap.c into grub-mkdevicemap
33922 * conf/i386-efi.rmk: Likewise.
33923 * conf/i386-ieee1275.rmk: Likewise.
33924 * conf/i386-pc.rmk: Likewise.
33925 * conf/powerpc-ieee1275.rmk: Likewise.
33926 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
33927 images and installation utilities. Build kernel as image
33928 instead of as elf binary. Use common rules as much as possible.
33929
33930 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
33931
33932 Correct GPT definition
33933
33934 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
33935 of "attrib" member
33936
33937 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
33938
33939 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
33940
33941 2009-04-19 David S. Miller <davem@davemloft.net>
33942
33943 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
33944 (grub_rescue_cmd_linux): Rename to...
33945 (grub_cmd_linux): and fix prototype.
33946 (grub_rescue_cmd_initrd): Rename to...
33947 (grub_cmd_initrd): and fix prototype.
33948 (cmd_linux, cmd_initrd): New.
33949 (GRUB_MOD_INIT(linux)): Use grub_register_command().
33950 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
33951
33952 2009-04-17 Pavel Roskin <proski@gnu.org>
33953
33954 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
33955 format.
33956 (grub_ohci_transfer): Likewise.
33957
33958 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
33959
33960 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
33961 return without a value. Fix inconsistent indentation.
33962
33963 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
33964 match struct grub_fs.
33965
33966 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
33967 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
33968 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33969 * commands/lspci.c (grub_lspci_iter): Likewise.
33970
33971 2009-04-16 Bean <bean123ch@gmail.com>
33972
33973 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
33974 value.
33975
33976 2009-04-15 Pavel Roskin <proski@gnu.org>
33977
33978 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
33979 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
33980 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
33981 definitions.
33982
33983 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
33984
33985 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
33986 that no multiple data or metadata areas are supported and `Unknown
33987 metadata header'.
33988
33989 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
33990
33991 Move loader out of the kernel
33992
33993 * kern/loader.c: moved to ...
33994 * commands/boot.c: ... moved here
33995 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
33996 * commands/boot.c (grub_cmd_boot): moved here. All users updated
33997 * include/grub/kernel.h (grub_machine_fini): export
33998 * include/grub/loader.h (grub_loader_is_loaded): update declaration
33999 (grub_loader_set): likewise
34000 (grub_loader_unset): likewise
34001 (grub_loader_boot): likewise
34002 * conf/common.rmk: new module boot.mod
34003 (pkglib_MODULES): add boot.mod
34004 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34005 (grub_emu_SOURCES): likewise
34006 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34007 (grub_emu_SOURCES): likewise
34008 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34009 (grub_emu_SOURCES): likewise
34010 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34011 (grub_emu_SOURCES): likewise
34012 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34013 (grub_emu_SOURCES): likewise
34014 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34015 (grub_emu_SOURCES): likewise
34016 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
34017 (grub_emu_SOURCES): likewise
34018
34019 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
34020
34021 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
34022
34023 * kern/misc.c (grub_itoa): Removed function
34024 (grub_ltoa): likewise
34025 (grub_vsprintf): use grub_lltoa
34026
34027 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
34028
34029 Restore grub-emu
34030
34031 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34032 * conf/i386-coreboot.rmk: likewise
34033 * conf/i386-ieee1275.rmk: likewise
34034 * conf/powerpc-ieee1275.rmk: likewise
34035
34036 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
34037
34038 * INSTALL: Add that `./autogen.sh' needs to be run before
34039 `./configure.'.
34040
34041 2009-04-14 Bean <bean123ch@gmail.com>
34042
34043 * Makefile.in (pkglib_DATA): Add handler.lst.
34044 (handler.lst): New rule.
34045
34046 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34047 * conf/i386-coreboot.rmk: Likewise.
34048 * conf/i386-ieee1275.rmk: Likewise.
34049 * conf/i386-efi.rmk: Likewise.
34050 * conf/x86_64-efi.rmk: Likewise.
34051 * conf/powerpc-ieee1275.rmk: Likewise.
34052 * conf/sparc64-ieee1275.rmk: Likewise.
34053
34054 * genhandlerlist.sh: New file.
34055
34056 * genmk.rb: Add rules to generate handler.lst.
34057
34058 * include/grub/normal.h (grub_file_getline): New function definition.
34059 (read_handler_list): Likewise.
34060 (free_handler_list): Likewise.
34061
34062 * include/grub/term.h (grub_term_register_input): Add name parameter
34063 for auto generation of handler.lst.
34064 (grub_term_register_output): Likewise.
34065
34066 * normal/handler.c: New file.
34067
34068 * normal/main.c (get_line): Renamed to grub_file_getline.
34069 (read_config_file): Use the newly renamed grub_file_getline.
34070 (read_command_list): Likewise.
34071 (read_fs_list): Likewise.
34072 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34073 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34074
34075 * term/efi/console.c (grub_console_init): Add name parameter for auto
34076 generation of handler.lst.
34077 * term/gfxterm.c: Likewise.
34078 * term/i386/pc/at_keyboard.c: Likewise.
34079 * term/i386/pc/console.c: Likewise.
34080 * term/i386/pc/serial.c: Likewise.
34081 * term/i386/pc/vesafb.c: Likewise.
34082 * term/i386/pc/vga.c: Likewise.
34083 * term/i386/pc/vga_text.c: Likewise.
34084 * term/ieee1275/ofconsole.c: Likewise.
34085 * term/usb_keyboard.c: Likewise.
34086
34087 2009-04-14 Bean <bean123ch@gmail.com>
34088
34089 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34090 properly with null character.
34091
34092 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
34093
34094 * configure: Remove.
34095 * config.h.in: Likewise.
34096 * stamp-h.in: Likewise.
34097 * DISTLIST: Likewise.
34098 * conf/common.mk: Likewise.
34099 * conf/i386-coreboot.mk: Likewise.
34100 * conf/i386-efi.mk: Likewise.
34101 * conf/i386-ieee1275.mk: Likewise.
34102 * conf/i386.mk: Likewise.
34103 * conf/i386-pc.mk: Likewise.
34104 * conf/powerpc-ieee1275.mk: Likewise.
34105 * conf/sparc64-ieee1275.mk: Likewise.
34106 * conf/x86_64-efi.mk: Likewise.
34107
34108 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34109 develop on GRUB.
34110
34111 2009-04-14 John Stanley <jpsinthemix@verizon.net>
34112 David S. Miller <davem@davemloft.net>
34113
34114 * util/hostdisk.c (make_device_name): Fix buffer length
34115 calculations.
34116
34117 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
34118
34119 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34120 <sys/param.h> and <sys/sysctl.h>.
34121 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34122 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34123 opening the device and reset them afterwards.
34124
34125 2009-04-13 Pavel Roskin <proski@gnu.org>
34126
34127 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34128 Reported by John Stanley <jpsinthemix@verizon.net>
34129
34130 2009-04-13 Robert Millan <rmh@aybabtu.com>
34131
34132 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
34133 that name for menuentries when appropriate.
34134
34135 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
34136
34137 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34138
34139 2009-04-13 Robert Millan <rmh@aybabtu.com>
34140
34141 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34142 to Linux, simply abort telling the user it's no longer supported.
34143
34144 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
34145
34146 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
34147 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
34148 `freebsd_loadenv' only when devices.hints exist.
34149
34150 2009-04-13 Pavel Roskin <proski@gnu.org>
34151
34152 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34153
34154 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
34155
34156 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34157 partition number.
34158 (grub_drive): Likewise.
34159
34160 2009-04-13 David S. Miller <davem@davemloft.net>
34161
34162 * kern/sparc64/ieee1275/ieee1275.c: New file.
34163 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34164 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34165 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34166 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34167 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34168 grub_ieee1275_alloc_physmem): Declare new exported functions.
34169
34170 * include/grub/sparc64/ieee1275/loader.h: New file.
34171 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34172 * include/grub/sparc64/kernel.h: Likewise.
34173 * loader/sparc64/ieee1275/linux.c: Likewise.
34174
34175 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34176 (grub_fstest_SOURCES): Likewise.
34177
34178 * util/hostdisk.c (make_device_name): Do not make any assumptions
34179 about the length of drive names.
34180
34181 * kern/dl.c (grub_dl_load_file): Close file immediately when
34182 we are done using it.
34183
34184 2009-04-12 David S. Miller <davem@davemloft.net>
34185
34186 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34187 values. Noticed by Pavel Roskin.
34188
34189 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34190 target compiler.
34191
34192 * genmk.rb: Add more flexible image type specification, also
34193 pass --strip-unneeded to objcopy.
34194 * conf/i386-pc.rmk: Use *_FORMAT.
34195 * conf/i386-pc.mk: Rebuilt.
34196
34197 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34198 (OFDISK_HASH_SZ): Define.
34199 (ofdisk_hash): New hash table.
34200 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34201 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34202 instead of device phandle which is not unique.
34203
34204 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34205 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34206 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34207 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34208 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34209 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34210 GRUB_KERNEL_MACHINE_DATA_END): Define.
34211 (grub_kernel_image_size, grub_total_module_size): Declare.
34212
34213 2009-04-12 Pavel Roskin <proski@gnu.org>
34214
34215 * configure.ac: Change the logic when we check for target tools.
34216 Do it when the target is specified and it's different from the
34217 specified value of the host.
34218
34219 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
34220
34221 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34222 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34223 GNU/kFreeBSD. Check if a device is a character device. Use
34224 DIOCGMEDIASIZE to get the size.
34225 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34226 support for GNU/kFreeBSD.
34227 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34228 is a character device instead of a block device. Add support for
34229 FreeBSD device names.
34230
34231 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34232 is a character device instead of a block device.
34233
34234 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34235 is a character device instead of a block device.
34236
34237 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34238
34239 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34240 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34241 FreeBSD. Check if a device is a character device. Use
34242 DIOCGMEDIASIZE to get the size.
34243 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34244 support for FreeBSD.
34245 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34246 is a character device instead of a block device. Add support for
34247 FreeBSD device names.
34248
34249 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34250 a character device instead of a block device.
34251 (grub_util_check_char_device): New function.
34252
34253 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34254 a character device instead of a block device.
34255
34256 * include/grub/util/getroot.h (grub_util_check_char_device): New
34257 prototype.
34258
34259 2009-04-11 David S. Miller <davem@davemloft.net>
34260
34261 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34262 static libgcc.
34263 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34264 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34265 function, if present.
34266 (__bswapdi2): Likewise.
34267
34268 * include/grub/sparc64/ieee1275/boot.h: New file.
34269 * boot/sparc64/ieee1275/boot.S: Likewise.
34270 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34271
34272 * kern/misc.c (grub_ltoa): New function.
34273 (grub_vsprintf): Use it to format 'long' integers.
34274
34275 2009-04-10 David S. Miller <davem@davemloft.net>
34276
34277 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34278 slots are of type grub_ieee1275_cell_t.
34279 (grub_nand_read): Likewise.
34280 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34281 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34282 macros are used to compare values in arg/ret block of the call.
34283 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34284 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34285 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34286 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34287 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34288 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34289 grub_ieee1275_close, grub_ieee1275_set_property,
34290 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34291 grub_ieee1275_cell_t.
34292 * kern/ieee1275/openfw.c (grub_map): Likewise.
34293 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34294 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34295
34296 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34297 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34298 (grub_devalias_iterate): Likewise.
34299
34300 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
34301
34302 UFS improvements
34303
34304 * fs/ufs.c (INODE_NBLOCKS): new definition
34305 (struct grub_ufs_dirent): added fields for non-BSD dirents
34306 (grub_ufs_get_file_block): fixed double indirect handling
34307 (grub_ufs_lookup_symlink): use more robust way to determine whether
34308 symlink is inline
34309 (grub_ufs_find_file): support for non-BSD dirents
34310 (grub_ufs_dir): support for non-BSD dirents
34311
34312 2009-04-10 Bean <bean123ch@gnail.com>
34313
34314 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34315 attribute, otherwise the size would be wrong for i386 platform.
34316
34317 * include/grub/pci.h (grub_pci_read_word): New inline function.
34318 (grub_pci_read_byte): Likewise.
34319 (grub_pci_write): Likewise.
34320 (grub_pci_write_word): Likewise.
34321 (grub_pci_write_byte): Likewise.
34322
34323 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34324
34325 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34326 (find_framebuf): Scan pci to locate the frame buffer address.
34327
34328 * commands/efi/fixvideo.c: New file.
34329
34330 * commands/efi/loadbios.c: Likewise.
34331
34332 * commands/memrw.c: Likewise.
34333
34334 * util/grub-dumpbios.in: Likewise.
34335
34336 * conf/common.rmk (grub-dumpbios): New utility.
34337 (pkglib_MODULES): New module memrw.mod.
34338 (memrw_mod_SOURCE): New macro.
34339 (memrw_mod_CFLAGS): Likewise.
34340 (memrw_mod_LDFLAGS): Likewise.
34341
34342 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
34343 fixvideo.mod.
34344 (loadbios_mod_SOURCE): New macro.
34345 (loadbios_mod_CFLAGS): Likewise.
34346 (loadbios_mod_LDFLAGS): Likewise.
34347 (fixvideo_mod_SOURCE): Likewise.
34348 (fixvideo_mod_CFLAGS): Likewise.
34349 (fixvideo_mod_LDFLAGS): Likewise.
34350
34351 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
34352 fixvideo.mod.
34353 (loadbios_mod_SOURCE): New macro.
34354 (loadbios_mod_CFLAGS): Likewise.
34355 (loadbios_mod_LDFLAGS): Likewise.
34356 (fixvideo_mod_SOURCE): Likewise.
34357 (fixvideo_mod_CFLAGS): Likewise.
34358 (fixvideo_mod_LDFLAGS): Likewise.
34359
34360 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
34361
34362 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34363
34364 2009-04-07 David S. Miller <davem@davemloft.net>
34365
34366 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34367 support for R_SPARC_OLO10 relocations. Fix compile warning for
34368 R_SPARC_WDISP30 case.
34369 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
34370
34371 2009-04-06 Pavel Roskin <proski@gnu.org>
34372
34373 * include/grub/misc.h (ARRAY_SIZE): New macro.
34374 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34375 New macro.
34376 * loader/i386/linux.c (allocate_pages): Use free_pages().
34377 (grub_linux_unload): Don't use free_pages().
34378 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34379 wrong index. Treat all other modes as text modes.
34380 (grub_cmd_linux): Initialize vid_mode unconditionally to
34381 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34382
34383 * commands/help.c (print_command_help): Use cmd->prio, not
34384 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34385
34386 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
34387
34388 Parttool
34389
34390 * parttool/pcpart.c: new file
34391 * commands/parttool.c: likewise
34392 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34393 (parttool_mod_SOURCES): new variable
34394 (parttool_mod_CFLAGS): likewise
34395 (parttool_mod_LDFLAGS): likewise
34396 (pcpart_mod_SOURCES): likewise
34397 (pcpart_mod_CFLAGS): likewise
34398 (pcpart_mod_LDFLAGS): likewise
34399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
34400 and parttool/pcpart.c
34401 * conf/i386-efi.rmk: likewise
34402 * conf/i386-ieee1275.rmk: likewise
34403 * conf/i386-pc.rmk: likewise
34404 * conf/powerpc-ieee1275.rmk: likewise
34405 * conf/sparc64-ieee1275.rmk: likewise
34406 * conf/x86_64-ieee1275.rmk: likewise
34407
34408 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34409
34410 Support for mtime and further expandability of dir command
34411
34412 * include/grub/lib/datetime.h: moved to ...
34413 * include/grub/datetime.h: ... moved here and added
34414 declaration of grub_unixtime2datetime. All users updated
34415 * include/grub/fs.h: new syntax for dir and mtime functions in
34416 struct grub_fs
34417 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34418 and GRUB_FSHELP_FLAGS_MASK
34419 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34420 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34421 (grub_ext2_mtime): new function
34422 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34423 (grub_hfsplus_mtime): new function
34424 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34425 (GRUB_UFS_ATTR_FILE): likewise
34426 (GRUB_UFS_ATTR_LNK): likewise
34427 (struct grub_ufs_sblock): new fields mtime
34428 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34429 all users updated
34430 (grub_ufs_dir): mtime support
34431 (grub_ufs_mtime): new function
34432 * fs/affs.c (grub_affs_dir): use new dir syntax
34433 * fs/afs.c (grub_afs_dir): likewise
34434 * fs/cpio.c (grub_cpio_dir): likewise
34435 * fs/fat.c (grub_fat_find_dir): likewise
34436 * fs/hfs.c (grub_hfs_dir): likewise
34437 * fs/iso9660.c (grub_iso9660_dir): likewise
34438 * fs/jfs.c (grub_jfs_dir): likewise
34439 * fs/minix.c (grub_minix_dir): likewise
34440 * fs/ntfs.c (grub_ntfs_dir): likewise
34441 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34442 * fs/sfs.c (grub_sfs_dir): likewise
34443 * fs/xfs.c (grub_xfs_dir): likewise
34444 * util/hostfs.c (grub_hostfs_dir): likewise
34445 * lib/datetime.c: moved to ...
34446 * normal/datetime.c: ... moved here
34447 (grub_unixtime2datetime): new function
34448 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
34449 * normal/completion.c (iterate_dir): use new dir syntax
34450 * normal/misc.c (grub_normal_print_device_info): tell the
34451 last modification time of a volume
34452 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
34453 * conf/common.rmk: added lib/datetime.c to ls.mod
34454 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
34455 (normal_mod_SOURCES): likewise
34456 (datetime_mod_SOURCES): Removed lib/datetime.c
34457 * conf/i386-efi.rmk: likewise
34458 * conf/i386-ieee1275.rmk: likewise
34459 * conf/i386-pc.rmk: likewise
34460 * conf/powerpc-ieee1275.rmk: likewise
34461 * conf/sparc64-ieee1275.rmk: likewise
34462 * conf/x86_64-efi.rmk: likewise
34463
34464 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34465
34466 Trim trailing spaces in FAT label and support mtools-like labels
34467
34468 * fs/fat.c (grub_fat_iterate_dir): New function based
34469 on grub_fat_find_dir
34470 (grub_fat_find_dir): use grub_fat_iterate_dir
34471 (grub_fat_label): likewise
34472
34473 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34474
34475 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
34476 and command.h
34477 remove extraneous kernel_elf_HEADERS
34478
34479 2009-04-04 Bean <bean123ch@gnail.com>
34480
34481 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34482
34483 * util/misc.c: Likewise.
34484
34485 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34486
34487 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34488 instead of grub_printf.
34489
34490 2009-04-03 Robert Millan <rmh@aybabtu.com>
34491
34492 * loader/i386/linux.c (grub_linux_setup_video): Fill
34493 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34494 values from `mode info' structure instead of hardcoded
34495 values.
34496
34497 2009-04-01 Pavel Roskin <proski@gnu.org>
34498
34499 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34500 unused now.
34501 * genmk.rb: Likewise.
34502 * configure.ac: Likewise.
34503
34504 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34505
34506 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34507 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34508
34509 2009-04-01 David S. Miller <davem@davemloft.net>
34510
34511 * normal/sparc64/setjmp.S: Fix setjmp implementation.
34512 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
34513 (grub_setjmp): Mark with 'returns_twice' attribute.
34514 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34515 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34516 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34517
34518 2009-04-01 Robert Millan <rmh@aybabtu.com>
34519
34520 Reapply fix from 2008-07-28 which was accidentally reverted; also
34521 perform the same fix to a similar check in same function.
34522
34523 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34524 with the same number are found, just use issue a warning with
34525 grub_dprintf(), as this error has been reported to be non-fatal.
34526
34527 2009-03-31 Pavel Roskin <proski@gnu.org>
34528
34529 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34530 for cross-compilation.
34531
34532 2009-03-30 Robert Millan <rmh@aybabtu.com>
34533
34534 Fix i386-ieee1275 build.
34535
34536 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34537 Remove declaration.
34538
34539 2009-03-30 Pavel Roskin <proski@gnu.org>
34540
34541 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34542 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34543 zero-terminated, rely only on the strlen value. Fix comparison
34544 of strings differing in length.
34545
34546 2009-03-30 Robert Millan <rmh@aybabtu.com>
34547
34548 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34549 checking for abi version. Improve error messages on BIOS to notify
34550 user about `linux16' command.
34551
34552 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34553
34554 Leak fixes
34555
34556 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34557 in case of collision
34558 * disk/scsi.c (grub_scsi_open): free scsi in case of error
34559
34560 2009-03-29 Robert Millan <rmh@aybabtu.com>
34561
34562 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34563 set `vid_mode' accordingly.
34564 (grub_linux_boot): Process `vid_mode' and set video mode.
34565
34566 2009-03-29 Robert Millan <rmh@aybabtu.com>
34567
34568 * util/grub.d/10_linux.in (linux_entry): New function.
34569 Factorize generation of Linux boot entries.
34570
34571 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34572
34573 Make the format of Environment Block plain text. The boot loader
34574 part is not tested well yet.
34575
34576 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34577 (buffer): Removed.
34578 (envblk): Likewise.
34579 (usage): Remove "info" and "clear". Add "unset". Update the
34580 description of "set", as this does not delete variables any
34581 longer.
34582 (create_envblk_file): Complete rewrite.
34583 (open_envblk_file): Likewise.
34584 (cmd_info): Removed.
34585 (cmd_list): Likewise.
34586 (cmd_set): Likewise.
34587 (cmd_clear): Likewise.
34588 (list_variables): New function.
34589 (write_envblk): Likewise.
34590 (set_variables): Likewise.
34591 (unset_variables): Likewise.
34592 (main): Complete rewrite.
34593
34594 * commands/loadenv.c (buffer): Removed.
34595 (envblk): Likewise.
34596 (open_envblk_file): New function.
34597 (read_envblk_file): Complete rewrite.
34598 (grub_cmd_load_env): Likewise.
34599 (grub_cmd_list_env): Likewise.
34600 (struct blocklist): New struct.
34601 (free_blocklists): New function.
34602 (check_blocklists): Likewise.
34603 (write_blocklists): Likewise.
34604 (grub_cmd_save_env): Complete rewrite.
34605
34606 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
34607 a plain text signature.
34608 (GRUB_ENVBLK_MAXLEN): Removed.
34609 (struct grub_envblk): Complete rewrite.
34610 (grub_envblk_find): Removed.
34611 (grub_envblk_insert): Likewise.
34612 (grub_envblk_open): New prototype.
34613 (grub_envblk_set): Likewise.
34614 (grub_envblk_delete): Put const to VALUE.
34615 (grub_envblk_iterate): Put const to NAME and VALUE.
34616 (grub_envblk_close): New prototype.
34617 (grub_envblk_buffer): New inline function.
34618 (grub_envblk_size): Likewise.
34619
34620 * lib/envblk.c: Include grub/mm.h.
34621 (grub_env_find): Removed.
34622 (grub_envblk_open): New function.
34623 (grub_envblk_close): Likewise.
34624 (escaped_value_len): Likewise.
34625 (find_next_line): Likewise.
34626 (grub_envblk_insert): Removed.
34627 (grub_envblk_set): New function.
34628 (grub_envblk_delete): Complete rewrite.
34629 (grub_envblk_iterate): Likewise.
34630
34631 2009-03-28 Robert Millan <rmh@aybabtu.com>
34632
34633 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
34634 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
34635 variables. Use 16-bit loader.
34636 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
34637 loader.
34638 * kern/i386/loader.S (grub_linux_boot): Rename to ...
34639 (grub_linux16_boot): ... this. Update all users.
34640 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
34641 (grub_linux_boot): ... this. Update all users.
34642
34643 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
34644 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
34645 commands to `linux16' and `initrd16'.
34646 (GRUB_MOD_FINI(linux)): Rename to ...
34647 (GRUB_MOD_FINI(linux16)): ... this.
34648
34649 2009-03-24 Pavel Roskin <proski@gnu.org>
34650
34651 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
34652 not just for compilation.
34653
34654 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
34655
34656 Move multiboot helper out of kernel
34657
34658 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
34659 `loader/i386/multiboot_helper.S'.
34660 * conf/i386-coreboot.rmk: Likewise
34661 * conf/i386-ieee1275.rmk: Likewise
34662
34663 * kern/i386/loader.S: Move multiboot helpers from here...
34664 * loader/i386/multiboot_helper.S: ...moved here
34665 * include/grub/i386/loader.h: Move declarations of multiboot
34666 helpers from here...
34667 * include/grub/i386/multiboot.h: ...moved here
34668 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
34669
34670 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34671
34672 * kern/env.c (grub_env_context_open): Added an argument to specify
34673 whether a new context inherits exported variables from current
34674 one. This is useful when making a sandbox to interpret a config
34675 file.
34676 All callers updated.
34677
34678 * include/grub/env.h (grub_env_context_open): Updated the prototype.
34679
34680 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34681
34682 * kern/env.c (grub_env_context_close): Fix memory leaks.
34683
34684 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34685
34686 * normal/main.c (grub_normal_execute): Added an argument
34687 BATCH to specify if an interactive interface should be provided
34688 after reading a config file.
34689 All callers updated.
34690 (read_command_list): Prevent being executed twice.
34691 (read_fs_list): Likewise.
34692
34693 * include/grub/normal.h (grub_normal_execute): Updated the
34694 prototype.
34695
34696 2009-03-22 Pavel Roskin <proski@gno.org>
34697
34698 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
34699 _start.
34700 * kern/i386/pc/startup.S: Likewise.
34701 * kern/i386/efi/startup.S: Likewise.
34702 * kern/i386/ieee1275/startup.S: Likewise.
34703 * kern/i386/coreboot/startup.S: Likewise.
34704 * kern/x86_64/efi/startup.S: Likewise.
34705
34706 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
34707 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
34708 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
34709
34710 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
34711
34712 Bugfixes in multiboot for bugs uncovered by solaris kernel.
34713
34714 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
34715 limit detection.
34716 Use vaddr of correct segment for entry_point.
34717
34718 2009-03-21 Bean <bean123ch@gmail.com>
34719
34720 * commands/blocklist.c: Add include file <grub/command.h>, remove
34721 <grub/normal.h> and <grub/arg.h>.
34722 (grub_cmd_blocklist): Use the new command interface.
34723 (GRUB_MOD_INIT): Likewise.
34724 (GRUB_MOD_FINI): Likewise.
34725 * commands/boot.c: Likewise.
34726 * commands/cat.c: Likewise.
34727 * commands/cmp.c: Likewise.
34728 * commands/configfile.c: Likewise.
34729 * commands/crc.c: Likewise.
34730 * commands/echo.c: Likewise.
34731 * commands/halt.c: Likewise.
34732 * commands/handler.c: Likewise.
34733 * commands/hdparm.c: Likewise.
34734 * commands/help.c: Likewise.
34735 * commands/hexdump.c: Likewise.
34736 * commands/loadenv.c: Likewise.
34737 * commands/ls.c: Likewise.
34738 * commands/lsmmap.c: Likewise.
34739 * commands/lspci.c: Likewise.
34740 * commands/loadenv.c: Likewise.
34741 * commands/read.c: Likewise.
34742 * commands/reboot.c: Likewise.
34743 * commands/search.c: Likewise.
34744 * commands/sleep.c: Likewise.
34745 * commands/test.c: Likewise.
34746 * commands/usbtest.c: Likewise.
34747 * commands/videotest.c: Likewise.
34748 * commands/i386/cpuid.c: Likewise.
34749 * commands/i386/pc/halt.c: Likewise.
34750 * commands/i386/pc/play.c: Likewise.
34751 * commands/i386/pc/pxecmd.c: Likewise.
34752 * commands/i386/pc/vbeinfo.c: Likewise.
34753 * commands/i386/pc/vbetest.c: Likewise.
34754 * commands/ieee1275/suspend.c: Likewise.
34755 * disk/loopback.c: Likewise.
34756 * font/font_cmd.c: Likewise.
34757 * hello/hello.c: Likewise.
34758 * loader/efi/appleloader.c: Likewise.
34759 * loader/efi/chainloader.c: Likewise.
34760 * loader/i386/bsd.c: Likewise.
34761 * loader/i386/efi/linux.c: Likewise.
34762 * loader/i386/ieee1275/linux.c: Likewise.
34763 * loader/i386/linux.c: Likewise.
34764 * loader/i386/pc/chainloader.c: Likewise.
34765 * loader/i386/pc/linux.c: Likewise.
34766 * loader/powerpc/ieee1275/linux.c: Likewise.
34767 * loader/multiboot_loader.c: Likewise.
34768 * term/gfxterm.c: Likewise.
34769 * term/i386/pc/serial.c: Likewise.
34770 * term/terminfo.c: Likewise.
34771
34772 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
34773 * term/i386/pc/vga.c: Likewise.
34774 * video/readers/jpeg.c: Likewise.
34775 * video/readers/png.c: Likewise.
34776 * video/readers/tga.c: Likewise.
34777
34778 * util/grub-fstest (cmd_loopback): Removed.
34779 (cmd_blocklist): Likewise.
34780 (cmd_ls): Likewise.
34781 (grub_register_command): Likewise.
34782 (grub_unregister_command): Likewise.
34783 (execute_command): Use grub_command_find to locate command and execute
34784 it.
34785
34786 * include/grub/efi/chainloader.h: Removed.
34787 * loader/efi/chainloader_normal.c: Likewise.
34788 * loader/i386/bsd_normal.c: Likewise.
34789 * loader/i386/pc/chainloader_normal.c: Likewise.
34790 * loader/i386/pc/multiboot_normal.c: Likewise.
34791 * loader/linux_normal.c: Likewise.
34792 * loader/multiboot_loader_normal.c: Likewise.
34793 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34794
34795 * gencmdlist.sh: Scan new registration command grub_register_extcmd
34796 and grub_register_command_p1.
34797
34798 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
34799 kern/command.c, lib/arg.c and commands/extcmd.c.
34800 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
34801 (minicmd_mod_SOURCES): New variable.
34802 (minicmd_mod_CFLAGS): Likewise.
34803 (minicmd_mod_LDFLAGS): Likewise.
34804 (extcmd_mod_SOURCES): Likewise.
34805 (extcmd_mod_CFLAGS): Likewise.
34806 (extcmd_mod_LDFLAGS): Likewise.
34807 (boot_mod_SOURCES): Removed.
34808 (boot_mod_CFLAGS): Likewise.
34809 (boot_mod_LDFLAGS): Likewise.
34810
34811 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
34812 kern/corecmd.c.
34813 (kernel_img_HEADERS): Add command.h.
34814 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
34815 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
34816 and lib/arg.c.
34817 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
34818 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
34819 remove the corresponding normal mode command.
34820 (normal_mod_SOURCES): Remove normal/arg.c.
34821 * conf/i386-coreboot.rmk: Likewise.
34822 * conf/i386-efi.rmk: Likewise.
34823 * conf/i386-ieee1275.rmk: Likewise.
34824 * conf/powerpc-ieee1275.rmk: Likewise.
34825 * conf/x86_64-efi.rmk: Likewise.
34826
34827 * include/grub/arg.h: Move from here ...
34828 * include/grub/lib/arg.h: ... to here.
34829
34830 * normal/arg.c: Move from here ...
34831 * lib/arg.c: ... to here.
34832
34833 * commands/extcmd.c: New file.
34834 * commands/minicmd.c: Likewise.
34835 * include/grub/command.h: Likewise.
34836 * include/grub/extcmd.h: Likewise.
34837 * kern/command.c: Likewise.
34838 * kern/corecmd.c: Likewise.
34839
34840 * kern/list.c (grub_list_iterate): Return int instead of void.
34841 (grub_list_insert): New function.
34842 (grub_prio_list_insert): Likewise.
34843
34844 * kern/rescue.c (grub_rescue_command): Removed.
34845 (grub_rescue_command_list): Likewise.
34846 (grub_rescue_register_command): Likewise.
34847 (grub_rescue_unregister_command): Likewise.
34848 (grub_rescue_cmd_boot): Move to minicmd.c
34849 (grub_rescue_cmd_help): Likewise.
34850 (grub_rescue_cmd_info): Likewise.
34851 (grub_rescue_cmd_boot): Likewise.
34852 (grub_rescue_cmd_testload): Likewise.
34853 (grub_rescue_cmd_dump): Likewise.
34854 (grub_rescue_cmd_rmmod): Likewise.
34855 (grub_rescue_cmd_lsmod): Likewise.
34856 (grub_rescue_cmd_exit): Likewise.
34857 (grub_rescue_print_devices): Moved to corecmd.c.
34858 (grub_rescue_print_files): Likewise.
34859 (grub_rescue_cmd_ls): Likewise.
34860 (grub_rescue_cmd_insmod): Likewise.
34861 (grub_rescue_cmd_set): Likewise.
34862 (grub_rescue_cmd_unset): Likewise.
34863 (attempt_normal_mode): Use grub_command_find to get normal module.
34864 (grub_enter_rescue_mode): Use grub_register_core_commands to register
34865 commands, remove grub_rescue_register_command calls.
34866
34867 * normal/command.c (grub_register_command): Removed.
34868 (grub_unregister_command): Likewise.
34869 (grub_command_find): Likewise.
34870 (grub_iterate_commands): Likewise.
34871 (rescue_command): Likewise.
34872 (export_command): Moved to corecmd.c.
34873 (set_command): Removed.
34874 (unset_command): Likewise.
34875 (insmod_command): Likewise.
34876 (rmmod_command): Likewise.
34877 (lsmod_command): Likewise.
34878 (grub_command_init): Likewise.
34879
34880 * normal/completion.c (iterate_command): Use cmd->prio to check for
34881 active command.
34882 (complete_arguments): Use grub_extcmd_t structure to find options.
34883 (grub_normal_do_completion): Change function grub_iterate_commands to
34884 grub_command_iterate.
34885
34886 * normal/execute.c (grub_script_execute_cmd): No need to parse
34887 argument here.
34888
34889 * normal/main.c (grub_dyncmd_dispatcher): New function.
34890 (read_command_list): Register unload commands as dyncmd.
34891 (grub_cmd_normal): Use new command interface, register rescue,
34892 unregister normal at entry, register normal, unregister rescue at exit.
34893
34894 * include/grub/list.h (grub_list_test_t): New type.
34895 (grub_list_iterate): Return int instead of void.
34896 (grub_list_insert): New function.
34897 (GRUB_AS_NAMED_LIST_P): New macro.
34898 (GRUB_AS_PRIO_LIST): Likewise.
34899 (GRUB_AS_PRIO_LIST_P): Likewise.
34900 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
34901 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
34902 (grub_prio_list): New structure.
34903 (grub_prio_list_insert): New function.
34904 (grub_prio_list_remove): New inline function.
34905
34906 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
34907 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
34908 (GRUB_COMMAND_FLAG_MENU): Likewise.
34909 (GRUB_COMMAND_FLAG_BOTH): Likewise.
34910 (GRUB_COMMAND_FLAG_TITLE): Likewise.
34911 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
34912 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
34913 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
34914 (grub_command): Likewise.
34915 (grub_register_command): Likewise.
34916 (grub_command_find): Likewise.
34917 (grub_iterate_commands): Likewise.
34918 (grub_command_init): Likewise.
34919 (grub_arg_parse): Likewise.
34920 (grub_arg_show_help): Likewise.
34921
34922 * include/grub/rescue.h (grub_rescue_register_command): Removed.
34923 (grub_rescue_unregister_command): Likewise.
34924
34925 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
34926 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
34927 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
34928
34929 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
34930 grub_rescue_cmd_initrd.
34931 * include/grub/i386/loader.h: Likewise.
34932 * include/grub/x86_64/loader.h: Likewise.
34933
34934 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
34935
34936 2009-03-21 Bean <bean123ch@gmail.com>
34937
34938 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
34939 instead of stat in mingw environment.
34940
34941 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
34942
34943 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
34944
34945 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
34946 AC_CONFIG_LINKS.
34947
34948 2009-03-21 Bean <bean123ch@gmail.com>
34949
34950 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
34951 out of range error.
34952
34953 2009-03-18 Michel Dänzer <michel@daenzer.net>
34954
34955 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
34956 checking inode flags for EXT4_EXTENTS_FLAG.
34957
34958 2009-03-18 Robert Millan <rmh@aybabtu.com>
34959
34960 * loader/i386/linux.c: Include `<grub/video.h>' and
34961 `<grub/i386/pc/vbe.h>'..
34962 (grub_linux_setup_video): New function. Loosely based on the EFI one.
34963 (grub_linux32_boot): Attempt to configure video settings with
34964 grub_linux_setup_video().
34965 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
34966 to avoid grub_console_fini() which would step out of graphical mode
34967 unconditionally.
34968
34969 2009-03-14 Robert Millan <rmh@aybabtu.com>
34970
34971 Fix build on powerpc.
34972 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
34973
34974 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
34975
34976 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
34977 background image command.
34978
34979 2009-03-12 Colin D Bennett <colin@gibibit.com>
34980
34981 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
34982 (grub_gfxterm_putchar): Extract pairs of identical calls to
34983 draw_cursor out of conditional blocks.
34984
34985 2009-03-11 Pavel Roskin <proski@gnu.org>
34986
34987 * fs/hfs.c (grub_hfs_strncasecmp): New function.
34988 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
34989
34990 2009-03-11 Robert Millan <rmh@aybabtu.com>
34991
34992 * loader/i386/multiboot_elfxx.c
34993 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
34994
34995 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
34996
34997 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
34998 `kern/handler.c'.
34999
35000 2009-03-11 Robert Millan <rmh@aybabtu.com>
35001
35002 * loader/i386/multiboot.c (code_size): New variable.
35003 (grub_multiboot): Define offsets by adding to `code_size' rather
35004 than subtracting from `grub_multiboot_payload_size'. Provide
35005 4-byte alignment to MBI and others by increasing
35006 `boot_loader_name_length' appropriately.
35007
35008 * loader/i386/multiboot_elfxx.c
35009 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35010
35011 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
35012
35013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35014 `fs/ext2.c'.
35015
35016 2009-03-08 Robert Millan <rmh@aybabtu.com>
35017
35018 Make loader/i386/linux.c usable on i386-pc again.
35019
35020 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35021 memory to heap.
35022 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35023 `#error' stanza.
35024
35025 2009-03-07 Bean <bean123ch@gmail.com>
35026
35027 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35028 allocation.
35029
35030 2009-03-06 Robert Millan <rmh@aybabtu.com>
35031
35032 Fix display issue on terminals with screen size other than 80x25
35033 (e.g. gfxterm with resolution higher than 640x480).
35034
35035 * normal/main.c (grub_normal_init_page): Display title text in a
35036 position relative to the center of the terminal instead of relying
35037 on a hardcoded offset.
35038
35039 2009-03-04 Robert Millan <rmh@aybabtu.com>
35040
35041 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35042 installed.
35043
35044 * Makefile.in (host_kernel): New variable.
35045 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35046 scripts instead of just the windows one.
35047 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35048
35049 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
35050
35051 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35052 `kern/handler.c'.
35053 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35054 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35057 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35058 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35059
35060 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
35061
35062 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35063 or if there's no space for the disk label and print the partition number on a
35064 invalid magic.
35065
35066 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
35067
35068 * util/misc.c: Include <time.h>.
35069 (grub_millisleep): New function.
35070
35071 2009-03-04 Bean <bean123ch@gmail.com>
35072
35073 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35074 another option -mno-red-zone.
35075
35076 * commands/handler.c: Change module description.
35077
35078 * kern/handler.c: Add missing space at the end of description line.
35079
35080 * kern/list.c: Likewise.
35081
35082 2009-03-03 Robert Millan <rmh@aybabtu.com>
35083
35084 Move more components to the relocation area, and fix mbi pointer
35085 handling to use the destination rather than the origin (thanks to
35086 Vladimir Serbinenko for spotting).
35087
35088 * loader/i386/multiboot.c (mbi_dest): New variable.
35089 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35090 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35091 relocation area.
35092
35093 2009-03-01 Bean <bean123ch@gmail.com>
35094
35095 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
35096 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35097 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35098 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35099
35100 * loader/i386/efi/linux.c (acpi_guid): New variable.
35101 (acpi_guid): Likewise.
35102 (EBDA_SEG_ADDR): New constant.
35103 (LOW_MEM_ADDR): Likewise.
35104 (FAKE_EBDA_SEG): Likewise.
35105 (fake_bios_data): New function.
35106 (grub_linux_boot): Call fake_bios_data.
35107
35108 2009-03-01 Bean <bean123ch@gmail.com>
35109
35110 * commands/terminal.c: Removed.
35111
35112 * commands/handler.c: New file.
35113
35114 * include/grub/list.h: Likewise.
35115
35116 * include/grub/handler.h: Likewise.
35117
35118 * kern/list.c: Likewise.
35119
35120 * kern/handler.c: Likewise.
35121
35122 * kern/term.h: Include header file <grub/handler.h>.
35123 (grub_term_input): Move next field to the beginning.
35124 (grub_term_output): Likewise.
35125 (grub_term_input_class): New variable.
35126 (grub_term_output_class): Likewise.
35127 (grub_term_register_input): Changed to inline function.
35128 (grub_term_register_output): Likewise.
35129 (grub_term_unregister_input): Likewise.
35130 (grub_term_unregister_output): Likewise.
35131 (grub_term_set_current_input): Likewise.
35132 (grub_term_set_current_output): Likewise.
35133 (grub_term_get_current_input): Likewise.
35134 (grub_term_get_current_output): Likewise.
35135 (grub_term_iterate_input): Removed.
35136 (grub_term_iterate_output): Likewise.
35137
35138 * kern/term.c (grub_term_list_input): Removed.
35139 (grub_term_list_output): Likewise.
35140 (grub_term_input_class): New variable.
35141 (grub_term_output_class): Likewise.
35142 (grub_cur_term_input): Change variable as macro.
35143 (grub_cur_term_output): Likewise.
35144 (grub_term_register_input): Removed.
35145 (grub_term_register_output): Likewise.
35146 (grub_term_unregister_input): Likewise.
35147 (grub_term_unregister_output): Likewise.
35148 (grub_term_set_current_input): Likewise.
35149 (grub_term_set_current_output): Likewise.
35150 (grub_term_iterate_input): Likewise.
35151 (grub_term_iterate_output): Likewise.
35152 (grub_term_get_current_input): Likewise.
35153 (grub_term_get_current_output): Likewise.
35154
35155 * util/grub-editenv.c: Include header file <grub/handler.h>.
35156 (grub_term_get_current_input): Removed.
35157 (grub_term_get_current_output): Likewise.
35158 (grub_term_input_class): New variable.
35159 (grub_term_output_class): Likewise.
35160
35161 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35162 (grub_term_get_current_output): Likewise.
35163 (grub_term_input_class): New variable.
35164 (grub_term_output_class): Likewise.
35165
35166 * util/grub-probe.c (grub_term_get_current_input): Removed.
35167 (grub_term_get_current_output): Likewise.
35168 (grub_term_input_class): New variable.
35169 (grub_term_output_class): Likewise.
35170
35171 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35172 (grub_term_get_current_output): Likewise.
35173 (grub_term_input_class): New variable.
35174 (grub_term_output_class): Likewise.
35175
35176 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35177 (terminal_mod_SOURCES): Likewise.
35178 (terminal_mod_CFLAGS): Likewise.
35179 (terminal_mod_LDFLAGS): Likewise.
35180
35181 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35182 handler.c.
35183 (kernel_img_SOURCES): Add list.c and handler.c.
35184 (kernel_img_HEADERS): Add list.h and handler.h.
35185
35186 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35187 handler.c.
35188 (kernel_mod_SOURCES): Add list.c and handler.c.
35189 (kernel_mod_HEADERS): Add list.h and handler.h.
35190
35191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35192 handler.c.
35193 (kernel_elf_SOURCES): Add list.c and handler.c.
35194 (kernel_elf_HEADERS): Add list.h and handler.h.
35195
35196 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35197 handler.c.
35198 (kernel_elf_SOURCES): Add list.c and handler.c.
35199 (kernel_elf_HEADERS): Add list.h and handler.h.
35200
35201 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35202 handler.c.
35203 (kernel_mod_SOURCES): Add list.c and handler.c.
35204 (kernel_mod_HEADERS): Add list.h and handler.h.
35205
35206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35207 handler.c.
35208 (kernel_elf_SOURCES): Add list.c and handler.c.
35209 (kernel_elf_HEADERS): Add list.h and handler.h.
35210
35211 2009-02-27 Robert Millan <rmh@aybabtu.com>
35212
35213 Factorize elf32 / elf64 code in Multiboot loader. This will
35214 prevent it from getting out of sync again.
35215
35216 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35217 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35218 grub_multiboot_load_elf64): Move from here ...
35219 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35220 grub_multiboot_load_elf): ... to here (new file).
35221
35222 2009-02-27 Robert Millan <rmh@aybabtu.com>
35223
35224 * util/grub.d/10_linux.in: Rename "single-user mode" to
35225 "recovery mode".
35226
35227 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35228
35229 Don't leak in SCSI code.
35230 * disk/scsi.c (grub_scsi_close): free `scsi'.
35231
35232 2009-02-27 Robert Millan <rmh@aybabtu.com>
35233
35234 * loader/i386/pc/multiboot.c: Move from here ...
35235 * loader/i386/multiboot.c: ... to here. Update all users.
35236
35237 2009-02-27 Robert Millan <rmh@aybabtu.com>
35238
35239 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35240 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35241
35242 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
35243
35244 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35245 b-tree.
35246
35247 2009-02-27 Robert Millan <rmh@aybabtu.com>
35248
35249 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35250 `0x' qualifier as 0 when base is specified as parameter).
35251
35252 2009-02-24 Bean <bean123ch@gmail.com>
35253
35254 * configure.ac: Check for -mcmodel=large in x86_64 target.
35255
35256 * include/grub/efi/api.h (efi_call_10): New macro.
35257 (efi_wrap_10): New function.
35258
35259 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35260 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35261 (GRUB_PE32_REL_BASED_LOW): Likewise.
35262 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35263 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35264 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35265 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35266 (GRUB_PE32_REL_BASED_REL): Likewise.
35267 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35268 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35269 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35270
35271 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35272 issue.
35273
35274 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35275 (efi_wrap_10): New function.
35276
35277 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35278
35279 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35280 MB/MBP model (NV chipset).
35281 (devdata_devs): Add devpath_5 to the list.
35282
35283 * load/i386/efi/linux.c (video_base): Remove variable.
35284 (RGB_MASK): New macro.
35285 (RGB_MAGIC): Likewise.
35286 (LINE_MIN): Likewise.
35287 (LINE_MAX): Likewise.
35288 (FBTEST_STEP): Likewise.
35289 (FBTEST_COUNT): Likewise.
35290 (fb_list): New variable.
35291 (grub_find_video_card): Remove function.
35292 (find_framebuf): New function.
35293 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35294 line length.
35295
35296 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35297 problem for x86_64.
35298
35299 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35300
35301 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35302
35303 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35304 coding tool name.
35305
35306 2009-02-22 Robert Millan <rmh@aybabtu.com>
35307
35308 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35309 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35310 in our relocation, instead of using it directly from heap. Also
35311 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35312
35313 2009-02-21 Robert Millan <rmh@aybabtu.com>
35314
35315 Implement USB keyboard support (based on patch by Marco Gerards)
35316
35317 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35318 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35319 (usb_keyboard_mod_LDFLAGS): New variables.
35320
35321 * term/usb_keyboard.c: New file.
35322
35323 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35324
35325 Corrected wrong declaration
35326
35327 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35328
35329 2009-02-14 Christian Franke <franke@computer.org>
35330
35331 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35332 (grub_lspci_iter): Print class code and programming interface byte.
35333
35334 2009-02-14 Christian Franke <franke@computer.org>
35335
35336 * gendistlist.sh: Ignore `.svn' directories.
35337
35338 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
35339
35340 * fs/fat.c: Add 2009 to Copyright line.
35341
35342 2009-02-14 Christian Franke <franke@computer.org>
35343
35344 * commands/hdparm.c: New file. Provides `hdparm' command
35345 which sends ATA commands via grub_disk_ata_pass_through ().
35346
35347 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35348
35349 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35350 and <grub/cpu/io.h> to include/grub/ata.h.
35351 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35352 (GRUB_CDROM_SECTOR_SIZE): Remove.
35353 (GRUB_ATA_*): Move to include/grub/ata.h.
35354 (GRUB_ATAPI_*): Likewise.
35355 (enum grub_ata_commands): Likewise.
35356 (enum grub_ata_timeout_milliseconds): Likewise.
35357 (struct grub_ata_device): Likewise.
35358 (grub_ata_regset): Likewise.
35359 (grub_ata_regget): Likewise.
35360 (grub_ata_regset2): Likewise.
35361 (grub_ata_regget2): Likewise.
35362 (grub_ata_check_ready): Likewise.
35363 (grub_ata_wait_not_busy): Remove static, exported in
35364 include/grub/ata.h.
35365 (grub_ata_wait_drq): Likewise.
35366 (grub_ata_pio_read): Likewise.
35367
35368 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35369 function for hdparm.mod.
35370
35371 * include/grub/ata.h: New file, contains declarations from
35372 disk/ata.c.
35373 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35374
35375 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35376 (grub_disk_ata_pass_through): New exported variable.
35377
35378 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35379
35380 2009-02-13 Colin D Bennett <colin@gibibit.com>
35381
35382 Support multiple fallback entries, and provide an API to support
35383 executing default+fallback menu entries. Renamed the `terminal' menu
35384 viewer to `text'.
35385
35386 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35387 variable declaration.
35388 (grub_menu_execute_callback): New structure declaration.
35389 (grub_menu_execute_callback_t): New typedef.
35390 (grub_menu_execute_with_fallback): New function declaration.
35391 (grub_menu_get_entry): Likewise.
35392 (grub_menu_get_timeout): Likewise.
35393 (grub_menu_set_timeout): Likewise.
35394
35395 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35396
35397 * normal/menu.c (grub_wait_after_message): Moved to
35398 `normal/menu_text.c'.
35399 (draw_border): Likewise.
35400 (print_message): Likewise.
35401 (print_entry): Likewise.
35402 (print_entries): Likewise.
35403 (grub_menu_init_page): Likewise.
35404 (get_entry_number): Likewise.
35405 (print_timeout): Likewise.
35406 (run_menu): Likewise.
35407 (grub_menu_execute_entry): Likewise.
35408 (show_text_menu): Likewise.
35409 (get_and_remove_first_entry_number): New function.
35410 (grub_menu_execute_with_fallback): Likewise.
35411 (get_entry): Renamed to ...
35412 (grub_menu_get_entry): .. this and made it global.
35413 (get_timeout): Renamed to ...
35414 (grub_menu_get_timeout): ... this and made it global.
35415 (set_timeout): Renamed to ...
35416 (grub_menu_set_timeout): ... this and made it global.
35417 (grub_normal_terminal_menu_viewer): Renamed to ...
35418 (grub_normal_text_menu_viewer): ... this.
35419
35420 * normal/menu_text.c: New file. Extracted text-menu-specific code
35421 from normal/menu.c.
35422
35423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35424 (normal_mod_SOURCES): Likewise.
35425
35426 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35427 (normal_mod_SOURCES): Likewise.
35428
35429 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35430 (normal_mod_SOURCES): Likewise.
35431
35432 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35433 (normal_mod_SOURCES): Likewise.
35434
35435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35436 (normal_mod_SOURCES): Likewise.
35437
35438 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35439 (normal_mod_SOURCES): Likewise.
35440
35441 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35442 (normal_mod_SOURCES): Likewise.
35443
35444 2009-02-11 Robert Millan <rmh@aybabtu.com>
35445
35446 * util/grub.d/00_header.in: Update old reference to `font' command.
35447
35448 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
35449
35450 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35451
35452 Based on patch from Javier Martín.
35453
35454 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
35455
35456 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
35457 to avoid false positives with FAT.
35458 (grub_fstest_SOURCES): Likewise.
35459 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35460 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35462 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35463 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35464 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35465
35466 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
35467
35468 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
35469 bpb.version_specific.fat12_or_fat16.fstype and
35470 bpb.version_specific.fat32.fstype.
35471
35472 2009-02-08 Robert Millan <rmh@aybabtu.com>
35473
35474 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
35475
35476 2009-02-08 Robert Millan <rmh@aybabtu.com>
35477
35478 * Makefile.in (host_os, host_cpu): New variables.
35479 (target_os): Remove. Update all users.
35480
35481 2009-02-08 Marco Gerards <marco@gnu.org>
35482
35483 * Makefile.in (enable_grub_emu_usb): New variable.
35484 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35485 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35486 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35487 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35488 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35489 `usbtest.mod' and `usbms.mod'.
35490 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35491 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35492 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35493 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35494 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35495 variables.
35496
35497 * disk/usbms.c: New file.
35498
35499 * include/grub/usb.h: Likewise.
35500
35501 * include/grub/usbtrans.h: Likewise.
35502
35503 * include/grub/usbdesc.h: Likewise.
35504
35505 * bus/usb/usbtrans.c: Likewise.
35506
35507 * bus/usb/ohci.c: Likewise.
35508
35509 * bus/usb/uhci.c: Likewise.
35510
35511 * bus/usb/usbhub.c: Likewise.
35512
35513 * bus/usb/usb.c: Likewise.
35514
35515 * commands/usbtest.c: Likewise.
35516
35517 * util/usb.c: Likewise.
35518
35519 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35520
35521 * configure.ac: Test for libusb presence.
35522
35523 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35524
35525 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35526
35527 * kern/mm.c: Add more comments.
35528
35529 2009-02-08 Robert Millan <rmh@aybabtu.com>
35530
35531 Patch from Javier Martín.
35532 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35533 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35534
35535 2009-02-08 Robert Millan <rmh@aybabtu.com>
35536
35537 * fs/cpio.c: Split tar functionality to ...
35538 * fs/tar.c: ... here (new file). Update all users.
35539
35540 2009-02-07 Robert Millan <rmh@aybabtu.com>
35541
35542 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35543 backward-incompatible features.
35544
35545 Based on patch from Javier Martín, with some adjustments.
35546
35547 2009-02-07 Michael Scherer <misc@mandriva.org>
35548
35549 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35550
35551 2009-02-07 Robert Millan <rmh@aybabtu.com>
35552
35553 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35554 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35555 after the RAID stuff.
35556
35557 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35558
35559 Fixes problem when running vbetest command as reported by
35560 Vladimir Serbinenko <phcoder@gmail.com>.
35561
35562 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35563
35564 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
35565
35566 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35567 /dev/md/NpN style mdraid devices.
35568
35569 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
35570
35571 * util/unifont2pff.rb: Remove.
35572
35573 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
35574
35575 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35576 `#'.
35577
35578 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
35579
35580 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35581 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35582 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35583 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35585 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35586 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35587
35588 2009-02-02 Christian Franke <franke@computer.org>
35589
35590 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35591
35592 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
35593
35594 * INSTALL: Note that we now require at least autoconf 2.59 and
35595 that LZO is optional.
35596
35597 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35598
35599 Base on patch on bug #24154 created by Tomas Tintera
35600 <trosos@seznam.cz>.
35601
35602 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
35603
35604 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35605
35606 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
35607 <bero@arklinux.org>.
35608
35609 * normal/parser.y (script_init): Add missing semicolon.
35610
35611 2009-01-31 Colin D Bennett <colin@gibibit.com>
35612
35613 * normal/main.c: Add include to grub/menu_viewer.h.
35614 (free_menu_entry_classes): Added.
35615 (grub_normal_menu_addentry): Added class property handling.
35616 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
35617 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
35618
35619 * normal/menu_viewer.c: New file.
35620
35621 * normal/menu.c (run_menu_entry): Renamed to ...
35622 (grub_menu_execute_entry): ... this and made it as global.
35623 (grub_menu_run): Renamed to ...
35624 (show_text_menu): ... this and made it local.
35625 (show_text_menu): Adapt to new function names.
35626 (grub_normal_terminal_menu_viewer): New global variable.
35627
35628 * include/grub/menu.h: New file.
35629
35630 * include/grub/menu_viewer.h: New file.
35631
35632 * include/grub/normal.h: Added include to grub/menu.h.
35633 (grub_menu_entry): Moved to include/grub/menu.h.
35634 (grub_menu_entry_t): Likewise.
35635 (grub_menu): Likewise.
35636 (grub_menu_t): Likewise.
35637 (grub_normal_terminal_menu_viewer): Added.
35638 (grub_menu_execute_entry): Likewise.
35639 (grub_menu_run): Removed.
35640
35641 * DISTLIST: Added include/grub/menu.h.
35642 Added include/grub/menu_viewer.h.
35643 Added normal/menu_viewer.c.
35644
35645 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
35646
35647 * normal/execute.c (grub_script_execute_menuentry): Changed to use
35648 arglist for menutitle arguments.
35649
35650 * normal/main.c (grub_normal_menu_addentry): Likewise.
35651
35652 * normal/parser.y (menuentry): Likewise.
35653
35654 * normal/script.c (grub_script_create_cmdmenu): Likewise.
35655
35656 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
35657 (grub_script_create_cmdmenu): Likewise.
35658
35659 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
35660
35661 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
35662 changes.
35663
35664 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
35665
35666 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
35667
35668 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
35669
35670 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35671
35672 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35673
35674 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35675
35676 2009-01-30 Christian Franke <franke@computer.org>
35677
35678 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
35679 in option help text.
35680
35681 2009-01-27 Pavel Roskin <proski@gnu.org>
35682
35683 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
35684
35685 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35686
35687 * commands/lsmmap.c: Add include to grub/machine/memory.h.
35688
35689 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
35690
35691 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
35692 unregister function.
35693
35694 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35695
35696 * disk/scsi.c (grub_scsi_read): Fix sign problem.
35697
35698 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
35699
35700 * util/grub-mkfont.c (usage): Fix typo.
35701
35702 * util/elf/grub-mkimage.c (load_modules): Fix warning.
35703
35704 2009-01-26 Daniel Mierswa <impulze@impulze.org>
35705
35706 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
35707
35708 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
35709
35710 * kern/misc.c (grub_strcasecmp): New function.
35711 (grub_strcasecmp): Use grub_size_t instead of int for length.
35712 Fix return value.
35713 * include/grub/misc.h: Update function prototypes.
35714
35715 2009-01-26 Robert Millan <rmh@aybabtu.com>
35716
35717 * configure.ac: Fix cross-compilation check.
35718
35719 2009-01-22 Christian Franke <franke@computer.org>
35720
35721 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
35722 (precision) digit string. Allow `.format2' without `format1' (width).
35723 Limit input chars for `%s' output to `format2' if specified. This is
35724 compatible with standard printf ().
35725
35726 2009-01-22 Christian Franke <franke@computer.org>
35727
35728 * disk/ata.c (grub_ata_wait_status): Replace by ...
35729 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
35730 other status bits may be invalid while BSY is asserted.
35731 (grub_ata_check_ready): New function.
35732 (grub_ata_cmd): Removed.
35733 (grub_ata_wait_drq): New function.
35734 (grub_ata_strncpy): Remove inline.
35735 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
35736 and error check now done by grub_ata_wait_drq ().
35737 (grub_ata_pio_write): Likewise.
35738 (grub_atapi_identify): Set DEV before check for !BSY. Use
35739 grub_ata_wait_drq () to wait for data.
35740 (grub_ata_device_initialize): Add status register check to
35741 detect missing SATA slave devices. Add debug messages.
35742 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
35743 (grub_atapi_packet): Set DEV before check for !BSY. Replace
35744 transfer loop by grub_ata_pio_write ().
35745 (grub_ata_identify): Set DEV before check for !BSY. Use
35746 grub_ata_wait_drq () to wait for data.
35747 (grub_ata_setaddress): Set DEV before check for !BSY.
35748 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
35749 read/write in one loop. Fix invalid command on write. Fix incomplete
35750 command on (size % batch) == 0. Add missing error check after write of
35751 last block. Add debug messages.
35752 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
35753
35754 2009-01-19 Christian Franke <franke@computer.org>
35755
35756 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
35757 (GRUB_ATAPI_IREASON_*): Likewise.
35758 (grub_ata_pio_write): Fix timeout error return.
35759 (grub_atapi_identify): Add grub_ata_wait () after cmd.
35760 (grub_atapi_wait_drq): New function.
35761 (grub_atapi_packet): New parameter `size'.
35762 Use grub_atapi_wait_drq () and direct write instead of
35763 grub_ata_pio_write ().
35764 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
35765 reads the number of bytes requested by the device for each DRQ
35766 assertion.
35767 (grub_atapi_write): Remove old implementation, return not
35768 implemented instead.
35769
35770 2009-01-19 Christian Franke <franke@computer.org>
35771
35772 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
35773 of 512 to calculate data size.
35774 (grub_scsi_read12): Likewise.
35775 (grub_scsi_write10): Likewise.
35776 (grub_scsi_write12): Likewise.
35777 (grub_scsi_read): Adjust size according to blocksize.
35778 Add checks for invalid blocksize and unaligned transfer.
35779
35780 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
35781
35782 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
35783
35784 * term/gfxterm.c (write_char): Fix background rendering for wide
35785 width glyphs.
35786
35787 2009-01-19 Robert Millan <rmh@aybabtu.com>
35788
35789 * config.guess: Update to latest version from config git.
35790 * config.sub: Likewise.
35791
35792 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
35793
35794 * Makefile.in: Change font compilation to use new grub-mkfont instead
35795 of java version.
35796
35797 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
35798 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
35799 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35800 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35801 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
35802 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
35803 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
35804 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
35805 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35806
35807 2009-01-16 Christian Franke <franke@computer.org>
35808
35809 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
35810 (enum grub_ata_timeout_milliseconds): New enum.
35811 (grub_ata_wait_status): Add parameter milliseconds.
35812 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
35813 recovery from timed-out commands.
35814 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
35815 return grub_errno instead of REG_ERROR.
35816 (grub_ata_pio_write): Add parameter milliseconds.
35817 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
35818 Pass milliseconds to grub_ata_wait_status () and
35819 grub_ata_pio_read ().
35820 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
35821 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
35822 grub_ata_wait_status (). Fix IDENTIFY timeout check.
35823 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
35824 It is not suitable for device detection, because DEV bit is ignored,
35825 the command may run too long, and not all devices set the signature
35826 properly.
35827 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
35828 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
35829 Fix device selection, DEV bit must be set first to address the registers
35830 of the correct device.
35831 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
35832 grub_ata_pio_read/write ().
35833 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
35834 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
35835
35836 2009-01-13 Carles Pina i Estany <carles@pina.cat>
35837
35838 * util/grub-editenv.c (main): Use fseeko(), not fseek().
35839
35840 2009-01-13 Bean <bean123ch@gmail.com>
35841
35842 * util/grub-mkfont.c (write_font): forget to remove some debug code.
35843
35844 2009-01-13 Bean <bean123ch@gmail.com>
35845
35846 * Makefile.in: (enable_grub_mkfont): New variable.
35847 (freetype_cflags): Likewise.
35848 (freetype_libs): Likewise.
35849
35850 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
35851 (grub_mkfont_SOURCES): New variable.
35852 (grub_mkfont_CFLAGS): Likewise.
35853 (grub_mkfont_LDFLAGS): Likewise.
35854
35855 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
35856 library if `--enable-grub-mkfont' is requested.
35857 (enable_grub_mkfont): New variable.
35858 (freetype_cflags): Likewise.
35859 (freetype_libs): Likewise.
35860
35861 * util/grub-mkfont.c: New file.
35862
35863 2009-01-12 Christian Franke <franke@computer.org>
35864
35865 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
35866 mode check. Fix setting of compat_use[].
35867
35868 2009-01-10 Robert Millan <rmh@aybabtu.com>
35869
35870 Update a few copyright years which we forgot to do in 2008 (only for
35871 files whose changes made in 2008 were copyright-significant)
35872
35873 * Makefile.in: Add 2008 to Copyright line.
35874 * disk/ieee1275/ofdisk.c: Likewise.
35875 * disk/efi/efidisk.c: Likewise.
35876 * kern/dl.c: Likewise.
35877 * kern/sparc64/ieee1275/init.c: Likewise.
35878 * kern/mm.c: Likewise.
35879 * kern/efi/mm.c: Likewise.
35880 * boot/i386/pc/boot.S: Likewise.
35881 * genfslist.sh: Likewise.
35882 * fs/iso9660.c: Likewise.
35883 * fs/hfs.c: Likewise.
35884 * fs/jfs.c: Likewise.
35885 * fs/minix.c: Likewise.
35886 * fs/ufs.c: Likewise.
35887 * gensymlist.sh.in: Likewise.
35888 * genkernsyms.sh.in: Likewise.
35889 * include/grub/misc.h: Likewise.
35890 * include/grub/types.h: Likewise.
35891 * include/grub/symbol.h: Likewise.
35892 * include/grub/elf.h: Likewise.
35893 * include/grub/kernel.h: Likewise.
35894 * include/grub/disk.h: Likewise.
35895 * include/grub/dl.h: Likewise.
35896 * include/grub/i386/linux.h: Likewise.
35897 * include/grub/i386/pc/biosdisk.h: Likewise.
35898 * include/grub/efi/api.h: Likewise.
35899 * include/grub/efi/pe32.h: Likewise.
35900 * include/grub/util/misc.h: Likewise.
35901 * normal/execute.c: Likewise.
35902 * normal/arg.c: Likewise.
35903 * normal/completion.c: Likewise.
35904 * normal/lexer.c: Likewise.
35905 * normal/parser.y: Likewise.
35906 * normal/misc.c: Likewise.
35907 * commands/i386/pc/vbeinfo.c: Likewise.
35908 * commands/hexdump.c: Likewise.
35909 * commands/terminal.c: Likewise.
35910 * commands/ls.c: Likewise.
35911 * commands/help.c: Likewise.
35912 * partmap/pc.c: Likewise.
35913 * loader/efi/chainloader.c: Likewise.
35914 * loader/multiboot_loader.c: Likewise.
35915 * loader/i386/pc/multiboot2.c: Likewise.
35916 * term/efi/console.c: Likewise.
35917 * term/i386/pc/serial.c: Likewise.
35918 * util/lvm.c: Likewise.
35919 * util/console.c: Likewise.
35920 * util/i386/efi/grub-mkimage.c: Likewise.
35921 * util/raid.c: Likewise.
35922
35923 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
35924
35925 * commands/videotest.c: Removed include to grub/machine/memory.h.
35926
35927 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
35928 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
35929 (video_mod_SOURCES): Removed.
35930 (video_mod_CFLAGS): Likewise.
35931 (video_mod_LDFLAGS): Likewise.
35932 (gfxterm_mod_SOURCES): Likewise.
35933 (gfxterm_mod_CFLAGS): Likewise.
35934 (gfxterm_mod_LDFLAGS): Likewise.
35935 (videotest_mod_SOURCES): Likewise.
35936 (videotest_mod_CFLAGS): Likewise.
35937 (videotest_mod_LDFLAGS): Likewise.
35938 (bitmap_mod_SOURCES): Likewise.
35939 (bitmap_mod_CFLAGS): Likewise.
35940 (bitmap_mod_LDFLAGS): Likewise.
35941 (tga_mod_SOURCES): Likewise.
35942 (tga_mod_CFLAGS): Likewise.
35943 (tga_mod_LDFLAGS): Likewise.
35944 (jpeg_mod_SOURCES): Likewise.
35945 (jpeg_mod_CFLAGS): Likewise.
35946 (jpeg_mod_LDFLAGS): Likewise.
35947 (png_mod_SOURCES): Likewise.
35948 (png_mod_CFLAGS): Likewise.
35949 (png_mod_LDFLAGS): Likewise.
35950
35951 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
35952 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
35953 (video_mod_SOURCES): Added.
35954 (video_mod_CFLAGS): Likewise.
35955 (video_mod_LDFLAGS): Likewise.
35956 (videotest_mod_SOURCES): Likewise.
35957 (videotest_mod_CFLAGS): Likewise.
35958 (videotest_mod_LDFLAGS): Likewise.
35959 (bitmap_mod_SOURCES): Likewise.
35960 (bitmap_mod_CFLAGS): Likewise.
35961 (bitmap_mod_LDFLAGS): Likewise.
35962 (tga_mod_SOURCES): Likewise.
35963 (tga_mod_CFLAGS): Likewise.
35964 (tga_mod_LDFLAGS): Likewise.
35965 (jpeg_mod_SOURCES): Likewise.
35966 (jpeg_mod_CFLAGS): Likewise.
35967 (jpeg_mod_LDFLAGS): Likewise.
35968 (png_mod_SOURCES): Likewise.
35969 (png_mod_CFLAGS): Likewise.
35970 (png_mod_LDFLAGS): Likewise.
35971 (gfxterm_mod_SOURCES): Likewise.
35972 (gfxterm_mod_CFLAGS): Likewise.
35973 (gfxterm_mod_LDFLAGS): Likewise.
35974
35975 * term/gfxterm.c: Removed include to grub/machine/memory.h,
35976 grub/machine/console.h.
35977
35978 2009-01-04 Jerone Young <jerone@gmail.com>
35979
35980 Make on screen instructions clearer
35981
35982 Based on patch created by Jidanni <jidanni@jidanni.org>
35983
35984 * normal/menu.c: print clearer instructions on the screen
35985
35986 2009-01-02 Colin D Bennett <colin@gibibit.com>
35987
35988 New font engine.
35989
35990 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
35991 build system and fixed gfxterm.c to work with different sized fonts.
35992
35993 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
35994
35995 * configure: Re-generated.
35996
35997 * DISTLIST: Removed font/manager.c.
35998 Added font/font.c.
35999 Added font/font_cmd.c.
36000
36001 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36002 compilation.
36003
36004 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
36005
36006 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
36007
36008 * kern/term.c: Changed users of grub_utf8_to_ucs4.
36009
36010 * normal/menu.c: Likewise.
36011
36012 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36013 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
36014
36015 * include/grub/font.h: Replaced with new file.
36016
36017 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36018 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36019 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36020 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36021 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
36022 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
36023 fg_red, fg_green, fg_blue, fg_alpha.
36024 (grub_video_adapter): Removed blit_glyph.
36025 (grub_video_blit_glyph): Removed.
36026
36027 * font/manager.c: Removed file.
36028
36029 * font/font.c: New file.
36030
36031 * font/font_cmd.c: Likewise.
36032
36033 * video/video.c (grub_video_blit_glyph): Removed.
36034
36035 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36036 (grub_video_vbe_map_rgba): Likewise.
36037 (grub_video_vbe_unmap_color_int): Likewise.
36038 (grub_video_vbe_blit_glyph): Removed.
36039 (grub_video_vbe_adapter): Removed blit_glyph.
36040
36041 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36042 (get_pixel): Likewise.
36043 (set_pixel): Likewise.
36044
36045 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
36046
36047 * term/gfxterm.c: Adapted to new font engine.
36048
36049 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
36050
36051 * term/i386/pc/vga.c: Likewise.
36052
36053 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
36054
36055 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36056
36057 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36058
36059 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36060
36061 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36062
36063 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36064
36065 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36066
36067 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36068
36069 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36070
36071 * util/grub.d/00_header.in: Changed to use new loadfont command.
36072
36073 * util/grub-mkconfig_lib.in: Changed font extension.
36074
36075 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
36076
36077 * util/getroot.c (grub_util_get_grub_dev): Add support for
36078 /dev/md/dNNpNN style partitionable mdraid devices.
36079
36080 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
36081
36082 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36083 at a time limit of the PXE TFTP API correctly.
36084 (grub_pxefs_close): Likewise.
36085
36086 2008-11-29 Robert Millan <rmh@aybabtu.com>
36087
36088 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
36089 grub_ata_device_initialize() calls.
36090
36091 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
36092
36093 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36094 iteration failed.
36095 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36096
36097 2008-11-28 Robert Millan <rmh@aybabtu.com>
36098
36099 Fix build on powerpc-ieee1275. Based on patch created by
36100 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36101 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36102 `kern/ieee1275/mmap.c'.
36103 * include/grub/powerpc/ieee1275/memory.h: New file.
36104
36105 Provide grub-install on coreboot.
36106 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36107 (grub_install_SOURCES): New variable.
36108 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36109 usable on coreboot.
36110
36111 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
36112
36113 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36114 to `grub_term_input_t'.
36115 (grub_term_get_current_output): Change return type to
36116 `grub_term_output_t'.
36117
36118 2008-11-22 Robert Millan <rmh@aybabtu.com>
36119
36120 Fix breakage on coreboot due to declaration mismatch.
36121 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36122 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36123 grub_vga_text_cls().
36124
36125 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
36126 comments. Avoid copying one more byte than necessary (just in case).
36127
36128 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36129 to 0x200000 (avoids trouble with some OFW implementations, and matches
36130 with the one in Yaboot).
36131 Reported by Manoel Abranches
36132
36133 2008-11-20 Robert Millan <rmh@aybabtu.com>
36134
36135 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36136 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36137
36138 * util/grub-mkconfig_lib.in (grub_warn): New function.
36139 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36140 warnings, to obtain consistent formatting.
36141 * util/grub.d/00_header.in: Likewise.
36142 * util/update-grub_lib.in: Likewise.
36143
36144 * loader/i386/linux.c (allocate_pages): Fix a warning.
36145 Move comment text to `#error' stanza.
36146
36147 Harmonize ieee1275's grub_available_iterate() with the generic
36148 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36149 build problem on i386-ieee1275):
36150 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36151 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36152 parameter `type'. Update all users of this function.
36153 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36154 `kern/ieee1275/mmap.c'.
36155 * kern/ieee1275/init.c
36156 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36157 with ...
36158 (grub_machine_mmap_iterate): ... this.
36159 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36160 return type to `grub_err_t'. Update all implementations of this
36161 function prototype.
36162 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36163 Likewise.
36164
36165 Add `lsmmap' command (lists firmware-provided memory map):
36166 * commands/lsmmap.c: New file.
36167 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36168 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36169 variables.
36170 * conf/powerpc-ieee1275.rmk: Likewise.
36171 * conf/i386-coreboot.rmk: Likewise.
36172 * conf/i386-ieee1275.rmk: Likewise.
36173
36174 2008-11-19 Robert Millan <rmh@aybabtu.com>
36175
36176 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
36177 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36178 constraints to initrd allocation (based on code from
36179 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36180 for Linux to find it.
36181
36182 2008-11-14 Robert Millan <rmh@aybabtu.com>
36183
36184 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36185 order to cope with duplicate slashes.
36186
36187 2008-11-14 Robert Millan <rmh@aybabtu.com>
36188
36189 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36190 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36191 don't want to mess with lower memory, because it is used in the Linux
36192 loader.
36193
36194 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
36195 an appropriate place in lower memory, between 0x10000 and 0x90000,
36196 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36197 is in our heap (probably as a result of it being corrupted during
36198 decompression). Add #error instance with comment to explain why this
36199 loader isn't currently usable on PC/BIOS.
36200
36201 2008-11-14 Robert Millan <rmh@aybabtu.com>
36202
36203 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
36204 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
36205
36206 2008-11-12 Robert Millan <rmh@aybabtu.com>
36207
36208 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36209
36210 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36211 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36212 from here ...
36213 * include/grub/i386/pc/memory.h: ... to here.
36214
36215 2008-11-12 Robert Millan <rmh@aybabtu.com>
36216
36217 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36218 split).
36219
36220 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36221 (grub_console_cur_color, grub_console_real_putchar)
36222 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36223 (grub_console_setcolorstate, grub_console_setcolor)
36224 (grub_console_getcolor): Move from here ...
36225 * include/grub/i386/vga_common.h: ... to here (new file).
36226
36227 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36228 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36229 `<grub/i386/io.h>'.
36230 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36231 `<grub/i386/vga_common.h>'.
36232
36233 2008-11-12 Robert Millan <rmh@aybabtu.com>
36234
36235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36236 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36237 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36238 variables.
36239 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36240 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36241
36242 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36243 grub_console_init() with call to grub_vga_text_init().
36244 (grub_machine_fini): Replace call to
36245 grub_console_fini() with call to grub_vga_text_fini() and
36246 grub_at_keyboard_fini().
36247
36248 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36249 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36250 (grub_console_setcolorstate, grub_console_setcolor)
36251 (grub_console_getcolor): New function prototypes.
36252
36253 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36254 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36255 (grub_vga_text_setcursor): Static-ize.
36256 (grub_vga_text_term): New structure.
36257 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36258
36259 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36260 (grub_console_cur_color, grub_console_standard_color)
36261 (grub_console_normal_color, grub_console_highlight_color)
36262 (map_char, grub_console_putchar, grub_console_getcharwidth)
36263 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36264 (grub_console_getcolor): Move from here ...
36265 * term/i386/vga_common.c: ... to here (same function names).
36266
36267 2008-11-12 Robert Millan <rmh@aybabtu.com>
36268
36269 Use newly-added Multiboot support in coreboot.
36270
36271 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36272 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36273
36274 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36275 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36276 (codestart): Store the MBI in `startup_multiboot_info' when we're
36277 being loaded using Multiboot.
36278
36279 * kern/i386/coreboot/init.c (grub_machine_init): Move
36280 grub_at_keyboard_init() call to beginning of function (useful for
36281 debugging). Call grub_machine_mmap_init() before attempting to use
36282 grub_machine_mmap_iterate().
36283 (grub_lower_mem, grub_upper_mem): Move from here ...
36284 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36285 here (new file).
36286
36287 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36288 function prototype.
36289
36290 2008-11-12 Robert Millan <rmh@aybabtu.com>
36291
36292 Fix a regression introduced by the at_keyboard.mod split. Because
36293 some terminals are default on some platforms and non-default on
36294 others, the first terminal being registered determines which is
36295 going to be default.
36296
36297 * kern/term.c (grub_term_register_input): If this is the first
36298 terminal being registered, set it as the current one.
36299 (grub_term_register_output): Likewise.
36300
36301 * term/efi/console.c (grub_console_init): Do not call
36302 grub_term_set_current_output() or grub_term_set_current_input().
36303 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36304 * term/i386/pc/console.c (grub_console_init): Likewise.
36305 (grub_console_fini): Do not call grub_term_set_current_input()
36306 (but leave grub_term_set_current_output() to restore text mode).
36307
36308 2008-11-10 Robert Millan <rmh@aybabtu.com>
36309
36310 * util/grub.d/00_header.in: Add backward compatibility check for
36311 versions of terminal.mod that don't understand `terminal_input' or
36312 `terminal_output'.
36313
36314 2008-11-09 Robert Millan <rmh@aybabtu.com>
36315
36316 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36317 `terminal_input' / `terminal_output', not `terminal'.
36318
36319 2008-11-08 Robert Millan <rmh@aybabtu.com>
36320
36321 * Makefile.in (include_DATA): Fix srcdir=. assumption.
36322 (DISTCLEANFILES): Add `build_env.mk'.
36323
36324 2008-11-08 Robert Millan <rmh@aybabtu.com>
36325
36326 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
36327 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36328 members. Update all users.
36329 * util/console.c (grub_ncurses_term): Split in ...
36330 (grub_ncurses_term_input): ... this, and ...
36331 (grub_ncurses_term_output): ... this. Update all users.
36332 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
36333
36334 2008-11-08 Robert Millan <rmh@aybabtu.com>
36335
36336 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36337 (PKGDATA): Add $(pkgdata_SRCDIR).
36338 (pkglib_BUILDDIR): New variable.
36339 (pkgdata_SRCDIR): New variable.
36340 (build_env.mk): New target.
36341 (include_DATA): New variable.
36342 (install-local): Install $(include_DATA) files in $(includedir).
36343
36344 2008-11-07 Pavel Roskin <proski@gnu.org>
36345
36346 * gendistlist.sh: Use C locale for sorting to ensure consistent
36347 output on all systems.
36348
36349 * util/grub.d/00_header.in: Remove incorrect space before
36350 "serial".
36351
36352 2008-11-07 Robert Millan <rmh@aybabtu.com>
36353
36354 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36355 per specification.
36356 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36357 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36358 (based on find_multi_boot1_header).
36359 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36360 using find_multi_boot2_header(), and abort if neither Multiboot or
36361 Multiboot headers were found.
36362
36363 2008-11-07 Robert Millan <rmh@aybabtu.com>
36364
36365 Modularize at_keyboard.mod:
36366
36367 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36368 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36369 (at_keyboard_mod_LDFLAGS): New variables.
36370
36371 Actual terminal split:
36372
36373 * include/grub/term.h (struct grub_term): Split in ...
36374 (struct grub_term_input): ... this, and ...
36375 (struct grub_term_output): ... this. Update all users.
36376 (grub_term_set_current): Split in ...
36377 (grub_term_set_current_input): ... this, and ...
36378 (grub_term_set_current_output): ... this.
36379 (grub_term_get_current): Split in ...
36380 (grub_term_get_current_input): ... this, and ...
36381 (grub_term_get_current_output): ... this.
36382 (grub_term_register): Split in ...
36383 (grub_term_register_input): ... this, and ...
36384 (grub_term_register_output): ... this.
36385 (grub_term_unregister): Split in ...
36386 (grub_term_unregister_input): ... this, and ...
36387 (grub_term_unregister_output): ... this.
36388 (grub_term_iterate): Split in ...
36389 (grub_term_iterate_input): ... this, and ...
36390 (grub_term_iterate_output): ... this.
36391
36392 * kern/term.c (grub_term_list): Split in ...
36393 (grub_term_list_input): ... this, and ...
36394 (grub_term_list_output): ... this. Update all users.
36395 (grub_cur_term): Split in ...
36396 (grub_cur_term_input): ... this, and ...
36397 (grub_cur_term_output): ... this. Update all users.
36398 (grub_term_set_current): Split in ...
36399 (grub_term_set_current_input): ... this, and ...
36400 (grub_term_set_current_output): ... this.
36401 (grub_term_get_current): Split in ...
36402 (grub_term_get_current_input): ... this, and ...
36403 (grub_term_get_current_output): ... this.
36404 (grub_term_register): Split in ...
36405 (grub_term_register_input): ... this, and ...
36406 (grub_term_register_output): ... this.
36407 (grub_term_unregister): Split in ...
36408 (grub_term_unregister_input): ... this, and ...
36409 (grub_term_unregister_output): ... this.
36410 (grub_term_iterate): Split in ...
36411 (grub_term_iterate_input): ... this, and ...
36412 (grub_term_iterate_output): ... this.
36413
36414 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36415 a check for input and one for output (and only attempt to get keys
36416 from user when input works).
36417
36418 * util/grub-probe.c (grub_term_get_current): Split in ...
36419 (grub_term_get_current_input): ... this, and ...
36420 (grub_term_get_current_output): ... this.
36421 * util/grub-fstest.c: Likewise.
36422 * util/i386/pc/grub-setup.c: Likewise.
36423 * util/grub-editenv.c: Likewise.
36424
36425 Portability adjustments:
36426
36427 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36428 `term/i386/pc/at_keyboard.c'.
36429 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36430 grub_keyboard_controller_init() (now handled by terminal .init).
36431 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36432 grub_at_keyboard_init().
36433 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36434 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36435 at_keyboard.mod via input terminal interface).
36436 * include/grub/i386/coreboot/console.h: Convert into a stub for
36437 `<grub/i386/pc/console.h>'.
36438
36439 Migrate full terminals to new API:
36440
36441 * term/efi/console.c (grub_console_term): Split into ...
36442 (grub_console_term_input): ... this, and ...
36443 (grub_console_term_output): ... this. Update all users.
36444 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36445 (grub_ofconsole_init): Split into ...
36446 (grub_ofconsole_init_input): ... this, and ...
36447 (grub_ofconsole_init_output): ... this.
36448 (grub_ofconsole_term): Split into ...
36449 (grub_ofconsole_term_input): ... this, and ...
36450 (grub_ofconsole_term_output): ... this. Update all users.
36451 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36452 (grub_serial_term_input): ... this, and ...
36453 (grub_serial_term_output): ... this. Update all users.
36454 * term/i386/pc/console.c (grub_console_term): Split into ...
36455 (grub_console_term_input): ... this, and ...
36456 (grub_console_term_output): ... this. Update all users.
36457 (grub_console_term_input): Only enable it on PC/BIOS platform.
36458 (grub_console_init): Remove grub_keyboard_controller_init() call.
36459
36460 Migrate input terminals to new API:
36461
36462 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36463 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36464 i386-specific anyway).
36465 (grub_console_checkkey): Rename to ...
36466 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36467 users.
36468 (grub_keyboard_controller_orig): New variable.
36469 (grub_console_getkey): Rename to ...
36470 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36471 users.
36472 (grub_keyboard_controller_init): Static-ize. Save original
36473 controller value so that it can be restored ...
36474 (grub_keyboard_controller_fini): ... here (new function).
36475 (grub_at_keyboard_term): New structure.
36476 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36477 functions.
36478
36479 Migrate output terminals to new API:
36480
36481 * term/i386/pc/vga.c (grub_vga_term): Change type to
36482 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36483 members. Update all users.
36484 * term/gfxterm.c (grub_video_term): Change type to
36485 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36486 members. Update all users.
36487 * include/grub/i386/pc/console.h (grub_console_checkkey)
36488 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36489 etc).
36490
36491 Migrate `terminal' command and userland tools to new API:
36492
36493 * commands/terminal.c (grub_cmd_terminal): Split into ...
36494 (grub_cmd_terminal_input): ... this, and ...
36495 (grub_cmd_terminal_output): ... this.
36496 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36497 `terminal_input' and `terminal_output'.
36498 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36499 `terminal_input' / `terminal_output' API.
36500 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36501 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36502 provided ${GRUB_TERMINAL}, convert it).
36503
36504 2008-11-04 Robert Millan <rmh@aybabtu.com>
36505
36506 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36507 for FreeBSD.
36508 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36509
36510 2008-11-03 Bean <bean123ch@gmail.com>
36511
36512 * kern/elf.c (grub_elf32_load): Revert to previous code.
36513 (grub_elf64_load): Likewise.
36514
36515 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36516
36517 2008-11-01 Robert Millan <rmh@aybabtu.com>
36518
36519 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36520 (TARGET_CPPFLAGS): Likewise.
36521 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36522
36523 2008-11-01 Carles Pina i Estany <carles@pina.cat>
36524
36525 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36526
36527 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
36528
36529 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36530 addition of objects until the code is not going to be able to fail.
36531
36532 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
36533
36534 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36535 (add a missing NULL check, and correct them by moving the pointer
36536 operations after the actual check).
36537
36538 2008-10-29 Robert Millan <rmh@aybabtu.com>
36539
36540 * util/i386/pc/grub-install.in: Handle empty string as output from
36541 make_system_path_relative_to_its_root().
36542
36543 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36544
36545 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36546 circular metadata worst case scenario. If the metadata is circular
36547 then copy the wrap in place.
36548 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36549 project lib/format_text/layout.h
36550 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36551
36552 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
36553
36554 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
36555
36556 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
36557
36558 * util/update-grub_lib.in: Mention filename in warning message.
36559
36560 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
36561
36562 * NEWS: Update for rename of update-grub to grub-mkconfig.
36563
36564 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
36565
36566 * util/update-grub_lib.in: Copy to ...
36567 * util/grub-mkconfig_lib.in: ... this. Update all users.
36568 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
36569 * util/update-grub.in: Rename to ...
36570 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36571 option. Add `--output' option to allow users to specify the generated
36572 configuration file. Default to stdout.
36573 (update_grub_dir): Rename to ...
36574 (grub_mkconfig_dir): ... this.
36575 (grub_cfg): Default to an empty string.
36576 * conf/common.rmk (update-grub): Rename to ...
36577 (grub-mkconfig): ... this.
36578 (update-grub_lib): Copy to ...
36579 (grub-mkconfig_lib): ... this.
36580 (update-grub_SCRIPTS): Copy to ...
36581 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36582 (update-grub_DATA): Rename to ...
36583 (grub-mkconfig_DATA): ... this.
36584
36585 2008-09-28 Robert Millan <rmh@aybabtu.com>
36586
36587 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36588 to `modified'. Add the real `created' field.
36589 (grub_iso9660_uuid): Use `modified' rather than `created' for
36590 constructing the UUID.
36591
36592 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
36593
36594 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36595 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36596
36597 2008-09-28 Bean <bean123ch@gmail.com>
36598
36599 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
36600 Thanks to Christian Franke for finding this bug.
36601
36602 2008-09-25 Robert Millan <rmh@aybabtu.com>
36603
36604 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
36605 instances of grub_util_get_disk_name() (see previous commit).
36606
36607 2008-09-25 Robert Millan <rmh@aybabtu.com>
36608
36609 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
36610 `util/i386/get_disk_name.c'.
36611 * conf/i386-efi.rmk: Likewise.
36612 * conf/x86_64-efi.rmk: Likewise.
36613 * conf/i386-coreboot.rmk: Likewise.
36614 * conf/i386-ieee1275.rmk: Likewise.
36615 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
36616 `util/ieee1275/get_disk_name.c'.
36617 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
36618 * util/ieee1275/get_disk_name.c: Remove file.
36619 * util/i386/get_disk_name.c: Remove file.
36620 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
36621 "hd%d" for device.map entries, rather than using
36622 grub_util_get_disk_name().
36623
36624 2008-09-24 Carles Pina i Estany <carles@pina.cat>
36625
36626 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
36627 warning.
36628 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
36629
36630 2008-09-24 Carles Pina i Estany <carles@pina.cat>
36631
36632 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
36633 Changed to 0x5100.
36634 (GRUB_TERM_PPAGE): Changed to 0x4900.
36635
36636 2008-09-24 Robert Millan <rmh@aybabtu.com>
36637
36638 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
36639 macros (they were i386-pc specific).
36640 * include/grub/sparc64/ieee1275/console.h: Likewise.
36641 * include/grub/efi/console.h: Likewise.
36642
36643 2008-09-22 Bean <bean123ch@gmail.com>
36644
36645 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
36646 resident and in attribute list.
36647
36648 * include/grub/ntfs.h (BMP_LEN): Removed.
36649
36650 2008-09-22 Bean <bean123ch@gmail.com>
36651
36652 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
36653 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
36654
36655 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
36656 error occurs, as grub_disk_open will call grub_disk_close, which will
36657 call p->close (scsi).
36658
36659 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
36660
36661 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
36662 (AC_PREREQ): Bumped to 2.59.
36663 (AC_TRY_COMPILE): Replace obsolete macro with ...
36664 (AC_COMPILE_IFELSE): ... this.
36665 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
36666 (AC_LINK_IFELSE): ... this.
36667
36668 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
36669
36670 * autogen.sh: Add a call to `gendistlist.sh'.
36671
36672 2008-09-19 Christian Franke <franke@computer.org>
36673
36674 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
36675 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
36676 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
36677 Export __enable_execute_stack() to modules.
36678 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
36679 New function.
36680
36681 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
36682
36683 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
36684 Sort the list.
36685
36686 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
36687
36688 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
36689 #include <grub/util/hostdisk.h>.
36690
36691 2008-09-08 Robert Millan <rmh@aybabtu.com>
36692
36693 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
36694 segments when their filesz is zero (grub_file_read() interprets
36695 zero-size as "read until EOF", which results in memory corruption).
36696 Use `lowest_segment' rather than 0 for calculating the current
36697 segment load address.
36698
36699 2008-09-08 Robert Millan <rmh@aybabtu.com>
36700
36701 * util/hostdisk.c (open_device): Replace a grub_util_info() call
36702 with grub_dprintf("hostdisk", ...), as it was so verbose that it
36703 clobbered useful information.
36704
36705 2008-09-08 Robert Millan <rmh@aybabtu.com>
36706
36707 * include/grub/util/biosdisk.h: Move to ...
36708 * include/grub/util/hostdisk.h: ... here. Update all users.
36709 * util/biosdisk.c: Move to ...
36710 * util/hostdisk.c: ... here. Update all users.
36711
36712 2008-09-07 Robert Millan <rmh@aybabtu.com>
36713
36714 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
36715 variables.
36716 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
36717 and length can be stored directly in the `mbi->mmap_addr' and
36718 `mbi->mmap_length' struct fields.
36719
36720 2008-09-07 Robert Millan <rmh@aybabtu.com>
36721
36722 * conf/i386.rmk: New file. Provides declaration for building
36723 `cpuid.mod'.
36724 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
36725 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
36726 variables.
36727 Include `conf/i386.mk'.
36728 * conf/i386-efi.rmk: Likewise.
36729 * conf/x86_64-efi.rmk: Likewise.
36730 * conf/i386-coreboot.rmk: Likewise.
36731 * conf/i386-ieee1275.rmk: Likewise.
36732
36733 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
36734
36735 Based on patch created by Colin D Bennett <colin@gibibit.com>.
36736 Adds optimization support for BGR based modes.
36737
36738 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
36739 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36740 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36741 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36742 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36743 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36744 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36745 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36746 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36747 (grub_video_i386_vbeblit_index_index): Likewise.
36748 (grub_video_i386_vbeblit_replace_directN): Added.
36749 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36750 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36751 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36752 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36753 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36754 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
36755 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
36756 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36757 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36758 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36759 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36760 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36761 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36762
36763 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
36764 (grub_video_i386_vbefill_R8G8B8): Likewise.
36765 (grub_video_i386_vbefill_index): Likewise.
36766 (grub_video_i386_vbefill_direct32): Added.
36767 (grub_video_i386_vbefill_direct24): Likewise.
36768 (grub_video_i386_vbefill_direct16): Likewise.
36769 (grub_video_i386_vbefill_direct8): Likewise.
36770
36771 * include/grub/video.h (grub_video_blit_format): Removed
36772 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
36773 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
36774 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
36775 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
36776 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
36777
36778 * video/video.c (grub_video_get_blit_format): Updated to use new
36779 blit formats. Added handling for 16 bit color modes.
36780
36781 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
36782 fillers.
36783 (common_blitter): Updated to use new blitters.
36784
36785 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
36786 Removed.
36787 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36788 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36789 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36790 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36791 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36792 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36793 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36794 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36795 (grub_video_i386_vbeblit_index_index): Likewise.
36796 (grub_video_i386_vbeblit_replace_directN): Added.
36797 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36798 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36799 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36800 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36801 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36802 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
36803 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
36804 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36805 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36806 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36807 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36808 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36809 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36810
36811 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
36812 (grub_video_i386_vbefill_R8G8B8): Likewise.
36813 (grub_video_i386_vbefill_index): Likewise.
36814 (grub_video_i386_vbefill_direct32): Added.
36815 (grub_video_i386_vbefill_direct24): Likewise.
36816 (grub_video_i386_vbefill_direct16): Likewise.
36817 (grub_video_i386_vbefill_direct8): Likewise.
36818
36819 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
36820 types.
36821
36822 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
36823 types.
36824
36825 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
36826 blitter types.
36827
36828 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
36829 types.
36830
36831 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
36832
36833 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
36834 RAID level 1.
36835
36836 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
36837
36838 * fs/iso9660.c (grub_iso9660_date): New structure.
36839 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
36840 (grub_iso9660_uuid): New function.
36841
36842 2008-09-05 Bean <bean123ch@gmail.com>
36843
36844 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
36845
36846 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
36847 insensitive bit for names in Win32 and Win32 & DOS namespace.
36848
36849 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
36850
36851 * include/grub/types.h (LONG_MAX): Likewise.
36852
36853 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
36854
36855 * util/getroot.c: Include <config.h>.
36856 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
36857 add support for /dev/md/N devices and handle LVM double dash escaping.
36858
36859 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
36860
36861 * config.guess: Update to latest version from config git.
36862 * config.sub: Likewise.
36863
36864 2008-09-03 Robert Millan <rmh@aybabtu.com>
36865
36866 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
36867 `disk->total_sectors'.
36868
36869 2008-09-01 Colin D Bennett <colin@gibibit.com>
36870
36871 * include/grub/normal.h: Fixed incorrect comment for
36872 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
36873
36874 2008-09-01 Colin D Bennett <colin@gibibit.com>
36875
36876 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
36877 values with defines.
36878
36879 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
36880 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
36881 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
36882 (GRUB_VBE_MODEATTR_COLOR): Likewise.
36883 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
36884 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
36885 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
36886 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
36887 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
36888 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
36889 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
36890 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
36891 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
36892 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
36893 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
36894 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
36895 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
36896 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
36897 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
36898
36899 2008-08-31 Robert Millan <rmh@aybabtu.com>
36900
36901 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
36902 declaration.
36903 (grub_multiboot): Fix a few warnings.
36904
36905 2008-08-31 Robert Millan <rmh@aybabtu.com>
36906
36907 * loader/i386/pc/multiboot.c: Update comment not to say that
36908 boot_device support is unimplemented.
36909
36910 2008-08-31 Robert Millan <rmh@aybabtu.com>
36911
36912 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
36913 or memory map support are unimplemented.
36914
36915 2008-08-31 Colin D Bennett <colin@gibibit.com>
36916
36917 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
36918
36919 2008-08-31 Colin D Bennett <colin@gibibit.com>
36920
36921 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
36922 total video memory in 'vbeinfo' output; show color format details for
36923 each video mode.
36924
36925 2008-08-30 Pavel Roskin <proski@gnu.org>
36926
36927 * util/genmoddep.c: Remove for real this time.
36928 * DISTLIST: Remove util/genmoddep.c.
36929
36930 2008-08-30 Robert Millan <rmh@aybabtu.com>
36931
36932 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
36933 as required by Multiboot spec (it was already 4-byte aligned, but
36934 only by chance).
36935
36936 2008-08-29 Pavel Roskin <proski@gnu.org>
36937
36938 * kern/powerpc/ieee1275/crt0.S: Rename to ...
36939 * kern/powerpc/ieee1275/startup.S: ... this.
36940 * conf/powerpc-ieee1275.rmk: Adjust for the above.
36941 * DISTLIST: Likewise.
36942
36943 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
36944 grub/cpu/kernel.h. Add start label for consistency with other
36945 platforms. Add grub_prefix immediately after start. Add jump
36946 to the code after grub_prefix.
36947 * include/grub/powerpc/kernel.h: Provide valid values for
36948 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
36949
36950 2008-08-29 Bean <bean123ch@gmail.com>
36951
36952 * configure.ac: Change host_os to cygwin for mingw.
36953 (asprintf): New check for function.
36954
36955 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
36956 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
36957
36958 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
36959 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
36960 sync, sleep and grub_util_get_disk_size for mingw.
36961
36962 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
36963 to get size in mingw.
36964 (open_device): Use flag O_BINARY if it's defined.
36965 (find_root_device): Add dummy code for mingw.
36966
36967 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
36968 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
36969 (get_scsi_disk_name): Return 0 for mingw.
36970
36971 * util/hostfs.c: #include <grub/util/misc.h>.
36972 (grub_hostfs_open): Use "rb" flag to open file, use
36973 grub_util_get_disk_size to get disk size for mingw.
36974
36975 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
36976 (asprintf): New function if HAVE_ASPRINTF is not set.
36977 (sync): New function for mingw.
36978 (sleep): Likewise.
36979 (grub_util_get_disk_size): Likewise.
36980
36981 2008-08-28 Pavel Roskin <proski@gnu.org>
36982
36983 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36984 kern/time.c.
36985
36986 2008-08-28 Robert Millan <rmh@aybabtu.com>
36987
36988 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
36989
36990 2008-08-28 Robert Millan <rmh@aybabtu.com>
36991
36992 Change find_grub_drive() syntax so it doesn't prevent it from
36993 detecting NULL names as errors.
36994
36995 * util/biosdisk.c (find_grub_drive): Move free slot search code
36996 from here ...
36997 (find_free_slot): ... to here.
36998 (read_device_map): Use find_free_slot() to search for free slots.
36999
37000 2008-08-27 Marco Gerards <marco@gnu.org>
37001
37002 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37003 (scsi_mod_SOURCES): New variable.
37004 (scsi_mod_CFLAGS): Likewise
37005 (scsi_mod_LDFLAGS): Likewise.
37006
37007 * disk/scsi.c: New file.
37008
37009 * include/grub/scsi.h: Likewise.
37010
37011 * include/grub/scsicmd.h: Likewise.
37012
37013 * disk/ata.c: Include <grub/scsi.h>.
37014 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37015 instead.
37016 (grub_ata_iterate): Skip ATAPI devices.
37017 (grub_ata_open): Only handle ATAPI devices.
37018 (struct grub_atapi_read): Removed.
37019 (grub_atapi_readsector): Likewise.
37020 (grub_ata_read): No longer handle ATAPI devices.
37021 (grub_ata_write): Likewise.
37022 (grub_atapi_iterate): New function.
37023 (grub_atapi_read): Likewise.
37024 (grub_atapi_write): Likewise.
37025 (grub_atapi_open): Likewise.
37026 (grub_atapi_close): Likewise.
37027 (grub_atapi_dev): New variable.
37028 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37029 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37030
37031 * include/grub/disk.h (enum grub_disk_dev_id): Add
37032 `GRUB_DISK_DEVICE_SCSI_ID'.
37033
37034 2008-08-26 Robert Millan <rmh@aybabtu.com>
37035
37036 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37037 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37038 descriptive.
37039
37040 2008-08-23 Bean <bean123ch@gmail.com>
37041
37042 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37043 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37044 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37045 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37046 dm_nv.mod.
37047 (raid5rec_mod_SOURCES): New macro.
37048 (raid5rec_mod_CFLAGS): Likewise.
37049 (raid5rec_mod_LDFLAGS): Likewise.
37050 (raid6rec_mod_SOURCES): Likewise.
37051 (raid6rec_mod_CFLAGS): Likewise.
37052 (raid6rec_mod_LDFLAGS): Likewise.
37053 (mdraid_mod_SOURCES): Likewise.
37054 (mdraid_mod_CFLAGS): Likewise.
37055 (mdraid_mod_LDFLAGS): Likewise.
37056 (dm_nv_mod_SOURCES): Likewise.
37057 (dm_nv_mod_CFLAGS): Likewise.
37058 (dm_nv_mod_LDFLAGS): Likewise.
37059
37060 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37061 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37062 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37063
37064 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37065 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37066
37067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37068
37069 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37070
37071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37072
37073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37074
37075 * disk/raid5_recover.c: New file.
37076
37077 * disk/raid6_recover.c: Likewise.
37078
37079 * disk/mdraid_linux.c: Likewise.
37080
37081 * disk/dmraid_nvidia.c: Likewise.
37082
37083 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37084 ULONG_MAX.
37085
37086 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37087 calculate the size of raid device.
37088 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37089 different layout of raid5.
37090 (grub_raid_scan_device): Remove code specific to mdraid.
37091 (grub_raid_list): New variable.
37092 (free_array): New function.
37093 (grub_raid_register): Likewise.
37094 (grub_raid_unregister): Likewise.
37095 (grub_raid_rescan): Likewise.
37096 (GRUB_MOD_INIT): Don't iterate device here.
37097 (GRUB_MOD_FINI): Use free_array to release resource.
37098
37099 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37100 (grub_raid5_recover_func_t): New function variable type.
37101 (grub_raid6_recover_func_t): Likewise.
37102 (grub_raid5_recover_func): New variable.
37103 (grub_raid6_recover_func): Likewise.
37104 (grub_raid_register): New function.
37105 (grub_raid_unregister): Likewise.
37106 (grub_raid_rescan): Likewise.
37107 (grub_raid_block_xor): Likewise.
37108
37109 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37110 (CMD_CRC): New macro.
37111 (part): Removed.
37112 (read_file): Handle device as well as file.
37113 (cmd_crc): New function.
37114 (fstest): Handle multiple disks.
37115 (options): Remove part, raw and long, add root and diskcount.
37116 (usage): Add crc, remove -p, -r, -l, add -r and -c.
37117 (main): Find the first non option entry and ignore subsequent options,
37118 add handling for the new options, support multiple disks.
37119
37120 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37121
37122 2008-08-23 Bean <bean123ch@gmail.com>
37123
37124 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37125
37126 * genfslist.sh: Ignore kernel.mod.
37127
37128 * genpartmaplist.sh: Likewise.
37129
37130 2008-08-23 Robert Millan <rmh@aybabtu.com>
37131
37132 * util/getroot.c (find_root_device): Skip anything that starts with
37133 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37134
37135 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
37136
37137 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37138 * util/grub.d/00_header.in: Allow the administrator to change default
37139 gfxmode via ${GRUB_GFXMODE}.
37140
37141 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
37142
37143 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37144
37145 2008-08-21 Robert Millan <rmh@aybabtu.com>
37146
37147 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37148 loader.
37149 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37150 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37151
37152 2008-08-20 Carles Pina i Estany <carles@pina.cat>
37153
37154 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37155 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37156
37157 2008-08-19 Robert Millan <rmh@aybabtu.com>
37158
37159 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37160 (struct grub_virtual_screen): Remove `cursor_color'.
37161 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37162 initialization.
37163 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37164
37165 2008-08-18 Robert Millan <rmh@aybabtu.com>
37166
37167 Unify (identical) linux_normal.c files.
37168 * loader/i386/efi/linux_normal.c: Move from here ...
37169 * loader/linux_normal.c: ... to here. Update all users.
37170 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37171 * loader/i386/ieee1275/linux_normal.c: Likewise.
37172
37173 2008-08-18 Robert Millan <rmh@aybabtu.com>
37174
37175 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37176 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37177 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37178 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37179 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37180 New macros.
37181 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37182 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37183 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37184 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37185 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37186 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37187 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37188 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37189 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37190 portably using grub_getxy().
37191 Replace `-EFI' with `-bzImage' in boot message.
37192
37193 2008-08-17 Robert Millan <rmh@aybabtu.com>
37194
37195 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37196
37197 2008-08-17 Robert Millan <rmh@aybabtu.com>
37198
37199 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37200
37201 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37202 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37203 (grub_machine_mmap_iterate): New function declaration.
37204 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37205 structure.
37206 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37207 macros.
37208
37209 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37210 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37211 Move e820 parsing from here ...
37212 * kern/i386/pc/mmap.c: New file.
37213 (grub_machine_mmap_iterate): ... to here.
37214
37215 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37216 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37217 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37218 (grub_available_iterate): Redeclare to return `void', and redeclare
37219 its hook to use grub_uint64_t as addr and size parameters, and rename
37220 to ...
37221 (grub_machine_mmap_iterate): ... this. Update all users.
37222
37223 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37224 to make it more readable. Rename to ...
37225 (grub_machine_mmap_iterate): ... this.
37226
37227 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37228 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37229 (grub_multiboot): Allocate an extra region after the payload, and fill
37230 it with a Multiboot memory map. Adjust a.out loader to calculate size
37231 with the extra space.
37232 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37233 with the extra space.
37234
37235 2008-08-17 Carles Pina i Estany <carles@pina.cat>
37236
37237 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
37238
37239 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
37240
37241 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37242 mdate-sh to the list `find' searches for.
37243 * DISTLIST: Regenerated.
37244
37245 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
37246
37247 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37248 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
37249 genmoddep.awk, gensymlist.sh.in.
37250 (DISTDIRS): Add bus, docs, hook, lib.
37251 * DISTLIST: Regenerated.
37252 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
37253
37254 2008-08-16 Robert Millan <rmh@aybabtu.com>
37255
37256 * disk/raid.c (grub_raid_init): Handle/report errors set by
37257 grub_device_iterate().
37258 * disk/lvm.c (grub_lvm_init): Likewise.
37259
37260 2008-08-15 Bean <bean123ch@gmail.com>
37261
37262 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37263 and datehook.mod.
37264 (datetime_mod_SOURCES): New macro.
37265 (datetime_mod_CFLAGS): Likewise.
37266 (datetime_mod_LDFLAGS): Likewise.
37267 (date_mod_SOURCES): Likewise.
37268 (date_mod_CFLAGS): Likewise.
37269 (date_mod_LDFLAGS): Likewise.
37270 (datehook_mod_SOURCES): Likewise.
37271 (datehook_mod_CFLAGS): Likewise.
37272 (datehook_mod_LDFLAGS): Likewise.
37273
37274 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37275 and datehook.mod.
37276 (datetime_mod_SOURCES): New macro.
37277 (datetime_mod_CFLAGS): Likewise.
37278 (datetime_mod_LDFLAGS): Likewise.
37279 (date_mod_SOURCES): Likewise.
37280 (date_mod_CFLAGS): Likewise.
37281 (date_mod_LDFLAGS): Likewise.
37282 (datehook_mod_SOURCES): Likewise.
37283 (datehook_mod_CFLAGS): Likewise.
37284 (datehook_mod_LDFLAGS): Likewise.
37285
37286 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37287 and datehook.mod.
37288 (datetime_mod_SOURCES): New macro.
37289 (datetime_mod_CFLAGS): Likewise.
37290 (datetime_mod_LDFLAGS): Likewise.
37291 (date_mod_SOURCES): Likewise.
37292 (date_mod_CFLAGS): Likewise.
37293 (date_mod_LDFLAGS): Likewise.
37294 (datehook_mod_SOURCES): Likewise.
37295 (datehook_mod_CFLAGS): Likewise.
37296 (datehook_mod_LDFLAGS): Likewise.
37297
37298 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37299 and datehook.mod.
37300 (datetime_mod_SOURCES): New macro.
37301 (datetime_mod_CFLAGS): Likewise.
37302 (datetime_mod_LDFLAGS): Likewise.
37303 (date_mod_SOURCES): Likewise.
37304 (date_mod_CFLAGS): Likewise.
37305 (date_mod_LDFLAGS): Likewise.
37306 (datehook_mod_SOURCES): Likewise.
37307 (datehook_mod_CFLAGS): Likewise.
37308 (datehook_mod_LDFLAGS): Likewise.
37309
37310 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37311 and datehook.mod.
37312 (datetime_mod_SOURCES): New macro.
37313 (datetime_mod_CFLAGS): Likewise.
37314 (datetime_mod_LDFLAGS): Likewise.
37315 (date_mod_SOURCES): Likewise.
37316 (date_mod_CFLAGS): Likewise.
37317 (date_mod_LDFLAGS): Likewise.
37318 (datehook_mod_SOURCES): Likewise.
37319 (datehook_mod_CFLAGS): Likewise.
37320 (datehook_mod_LDFLAGS): Likewise.
37321
37322 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37323
37324 * commands/date.c: New file.
37325
37326 * hook/datehook.c: Likewise.
37327
37328 * include/grub/lib/datetime.h: Likewise.
37329
37330 * include/grub/i386/cmos.h: Likewise.
37331
37332 * lib/datetime.c: Likewise.
37333
37334 * lib/i386/datetime.c: Likewise.
37335
37336 * lib/efi/datetime.c: Likewise.
37337
37338 2008-08-14 Robert Millan <rmh@aybabtu.com>
37339
37340 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37341 (grub_mkelfimage_SOURCES): New variable.
37342 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37343
37344 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37345 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37346 * conf/powerpc-ieee1275.rmk: Likewise.
37347 * conf/i386-ieee1275.rmk: Likewise.
37348
37349 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37350 * kern/i386/coreboot/init.c: Likewise.
37351
37352 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37353 with `<grub/cpu/kernel.h>'.
37354 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37355 to ...
37356 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37357 * kern/i386/coreboot/startup.S: Likewise.
37358
37359 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37360 (GRUB_MOD_GAP): Remove.
37361 * include/grub/powerpc/kernel.h: New file.
37362 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37363 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37364 * include/grub/i386/kernel.h: New file.
37365 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37366 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37367 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37368
37369 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37370 `grub-mkelfimage'.
37371 Use --directory when invoking grub_mkimage.
37372
37373 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37374 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37375 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37376 and GRUB_KERNEL_CPU_PREFIX.
37377
37378 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
37379
37380 * include/grub/err.h (grub_err_printf): New function prototype.
37381 * util/misc.c (grub_err_printf): New function.
37382 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37383 grub_printf.
37384 * kern/err.c (grub_print_error): Use grub_err_printf.
37385
37386 2008-08-13 Robert Millan <rmh@aybabtu.com>
37387
37388 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37389
37390 2008-08-13 Robert Millan <rmh@aybabtu.com>
37391
37392 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37393 boot entry.
37394
37395 2008-08-12 Robert Millan <rmh@aybabtu.com>
37396
37397 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37398 of the relocation code from here ...
37399 (grub_multiboot): ... to here.
37400 (forward_relocator, backward_relocator): Move from here ...
37401 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37402 (grub_multiboot_backward_relocator): ... to here.
37403 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37404 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37405 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37406 (grub_multiboot_forward_relocator_end)
37407 (grub_multiboot_backward_relocator)
37408 (grub_multiboot_backward_relocator_end): New variables.
37409
37410 2008-08-12 Bean <bean123ch@gmail.com>
37411
37412 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37413
37414 2008-08-11 Robert Millan <rmh@aybabtu.com>
37415
37416 * kern/i386/linuxbios/startup.S: Move from here ...
37417 * kern/i386/coreboot/startup.S: ... to here.
37418
37419 * kern/i386/linuxbios/init.c: Move from here ...
37420 * kern/i386/coreboot/init.c: ... to here.
37421
37422 * kern/i386/linuxbios/table.c: Move from here ...
37423 * kern/i386/coreboot/mmap.c: ... to here.
37424
37425 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37426
37427 2008-08-11 Robert Millan <rmh@aybabtu.com>
37428
37429 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37430 errors. Leave it to the upper layer to handle them.
37431
37432 2008-08-09 Christian Franke <franke@computer.org>
37433
37434 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37435 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37436 Install `grub.d/10_windows' only on Cygwin.
37437 * configure.ac: Add subst of `target_os'.
37438 Check `target_os' also before setting TARGET_OBJ2ELF.
37439 Add `--enable-grub-pe2elf'.
37440
37441 2008-08-08 Robert Millan <rmh@aybabtu.com>
37442
37443 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37444 (grub_last_time): Change type to grub_uint64_t.
37445 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37446 (grub_disk_close): Likewise.
37447
37448 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37449 (run_menu): Migrate code from to using grub_get_time_ms().
37450
37451 * util/misc.c (grub_get_time_ms): New function.
37452
37453 2008-08-08 Marco Gerards <marco@gnu.org>
37454
37455 * disk/ata.c (grub_ata_regget): Change return type to
37456 `grub_uint8_t'.
37457 (grub_ata_regget2): Likewise.
37458 (grub_ata_wait_status): New function.
37459 (grub_ata_wait_busy): Removed function, updated all users to use
37460 `grub_ata_wait_status'.
37461 (grub_ata_wait_drq): Likewise.
37462 (grub_ata_cmd): New function.
37463 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37464 error handling.
37465 (grub_ata_pio_write): Add error handling.
37466 (grub_atapi_identify): Likewise.
37467 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37468 handling.
37469 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37470 handling. Actually use the detected registers. Reorder the
37471 detection logic such that it is easier to read.
37472 (grub_ata_pciinit): Do not assign the same ID to each controller.
37473 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37474 handling.
37475 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37476
37477 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37478
37479 2008-08-08 Marco Gerards <marco@gnu.org>
37480
37481 * NEWS: Update.
37482
37483 2008-08-07 Bean <bean123ch@gmail.com>
37484
37485 * include/grub/x86_64/pci.h: New file.
37486
37487 2008-08-07 Christian Franke <franke@computer.org>
37488
37489 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37490 (TIMER2_GATE): Likewise.
37491 (grub_pit_wait): Add enable/disable of the timer2 gate
37492 bit of port 0x61. This fixes a possible infinite loop.
37493
37494 2008-08-07 Bean <bean123ch@gmail.com>
37495
37496 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37497 kern/i386/tsc.c and kern/i386/pit.c.
37498
37499 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37500 x86_64 platform.
37501
37502 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37503 <grub/i386/tsc.h>.
37504
37505 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37506
37507 2008-08-07 Bean <bean123ch@gmail.com>
37508
37509 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37510
37511 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37512
37513 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37514 multiple inclusion. Add #include <grub/types.h>.
37515
37516 2008-08-06 Christian Franke <franke@computer.org>
37517
37518 * conf/common.rmk: Build and install `10_windows'.
37519 * util/grub.d/10_windows.in: New script.
37520
37521 2008-08-06 Pavel Roskin <proski@gnu.org>
37522
37523 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37524
37525 2008-08-06 Robert Millan <rmh@aybabtu.com>
37526
37527 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37528 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37529
37530 2008-08-06 Bean <bean123ch@gmail.com>
37531
37532 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37533 (grub_pxefs_fs_int): Remove dummy definition.
37534 (grub_pxefs_open): Use data->block_size to store the current block
37535 size setting.
37536 (grub_pxefs_read): Use block size stored in data->block_size. As the
37537 value of grub_pxe_blksize can be changed after the file is opened.
37538
37539 2008-08-06 Bean <bean123ch@gmail.com>
37540
37541 * fs/i386/pc/pxe.c (curr_file): new variable.
37542 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37543 require the dummy internal file system anymore.
37544 (grub_pxefs_read): Removed.
37545 (grub_pxefs_close): Likewise.
37546 (grub_pxefs_fs_int): Likewise.
37547 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37548 connection when we switch file.
37549 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37550
37551 2008-08-06 Robert Millan <rmh@aybabtu.com>
37552
37553 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37554 `halt.mod'.
37555 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37556 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37557
37558 * kern/i386/halt.c: New file.
37559 * kern/i386/reboot.c: Likewise.
37560 * include/grub/i386/reboot.h: Likewise.
37561 * include/grub/i386/halt.h: Likewise.
37562
37563 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37564 Include `<grub/cpu/halt.h>'.
37565 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37566 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37567
37568 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37569 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37570 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37571 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37572 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37573 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37574 from here ...
37575 * include/grub/i386/at_keyboard.h: ... to here.
37576
37577 2008-08-05 Robert Millan <rmh@aybabtu.com>
37578
37579 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37580 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37581 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37582 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37583 `kern/generic/millisleep.c'.
37584
37585 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37586 instead of grub_get_rtc().
37587 (grub_tsc_init): Initialize `tsc_boot_time'.
37588
37589 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37590 (grub_machine_init): Use grub_tsc_init() rather than
37591 installing an RTC-based handler via grub_install_get_time_ms().
37592
37593 * kern/i386/pit.c: New file.
37594 * include/grub/i386/pit.h: Likewise.
37595
37596 2008-08-05 Bean <bean123ch@gmail.com>
37597
37598 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
37599
37600 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
37601 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
37602 (pxe_mod_SOURCES): New macro.
37603 (pxe_mod_CFLAGS): Likewise.
37604 (pxe_mod_LDFLAGS): Likewise.
37605 (pxecmd_mod_SOURCES): Likewise.
37606 (pxecmd_mod_CFLAGS): Likewise.
37607 (pxecmd_mod_LDFLAGS): Likewise.
37608
37609 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
37610 (grub_pxe_call): Likewise.
37611
37612 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
37613
37614 * commands/i386/pc/pxecmd.c: New file.
37615
37616 * fs/i386/pc/pxe.c: Likewise.
37617
37618 * include/grub/i386/pc/pxe.h: Likewise.
37619
37620 2008-08-05 Bean <bean123ch@gmail.com>
37621
37622 * util/console.c (grub_console_cur_color): New variable.
37623 (grub_console_standard_color): Likewise.
37624 (grub_console_normal_color): Likewise.
37625 (grub_console_highlight_color): Likewise.
37626 (color_map): Likewise.
37627 (use_color): Likewise.
37628 (NUM_COLORS): New macro.
37629 (grub_ncurses_setcolorstate): Handle color properly.
37630 (grub_ncurses_setcolor): Don't change color here, just remember the
37631 settings, color will be set in grub_ncurses_setcolorstate.
37632 (grub_ncurses_getcolor): New function.
37633 (grub_ncurses_init): Initialize color pairs.
37634 (grub_ncurses_term): New member grub_ncurses_getcolor.
37635
37636 2008-08-05 Colin D Bennett <colin@gibibit.com>
37637
37638 High resolution timer support. Implemented for x86 CPUs using TSC.
37639 Extracted generic grub_millisleep() so it's linked in only as needed.
37640 This requires a Pentium compatible CPU; if the RDTSC instruction is
37641 not supported, then it falls back on the generic grub_get_time_ms()
37642 implementation that uses the machine's RTC.
37643
37644 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
37645 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37646 `kern/generic/millisleep.c'.
37647
37648 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
37649 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
37650
37651 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
37652 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
37653
37654 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37655
37656 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37657 `kern/generic/millisleep.c'.
37658
37659 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37660
37661 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
37662
37663 * kern/generic/rtc_get_time_ms.c: New file.
37664
37665 * kern/generic/millisleep.c: New file.
37666
37667 * kern/misc.c: Don't include
37668 <kern/time.h> anymore.
37669 (grub_millisleep_generic): Removed.
37670
37671 * commands/sleep.c (grub_interruptible_millisleep): Uses
37672 grub_get_time_ms() instead of grub_get_rtc().
37673
37674 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
37675 function.
37676 (grub_cpu_is_cpuid_supported): New inline function.
37677 (grub_cpu_is_tsc_supported): New inline function.
37678 (grub_tsc_init): New function prototype.
37679 (grub_tsc_get_time_ms): New function prototype.
37680
37681 * kern/i386/tsc.c (grub_get_time_ms): New file.
37682
37683 * include/grub/time.h: Include <grub/types.h.
37684 (grub_millisleep_generic): Removed.
37685 (grub_get_time_ms): New prototype.
37686 (grub_install_get_time_ms): New prototype.
37687 (grub_rtc_get_time_ms): New prototype.
37688
37689 * kern/time.c (grub_get_time_ms): New function.
37690 (grub_install_get_time_ms): New function.
37691
37692 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
37693 <grub/time.h> anymore.
37694 (grub_millisleep): Removed.
37695 (grub_machine_init): Call grub_tsc_init.
37696
37697 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
37698 get_time_ms() implementation.
37699
37700 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
37701 (ieee1275_get_time_ms): New function.
37702 (grub_machine_init): Install get_time_ms() implementation.
37703
37704 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
37705 (grub_machine_init): Call grub_tsc_init().
37706 (grub_millisleep): Removed.
37707
37708 * kern/ieee1275/init.c (grub_millisleep): Removed.
37709 (grub_machine_init): Install ieee1275_get_time_ms()
37710 implementation.
37711 (ieee1275_get_time_ms): New function.
37712 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
37713 real work.
37714
37715 2008-08-05 Marco Gerards <marco@gnu.org>
37716
37717 * disk/ata.c: Include <grub/pci.h>.
37718 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
37719 (grub_ata_initialize): Rewritten.
37720 (grub_ata_device_initialize): New function.
37721
37722 2008-08-04 Pavel Roskin <proski@gnu.org>
37723
37724 * kern/main.c: Include grub/mm.h.
37725
37726 2008-08-04 Robert Millan <rmh@aybabtu.com>
37727
37728 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
37729 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
37730 corruption problem).
37731
37732 2008-08-04 Robert Millan <rmh@aybabtu.com>
37733
37734 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
37735 warnings introduced in my last commit.
37736
37737 2008-08-03 Robert Millan <rmh@aybabtu.com>
37738
37739 Make PCI available on all i386 architectures.
37740
37741 * include/grub/i386/pc/pci.h: Move from here ...
37742 * include/grub/i386/pci.h: ... to here.
37743
37744 * include/grub/i386/pc/pci.h: Remove.
37745 * include/grub/i386/efi/pci.h: Remove.
37746 * include/grub/x86_64/efi/pci.h: Remove.
37747
37748 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
37749 `<grub/cpu/pci.h>'.
37750
37751 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
37752 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
37753 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
37754
37755 * conf/i386-ieee1275.rmk: Likewise.
37756
37757 2008-08-03 Robert Millan <rmh@aybabtu.com>
37758
37759 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
37760 (grub_console_setcursor): Make it possible to set cursor off.
37761
37762 2008-08-03 Robert Millan <rmh@aybabtu.com>
37763
37764 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
37765 of modules instead of assuming which platform provides what.
37766 * util/update-grub.in: Likewise.
37767
37768 2008-08-03 Robert Millan <rmh@aybabtu.com>
37769
37770 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
37771 instead of `grub_install_dos_part' to determine whether a drive needs
37772 to be prepended to prefix (`grub_install_dos_part' is not reliable,
37773 because it can be overridden when loading GRUB via Multiboot).
37774
37775 2008-08-02 Robert Millan <rmh@aybabtu.com>
37776
37777 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
37778
37779 2008-08-02 Robert Millan <rmh@aybabtu.com>
37780
37781 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
37782 of informational grub_dprintf() calls.
37783
37784 2008-08-02 Robert Millan <rmh@aybabtu.com>
37785
37786 * disk/memdisk.c (memdisk_size): Don't initialize.
37787 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
37788
37789 * include/grub/i386/pc/kernel.h
37790 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
37791 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
37792 (grub_memdisk_image_size, grub_arch_memdisk_addr)
37793 (grub_arch_memdisk_size): Remove.
37794
37795 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
37796 field (was only used to transfer a constant). Add `type' field to
37797 support multiple module types.
37798 (grub_module_iterate): New function.
37799
37800 * kern/device.c (grub_device_open): Do not hide error messages
37801 when grub_disk_open() fails. Use grub_print_error() instead.
37802
37803 * kern/i386/pc/init.c (grub_arch_modules_addr)
37804 (grub_arch_memdisk_size): Remove functions.
37805 (grub_arch_modules_addr): Return the module address in high memory
37806 (now that it isn't copied anymore).
37807
37808 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
37809 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
37810 decompression routine (grub_total_module_size already includes that
37811 now). Don't copy modules back to low memory.
37812
37813 * kern/main.c: Include `<grub/mm.h>'.
37814 (grub_load_modules): Split out (and use) ...
37815 (grub_module_iterate): ... this function, which iterates through
37816 module objects and runs a hook.
37817 Comment out grub_mm_init_region() call, as it would cause non-ELF
37818 modules to be overwritten.
37819
37820 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
37821 the memdisk image in its own region, make it part of the module list.
37822 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
37823 (main): Parse --memdisk|-m option, and pass user-provided path as
37824 parameter to generate_image().
37825 (add_segments): Pass `memdisk_path' down to load_modules().
37826 (load_modules): Embed memdisk image in module section when requested.
37827 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
37828 `header.type' instead of `header.offset'.
37829
37830 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
37831 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
37832 (memdisk_mod_LDFLAGS): New variables.
37833 * conf/i386-coreboot.rmk: Likewise.
37834 * conf/i386-ieee1275.rmk: Likewise.
37835
37836 2008-08-02 Robert Millan <rmh@aybabtu.com>
37837
37838 * loader/i386/pc/multiboot.c (playground, forward_relocator)
37839 (backward_relocator): New variables. Used to allocate and relocate
37840 the payload, respectively.
37841 (grub_multiboot_load_elf32): Load into heap instead of requested
37842 address, install the appropriate relocator code in each bound of
37843 the payload, and set the entry point such that
37844 grub_multiboot_real_boot() will jump to one of them.
37845
37846 * kern/i386/loader.S (grub_multiboot_payload_size)
37847 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37848 (grub_multiboot_payload_entry_offset): New variables.
37849 (grub_multiboot_real_boot): Set cpu context to what the relocator
37850 expects, and jump to the relocator instead of the payload.
37851
37852 * include/grub/i386/loader.h (grub_multiboot_payload_size)
37853 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37854 (grub_multiboot_payload_entry_offset): Export.
37855
37856 2008-08-01 Bean <bean123ch@gmail.com>
37857
37858 * normal/menu_entry.c (editor_getline): Don't return the original
37859 string as result, as it will be released by lexer once it has done
37860 using it.
37861
37862 2008-08-01 Robert Millan <rmh@aybabtu.com>
37863
37864 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
37865 within menuentries, not before them.
37866 util/grub.d/10_hurd.in: Likewise.
37867
37868 2008-08-01 Bean <bean123ch@gmail.com>
37869
37870 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
37871 (bufio_mod_SOURCES): New macro.
37872 (bufio_mod_CFLAGS): Likewise.
37873 (bufio_mod_LDFLAGS): Likewise.
37874
37875 * include/grub/bufio.h: New file.
37876
37877 * io/bufio.c: Likewise.
37878
37879 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
37880 (grub_video_reader_png): Use grub_buffile_open to open file.
37881
37882 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
37883 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
37884
37885 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
37886 (grub_video_reader_tga): Use grub_buffile_open to open file.
37887
37888 * font/manager.c: Include <grub/bufio.h>.
37889 (add_font): Use grub_buffile_open to open file.
37890
37891 2008-07-31 Robert Millan <rmh@aybabtu.com>
37892
37893 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
37894 ELF segments, use a macro for arbitrarily accessing any of them instead
37895 of preparing a pointer that allows access to one at a time.
37896 (grub_multiboot_load_elf64): Likewise.
37897
37898 2008-07-31 Bean <bean123ch@gmail.com>
37899
37900 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
37901 GRUB_KERNEL_MACHINE_DATA_END.
37902
37903 2008-07-30 Robert Millan <rmh@aybabtu.com>
37904
37905 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
37906 Increase from 0x50 to 0x60.
37907 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
37908 use UUIDs to identify the root drive for them. If that's not
37909 possible, abort.
37910 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
37911 check, for cross-disk installs.
37912
37913 2008-07-30 Robert Millan <rmh@aybabtu.com>
37914
37915 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
37916 is non-empty, use it to set the `prefix' environment variable instead
37917 of the usual approach.
37918 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
37919 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
37920 environment variable instead of dummy make_install_device().
37921
37922 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
37923 (start): Insert a data section, with `grub_prefix' variable.
37924 * kern/i386/linuxbios/startup.S: Likewise.
37925
37926 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
37927 New variable reference.
37928 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
37929 New macro. Defines offset of `grub_prefix' within startup.S (relative
37930 to `start').
37931 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
37932 section within startup.S (relative to `start').
37933 * include/grub/i386/coreboot/kernel.h: Likewise.
37934
37935 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
37936 Overwrite grub_prefix with its contents, at the beginning of the
37937 first segment.
37938 (main): Understand -p|--prefix.
37939
37940 2008-07-30 Robert Millan <rmh@aybabtu.com>
37941
37942 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
37943
37944 2008-07-30 Robert Millan <rmh@aybabtu.com>
37945
37946 * term/i386/pc/vga_text.c (grub_console_cls): Use
37947 grub_console_gotoxy() to go back to beginning of the screen.
37948 Found by Patrick Georgi <patrick.georgi@coresystems.de>
37949
37950 2008-07-29 Christian Franke <franke@computer.org>
37951
37952 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37953 Add conversion of emulated mount points on Cygwin.
37954
37955 2008-07-29 Christian Franke <franke@computer.org>
37956
37957 * util/update-grub.in: Add a check for admin
37958 group on Cygwin.
37959 Remove old `grub.cfg.new' before creation.
37960 Add `-f' to `mv' to handle the different filesystem
37961 semantics of Windows.
37962
37963 2008-07-29 Bean <bean123ch@gmail.com>
37964
37965 * normal/main.c (get_line): Fix buffer overflow bug.
37966
37967 2008-07-28 Robert Millan <rmh@aybabtu.com>
37968
37969 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
37970 (struct grub_apple_header): New struct. Describes the layout of
37971 the partmap header.
37972 (apple_partition_map_iterate): Check the header magic as well as the
37973 partition magic (which was already being checked).
37974
37975 2008-07-28 Pavel Roskin <proski@gnu.org>
37976
37977 * genmk.rb: Add a warning to the beginning of the output that
37978 it's a generated file and should not be edited.
37979
37980 2008-07-28 Robert Millan <rmh@aybabtu.com>
37981
37982 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37983 with the same number are found, just use issue a warning with
37984 grub_dprintf(), as this error has been reported to be non-fatal.
37985
37986 2008-07-27 Robert Millan <rmh@aybabtu.com>
37987
37988 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
37989 information.
37990
37991 2008-07-27 Bean <bean123ch@gmail.com>
37992
37993 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
37994 (grub_fat_find_dir): Ignore case when comparing filename.
37995
37996 2008-07-27 Bean <bean123ch@gmail.com>
37997
37998 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
37999 smallino, as it's more descriptive, and i8count can be confused with
38000 the other field count.
38001 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38002 inode type.
38003
38004 2008-07-27 Bean <bean123ch@gmail.com>
38005
38006 * commands/crc.c: New file.
38007
38008 * lib/crc.c: Likewise.
38009
38010 * include/grub/lib/crc.h: Likewise.
38011
38012 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38013
38014 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38015 (hexdump): Move this function to ...
38016
38017 * lib/hexdump.c: ... here.
38018
38019 * include/grub/hexdump.h: Renamed to ...
38020
38021 * include/grub/lib/hexdump.h: ... this.
38022
38023 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38024
38025 * util/grub-editenv.c: Likewise.
38026
38027 * include/envblk.h: Renamed to ...
38028
38029 * include/lib/envblk.h: ... this.
38030
38031 * util/envblk.c: Renamed to ...
38032
38033 * lib/envblk.c: ... this.
38034
38035 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38036 lib/hexdump.c.
38037 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38038 (pkglib_MODULES): Add crc.mod.
38039 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38040 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38041 (crc_mod_SOURCES): New macro.
38042 (crc_mod_CFLAGS): Likewise.
38043 (crc_mod_LDFLAGS): Likewise.
38044
38045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38046
38047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38048
38049 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38050
38051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38052
38053 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38054
38055 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
38056
38057 * commands/help.c: Include <grub/term.h>.
38058 (TERM_WIDTH): Removed. Updated all users.
38059
38060 2008-07-27 Pavel Roskin <proski@gnu.org>
38061
38062 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38063 spurious warnings about a comment within a comment.
38064
38065 2008-07-25 Robert Millan <rmh@aybabtu.com>
38066
38067 * util/getroot.c (find_root_device): Skip devices that match
38068 /dev/dm-[0-9]. This lets the real device be found for any type of
38069 abstraction (LVM, EVMS, RAID..).
38070 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38071 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38072 device is found first, find_root_device() will now skip it.
38073
38074 2008-07-24 Pavel Roskin <proski@gnu.org>
38075
38076 * include/grub/types.h: Use __builtin_bswap32() and
38077 __builtin_bswap64() with gcc 4.3 and newer.
38078
38079 2008-07-24 Christian Franke <franke@computer.org>
38080
38081 * util/i386/pc/grub-install.in: If `--debug' is specified,
38082 pass `--verbose' to grub-setup.
38083 Abort script if make_system_path_relative_to_its_root() fails.
38084
38085 2008-07-24 Bean <bean123ch@gmail.com>
38086
38087 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38088 variable `target_platform' should be `platform'.
38089
38090 2008-07-24 Bean <bean123ch@gmail.com>
38091
38092 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
38093 (grub_png_init_fixed_block): New function.
38094 (grub_png_decode_image_data): Handle fixed huffman code compression.
38095
38096 2008-07-24 Bean <bean123ch@gmail.com>
38097
38098 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38099 (grub_pe2elf_SOURCES): New macro.
38100 (CLEANFILES): Add grub-pe2elf.
38101
38102 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38103 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38104 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38105 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38106 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38107 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38108 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38109 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38110 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38111 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38112 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38113 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38114 (GRUB_PE32_DT_FUNCTION): Likewise.
38115 (GRUB_PE32_REL_I386_DIR32): Likewise.
38116 (GRUB_PE32_REL_I386_REL32): Likewise.
38117 (grub_pe32_symbol): New structure.
38118 (grub_pe32_reloc): Likewise.
38119
38120 * util/grub-pe2elf.c: New file.
38121
38122 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38123 start symbol in non pc platform.
38124
38125 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38126
38127 The following patches are from Christian Franke.
38128
38129 * include/grub/dl.h: Remove .previous, gas supports this only
38130 for ELF format.
38131
38132 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38133 Remove .type, gas supports this only for ELF format.
38134
38135 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38136 nullbytes in symbol table. This fixes an infinite loop if table is
38137 zero filled.
38138
38139 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38140 TARGET_IMG_LDFLAGS and EXEEXT.
38141
38142 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38143 TARGET_IMG_LDFLAGS_AC.
38144 (grub_CHECK_STACK_ARG_PROBE): New function.
38145
38146 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38147
38148 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38149
38150 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38151 to set TARGET_IMG_LD* accordingly.
38152 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38153 Add call to grub_CHECK_STACK_ARG_PROBE.
38154 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38155
38156 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38157
38158 * genmk.rb: Add EXEEXT to CLEANFILES.
38159
38160 2008-07-23 Robert Millan <rmh@aybabtu.com>
38161
38162 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38163 define the codes for arrows and lines used for the menu).
38164 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38165 as well.
38166
38167 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38168 fonts, because the latter are too slow.
38169
38170 2008-07-21 Bean <bean123ch@gmail.com>
38171
38172 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38173 a20. Run keyboard test last, as it will cause macbook to halt.
38174
38175 2008-07-18 Pavel Roskin <proski@gnu.org>
38176
38177 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38178 load foreign architecture modules correctly anyway. Keep
38179 support for loading host architecture modules, whether we
38180 compile them or not.
38181
38182 2008-07-17 Pavel Roskin <proski@gnu.org>
38183
38184 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38185 change target_cpu. The compiler default can mismatch target_cpu
38186 in any case.
38187
38188 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38189 * kern/efi/efi.c: Likewise.
38190
38191 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38192 target compiler is functional.
38193 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38194 are set up.
38195
38196 * configure.ac: Default to efi platform for x86_64-apple. Allow
38197 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38198 adjustments from the rest, only do them if target is not
38199 explicitly given. Merge other adjustments with the final sanity
38200 check. Remove an extraneous check for supported CPU. Be
38201 specific which CPU and which platform is not supported.
38202
38203 * configure.ac: Default to pc platform for x86_64.
38204
38205 2008-07-17 Robert Millan <rmh@aybabtu.com>
38206
38207 Partial LinuxBIOS -> Coreboot rename.
38208
38209 * conf/i386-linuxbios.rmk: Renamed to ...
38210 * conf/i386-coreboot.rmk: ... this.
38211 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38212 * configure.ac: Accept "coreboot" as input platform (but maintain
38213 compatibility with "linuxbios").
38214 * include/grub/i386/linuxbios: Renamed to ...
38215 * include/grub/i386/coreboot: ... this.
38216
38217 2008-07-17 Bean <bean123ch@gmail.com>
38218
38219 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
38220 (appleldr_mod_SOURCE): New variable.
38221 (appleldr_mod_CFLAGS): Likewise.
38222 (appleldr_mod_LDFLAGS): Likewise.
38223 (pci_mod_SOURCES): Likewise.
38224 (pci_mod_CFLAGS): Likewise.
38225 (pci_mod_LDFLAGS): Likewise.
38226 (lspci_mod_SOURCES): Likewise.
38227 (lspci_mod_CFLAGS): Likewise.
38228 (lspci_mod_LDFLAGS): Likewise.
38229
38230 * conf/x86_64-efi.rmk: New file.
38231
38232 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38233 macro.
38234 (grub_efidisk_write): Likewise.
38235
38236 * include/efi/api.h (efi_call_0): New macro.
38237 (efi_call_1): Likewise.
38238 (efi_call_2): Likewise.
38239 (efi_call_3): Likewise.
38240 (efi_call_4): Likewise.
38241 (efi_call_5): Likewise.
38242 (efi_call_6): Likewise.
38243
38244 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38245 grub_rescue_cmd_chainloader.
38246
38247 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38248 (grub_pe32_optional_header): Change some fields based on i386 or
38249 x86_64 platform.
38250 (GRUB_PE32_PE32_MAGIC): Likewise.
38251
38252 * include/grub/efi/uga_draw.h: New file.
38253
38254 * include/grub/elf.h (STN_ABS): New constant.
38255 (R_X86_64_NONE): Relocation constant for x86_64.
38256 (R_X86_64_64): Likewise.
38257 (R_X86_64_PC32): Likewise.
38258 (R_X86_64_GOT32): Likewise.
38259 (R_X86_64_PLT32): Likewise.
38260 (R_X86_64_COPY): Likewise.
38261 (R_X86_64_GLOB_DAT): Likewise.
38262 (R_X86_64_JUMP_SLOT): Likewise.
38263 (R_X86_64_RELATIVE): Likewise.
38264 (R_X86_64_GOTPCREL): Likewise.
38265 (R_X86_64_32): Likewise.
38266 (R_X86_64_32S): Likewise.
38267 (R_X86_64_16): Likewise.
38268 (R_X86_64_PC16): Likewise.
38269 (R_X86_64_8): Likewise.
38270 (R_X86_64_PC8): Likewise.
38271
38272 * include/grub/i386/efi/pci.h: New file.
38273
38274 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38275 Change it value based on platform.
38276 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38277 (GRUB_E820_RAM): Likewise.
38278 (GRUB_E820_RESERVED): Likewise.
38279 (GRUB_E820_ACPI): Likewise.
38280 (GRUB_E820_NVS): Likewise.
38281 (GRUB_E820_EXEC_CODE): Likewise.
38282 (GRUB_E820_MAX_ENTRY): Likewise.
38283 (grub_e820_mmap): New structure.
38284 (linux_kernel_header): Change the efi field according to different
38285 kernel version, also field from linux_kernel_header.
38286
38287 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38288
38289 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38290 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38291 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38292 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38293 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38294 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38295 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38296 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38297 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38298 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38299
38300 * include/grub/x86_64/efi/kernel.h: New file.
38301
38302 * include/grub/x86_64/efi/loader.h: Likewise.
38303
38304 * include/grub/x86_64/efi/machine.h: Likewise.
38305
38306 * include/grub/x86_64/efi/pci.h: Likewise.
38307
38308 * include/grub/x86_64/efi/time.h: Likewise.
38309
38310 * include/grub/x86_64/linux.h: Likewise.
38311
38312 * include/grub/x86_64/setjmp.h: Likewise.
38313
38314 * include/grub/x86_64/time.h: Likewise.
38315
38316 * include/grub/x86_64/types.h: Likewise.
38317
38318 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38319 GRUB_TARGET_SIZEOF_VOID_P.
38320
38321 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38322 (grub_efi_locate_handle): Likewise.
38323 (grub_efi_open_protocol): Likewise.
38324 (grub_efi_set_text_mode): Likewise.
38325 (grub_efi_stall): Likewise.
38326 (grub_exit): Likewise.
38327 (grub_reboot): Likewise.
38328 (grub_halt): Likewise.
38329 (grub_efi_exit_boot_services): Likewise.
38330 (grub_get_rtc): Likewise.
38331
38332 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38333 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38334 (grub_efi_allocate_pages): Wrap efi calls.
38335 (grub_efi_free_pages): Wrap efi calls.
38336 (grub_efi_get_memory_map): Wrap efi calls.
38337
38338 * kern/x86_64/dl.c: New file.
38339
38340 * kern/x86_64/efi/callwrap.S: Likewise.
38341
38342 * kern/x86_64/efi/startup.S: Likewise.
38343
38344 * loader/efi/appleloader.c: Likewise.
38345
38346 * loader/efi/chainloader.c (cmdline): New variable.
38347 (grub_chainloader_unload): Wrap efi calls.
38348 (grub_chainloader_boot): Likewise.
38349 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38350 command line.
38351
38352 * loader/efi/chainloader_normal.c (chainloader_command):
38353 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38354 command line.
38355
38356 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38357 method.
38358 (grub_e820_add_region): New function.
38359 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38360 booting.
38361 (grub_find_video_card): New function.
38362 (grub_linux_setup_video): New function.
38363 (grub_rescue_cmd_linux): Probe for video information.
38364
38365 * normal/x86_64/setjmp.S: New file.
38366
38367 * term/efi/console.c (map_char): New function.
38368 (grub_console_putchar): Map unicode char.
38369 (grub_console_checkkey): Wrap efi calls.
38370 (grub_console_getkey): Likewise.
38371 (grub_console_getwh): Likewise.
38372 (grub_console_gotoxy): Likewise.
38373 (grub_console_cls): Likewise.
38374 (grub_console_setcolorstate): Likewise.
38375 (grub_console_setcursor): Likewise.
38376
38377 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38378
38379 2008-07-16 Pavel Roskin <proski@gnu.org>
38380
38381 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38382 format strings.
38383
38384 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38385 pointer, not an integer. This fixes a warning and prevents
38386 precision loss on 64-bit systems.
38387 (relocate_addresses): Remove unneeded cast.
38388
38389 2008-07-15 Pavel Roskin <proski@gnu.org>
38390
38391 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38392
38393 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38394
38395 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38396 Fix comparison between signed and unsigned.
38397
38398 * include/grub/i386/ieee1275/console.h: Declare
38399 grub_console_init() and grub_console_fini().
38400
38401 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38402 It's empty and unused.
38403
38404 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38405 beginning to avoid warnings with some compilers.
38406
38407 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38408 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38409
38410 2008-07-14 Pavel Roskin <proski@gnu.org>
38411
38412 * kern/env.c (grub_register_variable_hook): Don't copy empty
38413 string, it leaks memory. Pass "" to grub_env_set(), it should
38414 handle constant strings.
38415
38416 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38417 * commands/cmp.c (grub_cmd_cmp): Likewise.
38418 * kern/dl.c (grub_dl_flush_cache): Likewise.
38419 (grub_dl_load_core): Likewise.
38420 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38421 (grub_elf64_load_phdrs): Likewise.
38422
38423 2008-07-13 Pavel Roskin <proski@gnu.org>
38424
38425 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38426 between signed and unsigned.
38427 (LzmaEnc_Finish): Fix warning about an unused parameter.
38428
38429 2008-07-13 Bean <bean123ch@gmail.com>
38430
38431 * Makefile.in (enable_lzo): New rule.
38432
38433 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38434
38435 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38436
38437 * boot/i386/pc/lnxboot.S: #include <config.h>.
38438
38439 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
38440 its value according to the compression algorithm used, lzo or lzma.
38441
38442 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38443 compression algorithm according to configure macro.
38444
38445 * kern/i386/pc/startup.S (codestart): Likewise.
38446
38447 * kern/i386/pc/lzma_decode.S: New file.
38448
38449 * include/grub/lib/LzFind.h: Likewise.
38450
38451 * include/grub/lib/LzHash.h: Likewise.
38452
38453 * include/grub/lib/LzmaDec.h: Likewise.
38454
38455 * include/grub/lib/LzmaEnc.h: Likewise.
38456
38457 * include/grub/lib/LzmaTypes.h: Likewise.
38458
38459 * lib/LzFind.c: Likewise.
38460
38461 * lib/LzmaDec.c: Likewise.
38462
38463 * lib/LzmaEnc.c: Likewise.
38464
38465 2008-07-13 Bean <bean123ch@gmail.com>
38466
38467 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38468 (grub_ext4_extent_header): New structure.
38469 (grub_ext4_extent): Likewise.
38470 (grub_ext4_extent_idx): Likewise.
38471 (grub_ext4_find_leaf): New function.
38472 (grub_ext2_read_block): Handle extents.
38473
38474 2008-07-12 Robert Millan <rmh@aybabtu.com>
38475
38476 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38477
38478 2008-07-11 Robert Millan <rmh@aybabtu.com>
38479
38480 * util/grub.d/40_custom.in: New file. Example on how to add custom
38481 entries to /etc/grub.d.
38482 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38483 40_custom (implicitly, by merging all the grub.d rules).
38484
38485 2008-07-11 Pavel Roskin <proski@gnu.org>
38486
38487 * commands/read.c (grub_getline): Fix invalid memory access.
38488 Don't add newline to the variable value.
38489
38490 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38491 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38492 (serial_hw_get_port): Check validity of the port number.
38493 (grub_cmd_serial): Check return value of serial_hw_get_port().
38494
38495 2008-07-07 Pavel Roskin <proski@gnu.org>
38496
38497 * boot/i386/pc/diskboot.S (notification_string): Replace
38498 "Loading kernel" with just "loading". This is shorter, less
38499 confusing and saves a few bytes for possible future changes.
38500
38501 2008-07-05 Pavel Roskin <proski@gnu.org>
38502
38503 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38504 size for ATAPI devices, they are undefined. Output sector
38505 number in decimal form.
38506
38507 * disk/ata.c: Use named constants for status bits.
38508
38509 2008-07-04 Pavel Roskin <proski@gnu.org>
38510
38511 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38512 grub_addr_t before casting it to the void pointer to fix a
38513 warning. Non-addressable regions are discarded earlier.
38514 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38515 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38516 (check_signature): Don't shadow table_header.
38517 (grub_linuxbios_table_iterate): Cast numeric constants to
38518 grub_linuxbios_table_header_t.
38519 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38520 grub_stop().
38521
38522 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38523 prevent warnings.
38524
38525 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38526 pointer, which can cause warnings. Support 64-bit addresses.
38527
38528 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38529 of sizeof(long). This fixes PowerPC image generation on x86_64.
38530
38531 2008-07-04 Robert Millan <rmh@aybabtu.com>
38532
38533 This fixes a performance issue when pc & gpt partmap iterators
38534 didn't abort iteration even after our hook found what it was
38535 looking for (often causing expensive probes of non-existent drives).
38536
38537 Some callers relied on previous buggy behaviour, since they would
38538 raise an error when their own hooks caused early abortion of its
38539 iteration.
38540
38541 * kern/device.c (grub_device_open): Improve error message.
38542 * disk/lvm.c (grub_lvm_open): Likewise.
38543 * disk/raid.c (grub_raid_open): Likewise.
38544
38545 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38546 when hook requests it, independently of grub_errno.
38547 (pc_partition_map_probe): Do not fail when find_func() caused
38548 early abortion of pc_partition_map_iterate().
38549
38550 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38551 when hook requests it, independently of grub_errno.
38552 (gpt_partition_map_probe): Do not fail when find_func() caused
38553 early abortion of gpt_partition_map_iterate().
38554
38555 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38556 when hook requests it, independently of grub_errno. Do not fail when
38557 part_map_iterate_hook() caused early abortion of p->iterate().
38558
38559 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38560 when grub_partition_iterate() returned with non-zero.
38561
38562 2008-07-03 Pavel Roskin <proski@gnu.org>
38563
38564 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38565 like we do in grub_ata_pio_read().
38566 (grub_ata_readwrite): Always write individual sectors. Fix the
38567 sector count for the remainder.
38568 (grub_ata_write): Enable writing to ATA devices. Correctly
38569 report error for ATAPI devices.
38570
38571 2008-07-02 Pavel Roskin <proski@gnu.org>
38572
38573 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38574 warning.
38575
38576 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38577 for every read sector, we already increment it for the whole
38578 batch. This fixes reading more than 256 sectors at once.
38579
38580 * util/grub-editenv.c (cmd_info): Cast argument to long
38581 explicitly. ptrdiff_t reduces to int on i386.
38582
38583 * util/grub-editenv.c (main): Be specific which parameter is
38584 missing.
38585
38586 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38587 (memdisk): Make memdisk_orig_addr a pointer.
38588
38589 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38590 for file offsets, use grub_off_t instead. Fix printf format
38591 warnings.
38592
38593 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38594 there. Real unexpected warnings should not drown in the noise
38595 about known problems.
38596
38597 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
38598 grub_disk_addr_t for memory addresses.
38599
38600 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
38601 explicitly to fix a warning.
38602
38603 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
38604
38605 * Makefile.in (MODULE_LDFLAGS): New variable.
38606 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
38607 the linker accepts --build-id=none.
38608 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
38609 MODULE_LDFLAGS.
38610 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
38611
38612 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
38613 those in Linux XFS code. Provide a way to access 64-bit parent
38614 inode.
38615 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
38616 the end of struct grub_xfs_dir_header.
38617
38618 2008-07-02 Bean <bean123ch@gmail.com>
38619
38620 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
38621 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38622 and GRUB_IEEE1275_FLAG_NO_ANSI.
38623
38624 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
38625 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38626 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
38627
38628 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
38629 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
38630
38631 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
38632 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
38633
38634 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
38635 esc sequence on non ANSI terminal.
38636 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
38637
38638 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
38639 beginning of file.
38640
38641 2008-07-02 Bean <bean123ch@gmail.com>
38642
38643 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
38644 (grub_editenv_SOURCES): New variable.
38645 (pkglib_MODULES): Add loadenv.mod.
38646 (loadenv_mod_SOURCES): New variable.
38647 (loadenv_mod_CFLAGS): Likewise.
38648 (loadenv_mod_LDFLAGS): Likewise.
38649
38650 * include/grub/envblk.h: New file.
38651
38652 * util/envblk.c: New file.
38653
38654 * util/grub-editenv.c: New file.
38655
38656 * commands/loadenv.c: New file.
38657
38658 2008-07-01 Pavel Roskin <proski@gnu.org>
38659
38660 * include/multiboot2.h (struct multiboot_tag_module): Use char,
38661 not unsigned char. This fixes warnings and is consistent with
38662 other tags.
38663
38664 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
38665
38666 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
38667
38668 * term/tparm.c (analyze): Always set *popcount.
38669
38670 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
38671 cast to fix a warning.
38672
38673 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
38674 cast to suppress a warning.
38675
38676 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
38677 grub_fshelp_read_file() expects.
38678
38679 * fs/fat.c: Fix UUID calculation on big-endian systems. We
38680 write uuid as a 32-bit value in CPU byte order, so declare and
38681 use it as such.
38682
38683 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
38684 long if the format specifier expects it.
38685 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
38686 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38687 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
38688 long to fix a warning.
38689 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
38690 grub_dprintf() arguments to fix warnings.
38691
38692 2008-06-30 Pavel Roskin <proski@gnu.org>
38693
38694 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
38695 install_bsd_part immediately before core.img is embedded or
38696 modified on disk. This fixes core.img verification if core.img
38697 cannot be embedded.
38698
38699 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
38700 core_path to calculate the blocklist.
38701 Patch from Javier Martín <lordhabbit@gmail.com>
38702
38703 2008-06-29 Robert Millan <rmh@aybabtu.com>
38704
38705 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
38706 block to disk block.
38707 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
38708 Patch from Niels Böhm <bitbucket@arcor.de>
38709
38710 2008-06-29 Robert Millan <rmh@aybabtu.com>
38711
38712 * util/update-grub_lib.in (font_path): Search for fonts in
38713 /boot/grub first, which is more likely to be readable (we aren't
38714 deciding where fonts live, just looking for them).
38715
38716 2008-06-26 Pavel Roskin <proski@gnu.org>
38717
38718 * util/biosdisk.c (read_device_map): Don't leave dead map
38719 entries for devices failing stat() check.
38720
38721 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
38722 core_path_dev for the core.img path on the target device.
38723
38724 2008-06-26 Robert Millan <rmh@aybabtu.com>
38725
38726 * disk/fs_uuid.c: New file.
38727 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
38728 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
38729 (fs_uuid_mod_LDFLAGS): New variables.
38730 * include/grub/disk.h (grub_disk_dev_id): Add
38731 `GRUB_DISK_DEVICE_UUID_ID'.
38732 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
38733 implement iterate().
38734
38735 2008-06-26 Robert Millan <rmh@aybabtu.com>
38736
38737 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
38738 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
38739 Linux image includes no initrd.
38740
38741 2008-06-21 Javier Martín <lordhabbit@gmail.com>
38742
38743 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
38744 call to resolve the core image location that effectively appended the
38745 name twice.
38746
38747 2008-06-21 Robert Millan <rmh@aybabtu.com>
38748
38749 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
38750 call from here ...
38751
38752 * util/grub.d/10_hurd.in: ... to here ...
38753 * util/grub.d/10_linux.in: ... and here.
38754
38755 2008-06-19 Robert Millan <rmh@aybabtu.com>
38756
38757 * kern/main.c (grub_main): Export `prefix' variable immediately
38758 after it has been set by grub_machine_set_prefix().
38759
38760 2008-06-19 Robert Millan <rmh@aybabtu.com>
38761
38762 * commands/search.c (search_label, search_fs_uuid, search_file): Print
38763 search result when not saving to variable, not the other way around.
38764 When saving to variable, abort iteration as soon as a match is found.
38765
38766 2008-06-19 Robert Millan <rmh@aybabtu.com>
38767
38768 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
38769 check for partition that provides /boot/grub. Its logic is flawed,
38770 as it prevents prepare_grub_to_access_device() from being called
38771 multiple times.
38772
38773 2008-06-19 Robert Millan <rmh@aybabtu.com>
38774
38775 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
38776 "insmod" command directly when abstraction modules are needed,
38777 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
38778 since it had already been processed).
38779
38780 2008-06-19 Pavel Roskin <proski@gnu.org>
38781
38782 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
38783 changed. This is needed in case GRUB_LIBDIR changes.
38784 * conf/i386-ieee1275.rmk: Likewise.
38785 * conf/i386-linuxbios.rmk: Likewise.
38786 * conf/i386-pc.rmk: Likewise.
38787 * conf/powerpc-ieee1275.rmk: Likewise.
38788
38789 2008-06-18 Pavel Roskin <proski@gnu.org>
38790
38791 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
38792 kernel_elf_symlist.c to symlist.c for consistency with other
38793 architectures. Update all users.
38794 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38795
38796 2008-06-18 Robert Millan <rmh@aybabtu.com>
38797
38798 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
38799 it in prefix.
38800
38801 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
38802 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
38803 a RAID device, run setup() for all members independently on whether
38804 LVM abstraction is being used.
38805 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
38806 If grub-mkimage has set `*install_dos_part == -2', don't override this
38807 value.
38808 Perform *install_dos_part adjustments independently on whether
38809 we're embedding or not.
38810 Clarify error message when image is too big for embedding.
38811 Remove duplicate *install_dos_part stanza.
38812
38813 2008-06-17 Robert Millan <rmh@aybabtu.com>
38814
38815 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
38816 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
38817 variables.
38818 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
38819 values in grub_ofconsole_normal_color and
38820 grub_ofconsole_highlight_color (they're not directly related to
38821 background and foreground).
38822 (grub_ofconsole_setcolorstate): Extract background and foreground
38823 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
38824
38825 2008-06-17 Robert Millan <rmh@aybabtu.com>
38826
38827 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
38828 /boot/grub for the check in last commit, not /boot (they could be
38829 different partitions).
38830
38831 2008-06-16 Robert Millan <rmh@aybabtu.com>
38832
38833 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
38834 asked to setup access for the same partition that provides /boot,
38835 don't bother using UUIDs since our root already has the value we
38836 want.
38837
38838 2008-06-16 Robert Millan <rmh@aybabtu.com>
38839
38840 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
38841 I2O devices.
38842 Patch from Sven Mueller <sven@debian.org>.
38843
38844 2008-06-16 Robert Millan <rmh@aybabtu.com>
38845
38846 * util/update-grub.in: Check for $EUID instead of $UID.
38847 Reported by Vincent Zweije.
38848
38849 2008-06-16 Bean <bean123ch@gmail.com>
38850
38851 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
38852 (grub_ext2_read_block): Likewise.
38853 (grub_ext2_read_inode): Likewise.
38854 (grub_ext2_mount): Likewise.
38855 (grub_ext2_close): Likewise.
38856 (grub_ext3_get_journal): Removed.
38857
38858 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
38859 (grub_reiserfs_read_symlink): Likewise.
38860 (grub_reiserfs_mount): Likewise.
38861 (grub_reiserfs_open): Likewise.
38862 (grub_reiserfs_read): Likewise.
38863 (grub_reiserfs_close): Likewise.
38864 (grub_reiserfs_get_journal): Removed.
38865
38866 * fs/fshelp.c (grub_fshelp_read): Removed.
38867 (grub_fshelp_map_block): Likewise.
38868
38869 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
38870 (grub_fshelp_journal): Likewise.
38871 (grub_fshelp_read): Likewise.
38872 (grub_fshelp_map_block): Likewise.
38873
38874 2008-06-16 Pavel Roskin <proski@gnu.org>
38875
38876 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
38877 floating point anymore.
38878 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
38879
38880 2008-06-15 Pavel Roskin <proski@gnu.org>
38881
38882 * commands/ls.c (grub_ls_list_files): Use integer calculations
38883 for human readable format, avoid floating point use.
38884 * kern/misc.c (grub_ftoa): Remove.
38885 (grub_vsprintf): Remove floating point support.
38886
38887 2008-06-15 Robert Millan <rmh@aybabtu.com>
38888
38889 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
38890 devices.
38891 Reported by Max Vozeler.
38892
38893 2008-06-15 Robert Millan <rmh@aybabtu.com>
38894
38895 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
38896 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
38897 skipped later.
38898 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
38899 the beginning of the prefix.
38900
38901 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
38902 It is assumed that if we have a memdisk, grub-mkimage has set
38903 grub_prefix to include the "(memdisk)" drive in it.
38904
38905 2008-06-15 Robert Millan <rmh@aybabtu.com>
38906
38907 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
38908 Initialize keyboard controller after registering the terminal, so that
38909 grub_printf() can be called from grub_keyboard_controller_init().
38910
38911 2008-06-15 Robert Millan <rmh@aybabtu.com>
38912
38913 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
38914 extent-btree which is written as big endian on disk.
38915 Reported by Alain Greppin <al@chilibi.org>.
38916
38917 2008-06-14 Robert Millan <rmh@aybabtu.com>
38918
38919 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
38920 * util/i386/pc/grub-install.in (modules): Likewise.
38921
38922 2008-06-13 Pavel Roskin <proski@gnu.org>
38923
38924 * commands/ls.c (grub_ls_list_files): Fix format warnings.
38925
38926 2008-06-13 Bean <bean123ch@gmail.com>
38927
38928 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
38929
38930 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
38931
38932 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
38933 to indicate sparse block.
38934
38935 2008-06-12 Pavel Roskin <proski@gnu.org>
38936
38937 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
38938 number, grub_fshelp_read() does it for us.
38939
38940 * fs/fshelp.c (grub_fshelp_read): New function. Implement
38941 linear disk read with journal translation.
38942 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
38943 * include/grub/fshelp.h: Declare grub_fshelp_read().
38944
38945 2008-06-09 Pavel Roskin <proski@gnu.org>
38946
38947 * fs/minix.c (grub_minix_mount): Handle error reading
38948 superblock.
38949
38950 2008-06-08 Robert Millan <rmh@aybabtu.com>
38951
38952 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
38953 don't append the RAID prefix afterwards.
38954 Reported by Clint Adams.
38955
38956 2008-06-08 Robert Millan <rmh@aybabtu.com>
38957
38958 Based on description from Pavel:
38959 * kern/disk.c (grub_disk_check_range): Rename to ...
38960 (grub_disk_adjust_range): ... this. Add a comment explaining the
38961 tasks performed by this function.
38962
38963 2008-06-08 Robert Millan <rmh@aybabtu.com>
38964
38965 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
38966 `num_serial' (for consistency with other variables).
38967 (struct grub_ntfs_data): Add `uuid' member.
38968 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
38969 (grub_ntfs_uuid): New function.
38970 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
38971
38972 2008-06-07 Pavel Roskin <proski@gnu.org>
38973
38974 * util/biosdisk.c (open_device): Revert last change to the
38975 function, it broke installation. The sector needs to be
38976 different dependent on which device is opened.
38977
38978 2008-06-06 Robert Millan <rmh@aybabtu.com>
38979
38980 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
38981 rest of GRUB, and breakage doesn't happen if its value were modified.
38982
38983 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38984 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
38985 a constant (same value).
38986 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
38987 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
38988
38989 2008-06-06 Robert Millan <rmh@aybabtu.com>
38990
38991 * util/biosdisk.c (open_device): Do not modify sector offset when
38992 accessing a partition. kern/disk.c already handles this for us.
38993
38994 2008-06-06 Robert Millan <rmh@aybabtu.com>
38995
38996 * util/grub-emu.c (grub_machine_init): Move code in this function from
38997 here ...
38998 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
38999 segfault in case grub_printf() is called).
39000
39001 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39002 grub_probe. Update all users not to explicitly add it again.
39003 (grub_device): New variable; contains corresponding device for grubdir.
39004 (fs_module, partmap_module, devabstraction_module): Pass
39005 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39006 every time.
39007
39008 2008-06-05 Robert Millan <rmh@aybabtu.com>
39009
39010 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39011 is found, print it (same layout as with labels).
39012
39013 2008-06-04 Robert Millan <rmh@aybabtu.com>
39014
39015 * util/biosdisk.c (get_drive): Rename to ...
39016 (find_grub_drive): ... this. Update all users.
39017
39018 (get_os_disk): Rename to ...
39019 (convert_system_partition_to_system_disk): ... this. Update all users.
39020
39021 (find_drive): Rename to ...
39022 (find_system_device): ... this. Update all users.
39023
39024 2008-06-04 Robert Millan <rmh@aybabtu.com>
39025
39026 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39027 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39028 (make_device_map): Likewise.
39029
39030 2008-06-01 Robert Millan <rmh@aybabtu.com>
39031
39032 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39033 before dereferencing it.
39034
39035 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39036 union with fat12/fat16-specific ones. Add some new fields, including
39037 `num_serial' for both versions.
39038 (struct grub_fat_data): Add `uuid' member.
39039 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39040 names. Initialize `data->uuid' using `num_serial'.
39041 (grub_fat_uuid): New function.
39042 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39043
39044 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39045 (grub_reiserfs_uuid): New function.
39046 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39047 member.
39048
39049 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39050 (grub_xfs_uuid): New function.
39051 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39052
39053 2008-06-01 Robert Millan <rmh@aybabtu.com>
39054
39055 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39056 code that is backward compatible with pre-uuid search command.
39057
39058 2008-05-31 Robert Millan <rmh@aybabtu.com>
39059
39060 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39061 floppies after everything else, to ensure floppy drive isn't accessed
39062 unnecessarily (patch from Bean).
39063
39064 2008-05-31 Robert Millan <rmh@aybabtu.com>
39065
39066 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39067 not print device names when we were asked to set a variable.
39068
39069 2008-05-31 Robert Millan <rmh@aybabtu.com>
39070
39071 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39072 using "cursor-on" and "cursor-off" commands (understood at least by
39073 the Open Firmware flavour on OLPC).
39074
39075 2008-05-31 Michael Gorven <michael@gorven.za.net>
39076
39077 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39078 on and off sequences.
39079
39080 2008-05-31 Robert Millan <rmh@aybabtu.com>
39081
39082 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39083 * util/update-grub.in: Likewise.
39084
39085 2008-05-30 Pavel Roskin <proski@gnu.org>
39086
39087 * util/biosdisk.c (linux_find_partition): Simplify logic and
39088 make the code more universal. Keep special processing for
39089 devfs, but use a simple rule for all other devices. If the
39090 device ends with a number, append 'p' and the partition number.
39091 Otherwise, append only the partition number.
39092
39093 2008-05-30 Robert Millan <rmh@aybabtu.com>
39094
39095 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39096 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39097 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39098 the `root' parameter to Linux.
39099
39100 2008-05-30 Robert Millan <rmh@aybabtu.com>
39101
39102 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39103 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39104 --fs_uuid with --fs-uuid.
39105 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39106 all filesystems support them).
39107
39108 2008-05-30 Robert Millan <rmh@aybabtu.com>
39109
39110 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
39111 grub_printf() flags, since we're printing in units of 2 bytes.
39112
39113 2008-05-30 Robert Millan <rmh@aybabtu.com>
39114
39115 * util/grub.d/00_header.in: Remove obsolete comment referencing
39116 convert_system_path_to_grub_path().
39117 * util/update-grub.in: Likewise.
39118 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39119 (convert_system_path_to_grub_path): Add a warning message explaining
39120 that this function is deprecated. Rely on is_path_readable_by_grub()
39121 for the readability checks.
39122 (font_path): Use is_path_readable_by_grub() for the readability
39123 check rather than convert_system_path_to_grub_path().
39124
39125 2008-05-30 Robert Millan <rmh@aybabtu.com>
39126
39127 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39128 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39129 converting it first.
39130 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39131 grub.cfg for access to font file, and afterwards call it again to set
39132 the root device.
39133
39134 2008-05-30 Robert Millan <rmh@aybabtu.com>
39135
39136 * commands/search.c (options): Add --fs_uuid option.
39137 (search_fs_uuid): New function.
39138 (grub_cmd_search): Fix --set argument passing.
39139 Use search_fs_uuid() when requested via --fs_uuid.
39140 (grub_search_init): Update help message.
39141 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39142 and redeclare it as an array of 16-bit words.
39143 (grub_ext2_uuid): New function.
39144 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39145 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39146 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39147 (GRUB_DEVICE_BOOT_UUID): New variables.
39148 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39149 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39150 whenever possible.
39151 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39152 just assume `root' variable has the right value.
39153 * util/grub.d/10_linux.in: Likewise.
39154 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39155 via PRINT_FS_UUID.
39156 (main): Recognise `-t fs_uuid' argument.
39157
39158 2008-05-30 Robert Millan <rmh@aybabtu.com>
39159
39160 * util/biosdisk.c (map): Redefine structure to hold information
39161 about GRUB drive name.
39162 (get_drive): Reimplement without assuming (and verifying) BIOS-like
39163 drive names.
39164 (call_hook): Remove.
39165 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39166 member. Assume drive has partitions.
39167 (grub_util_biosdisk_open): Access device names via `.device' struct
39168 member.
39169 (open_device): Likewise.
39170 (find_drive): Likewise.
39171 (read_device_map): Adjust map[] usage to match the new struct
39172 definition. Don't check for duplicates (still possible, but not cheap
39173 anymore).
39174 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39175 (make_device_name): Remove assumption of BIOS-like drive names.
39176
39177 2008-05-30 Pavel Roskin <proski@gnu.org>
39178
39179 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39180 compiling execute.c doesn't need grub_script.tab.h anymore.
39181 (normal/command.c_DEPENDENCIES): Likewise.
39182 (normal/function.c_DEPENDENCIES): Likewise.
39183 * conf/i386-ieee1275.rmk: Likewise.
39184 * conf/i386-linuxbios.rmk: Likewise.
39185 * conf/i386-pc.rmk: Likewise.
39186 * conf/powerpc-ieee1275.rmk: Likewise.
39187 * conf/sparc64-ieee1275.rmk: Likewise.
39188
39189 2008-05-29 Pavel Roskin <proski@gnu.org>
39190
39191 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39192 when scanning metadata for volume group name.
39193
39194 * include/grub/script.h: Don't include grub_script.tab.h. It's
39195 a generated file, which may only be included from the files with
39196 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39197 use union YYSTYPE, as the later allows forward declaration.
39198 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39199
39200 2008-05-29 Robert Millan <rmh@aybabtu.com>
39201
39202 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39203 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39204 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39205 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39206 scan codes.
39207
39208 2008-05-29 Robert Millan <rmh@aybabtu.com>
39209
39210 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39211 control key combinations.
39212
39213 2008-05-29 Robert Millan <rmh@aybabtu.com>
39214
39215 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39216 * util/ieee1275/grub-install.in: ... to here.
39217 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39218 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39219 (grub_install_SOURCES): Likewise.
39220
39221 2008-05-29 Robert Millan <rmh@aybabtu.com>
39222
39223 * fs/affs.c: Update copyright year.
39224 * fs/ext2.c: Likewise.
39225 * fs/fshelp.c: Likewise.
39226 * fs/hfsplus.c: Likewise.
39227 * fs/ntfs.c: Likewise.
39228 * fs/xfs.c: Likewise.
39229 * include/grub/fshelp.h: Likewise.
39230 * util/grub-mkdevicemap.c: Likewise.
39231
39232 2008-05-28 Robert Millan <rmh@aybabtu.com>
39233
39234 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39235 might need to be fatfs to support some firmware implementations
39236 (e.g. OFW or EFI).
39237
39238 2008-05-28 Robert Millan <rmh@aybabtu.com>
39239
39240 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39241 devices.
39242 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39243 (make_device_map): Likewise.
39244
39245 2008-05-20 Bean <bean123ch@gmail.com>
39246
39247 * fs/fshelp.c (grub_fshelp_map_block): New function.
39248 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39249 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39250
39251 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39252 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39253 (grub_fshelp_journal): New structure.
39254 (grub_fshelp_map_block): New function prototype.
39255 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39256 (grub_fshelp_map_block): Likewise.
39257
39258 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39259 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39260 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39261 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39262 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39263 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39264 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39265 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39266 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39267 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39268 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39269 (grub_ext2_sblock): New members for journal support.
39270 (grub_ext3_journal_header): New structure.
39271 (grub_ext3_journal_revoke_header): Likewise.
39272 (grub_ext3_journal_block_tag): Likewise.
39273 (grub_ext3_journal_sblock): Likewise.
39274 (grub_fshelp_node): New members logfile and journal.
39275 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39276 grub_fshelp_map_block to get real block number.
39277 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39278 number.
39279 (grub_ext2_read_inode): Likewise.
39280 (grub_ext3_get_journal): New function.
39281 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39282 (grub_ext2_close): Release memory used by journal.
39283
39284 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39285 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39286 (grub_reiserfs_transaction_header): Renamed to
39287 grub_reiserfs_description_block, replace field data with real_blocks.
39288 (grub_reiserfs_commit_block): New structure.
39289 (grub_reiserfs_data): New member journal.
39290 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39291 number.
39292 (grub_reiserfs_read_symlink): Likewise.
39293 (grub_reiserfs_iterate_dir): Likewise.
39294 (grub_reiserfs_open): Likewise.
39295 (grub_reiserfs_read): Likewise.
39296 (grub_reiserfs_get_journal): New function.
39297 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39298 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39299 using grub_reiserfs_get_journal.
39300 (grub_reiserfs_close): Release memory used by journal.
39301
39302 * fs/affs.c (grub_affs_read_block): Change block type to
39303 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39304
39305 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39306
39307 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39308
39309 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39310
39311 * fs/udf.c (grub_udf_read_block): Change block type to
39312 grub_disk_addr_t. Use type cast to avoid warning.
39313
39314 * fs/xfs.c (grub_xfs_read_block): Likewise.
39315
39316 2008-05-16 Christian Franke <franke@computer.org>
39317
39318 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39319 to ensure that break with ESC will always work.
39320 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39321 Remove ESC from keyboard queue.
39322
39323 2008-05-16 Christian Franke <franke@computer.org>
39324
39325 * util/biosdisk.c: [__CYGWIN__] Add includes.
39326 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39327 (get_os_disk): Move variable declarations to OS specific
39328 parts to avoid warning.
39329 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39330 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39331 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39332 Cygwin.
39333 * util/getroot.c: [__CYGWIN__] Add includes.
39334 (strip_extra_slashes): Fix "/" case.
39335 [__CYGWIN__] (get_win32_path): New function.
39336 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39337 [__CYGWIN__] (find_root_device): Disable.
39338 [__CYGWIN__] (get_bootsec_serial): New function.
39339 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39340 [__linux__] (grub_guess_root_device): Add early returns to simplify
39341 structure.
39342 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39343 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39344 check for Linux only.
39345
39346 2008-05-15 Bean <bean123ch@gmail.com>
39347
39348 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39349 keyboard hang problem in apple's intel mac.
39350
39351 2008-05-09 Robert Millan <rmh@aybabtu.com>
39352
39353 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39354 devices.
39355 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39356 (make_device_map): Likewise.
39357 Reported by Aurelien Jarno <aurel32@debian.org>
39358
39359 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
39360
39361 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39362 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39363 (make_device_map): Output entries for xvd type disks.
39364
39365 2008-05-07 Robert Millan <rmh@aybabtu.com>
39366
39367 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39368 devices.
39369 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39370 (make_device_map): Likewise.
39371 Reported by Roland Dreier <rdreier@cisco.com>
39372
39373 2008-05-07 Robert Millan <rmh@aybabtu.com>
39374
39375 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39376 grub_strstr() call. Correct a few mistakes in failure path handling.
39377
39378 2008-05-06 Robert Millan <rmh@aybabtu.com>
39379
39380 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39381 Do not print a trailing slash (therefore, the root directory is an
39382 empty string).
39383 (convert_system_path_to_grub_path): Do not remove trailing slash
39384 from make_system_path_relative_to_its_root() output.
39385
39386 * util/i386/pc/grub-install.in: Add trailing slash to output from
39387 make_system_path_relative_to_its_root().
39388
39389 2008-05-06 Robert Millan <rmh@aybabtu.com>
39390
39391 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39392 ensures that output lines aren't intermangled with those sent to
39393 stderr (via grub_util_info()).
39394 * util/grub-probe.c (grub_refresh): Likewise.
39395 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39396
39397 2008-05-05 Christian Franke <franke@computer.org>
39398
39399 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39400 Add Cygwin device names.
39401 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39402 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39403 (check_device): Return error instead of success on empty name.
39404 (make_device_map): Move label inside linux specific code to
39405 prevent compiler warning.
39406
39407 2008-04-30 Robert Millan <rmh@aybabtu.com>
39408
39409 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39410 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39411 first boot option.
39412 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39413
39414 2008-04-29 Robert Millan <rmh@aybabtu.com>
39415
39416 * docs/grub.cfg: New file (example GRUB configuration).
39417
39418 2008-04-26 Robert Millan <rmh@aybabtu.com>
39419
39420 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39421 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39422 and `disk/ieee1275/nand.c'.
39423
39424 2008-04-25 Bean <bean123ch@gmail.com>
39425
39426 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39427 i386-linuxbios.
39428
39429 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39430 change the buffer size to 4096 for cdrom device.
39431
39432 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39433 and nand.mod.
39434 (_linux_mod_SOURCES): New variable.
39435 (_linux_mod_CFLAGS): Likewise.
39436 (_linux_mod_LDFLAGS): Likewise.
39437 (linux_mod_SOURCES): Likewise.
39438 (linux_mod_CFLAGS): Likewise.
39439 (linux_mod_LDFLAGS): Likewise.
39440 (nand_mod_SOURCES): Likewise.
39441 (nand_mod_CFLAGS): Likewise.
39442 (nand_mod_LDFLAGS): Likewise.
39443
39444 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39445 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39446 type property. (nand device in olpc don't have this property)
39447
39448 * include/grub/disk.h (grub_disk_dev_id): New macro
39449 GRUB_DISK_DEVICE_NAND_ID.
39450
39451 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39452 function prototype.
39453 (grub_rescue_cmd_initrd): Likewise.
39454
39455 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39456 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39457 ofw_cif_handler and ofw_idt, adjust padding number.
39458
39459 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39460 GRUB_MACHINE_IEEE1275 is defined.
39461
39462 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39463 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39464
39465 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39466 on nested function heap_init.
39467 (grub_upper_mem): New variable for i386-ieee1275.
39468 (grub_get_extended_memory): New function for i386-ieee1275.
39469 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39470
39471 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39472 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39473 property.
39474
39475 * loader/i386/ieee1275/linux.c: New file.
39476
39477 * loader/i386/ieee1275/linux_normal.c: New file.
39478
39479 * disk/ieee1275/nand.c: New file.
39480
39481 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39482
39483 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39484 value.
39485 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39486
39487 2008-04-18 Robert Millan <rmh@aybabtu.com>
39488
39489 Restructures early code path on ieee1275 to unify grub_main() as
39490 the first C function that is executed in every platform.
39491
39492 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39493 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39494 cmain().
39495 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39496 * kern/ieee1275/cmain.c (cmain): Rename to ...
39497 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39498 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39499 at the beginning.
39500
39501 2008-04-18 Robert Millan <rmh@aybabtu.com>
39502
39503 * util/update-grub.in: Fix syntax error when setting
39504 `GRUB_PRELOAD_MODULES'.
39505 Reported by Stephane Chazelas <stephane@artesyncp.com>
39506
39507 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39508
39509 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39510 section into account, newer toolchains generate unique build ids
39511 * configure.ac: remove the test for --build-id=none acceptance,
39512 we want build ids to be preserved
39513 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39514 far from other sections don't cause the raw binary images grow
39515 size
39516
39517 2008-04-15 Robert Millan <rmh@aybabtu.com>
39518
39519 * disk/lvm.c: Update copyright year.
39520 * kern/misc.c: Likewise.
39521
39522 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39523
39524 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
39525 there is no memory left for physical volume name.
39526
39527 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39528
39529 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39530 volume name mapping to support bigger than 9 character names properly.
39531
39532 2008-04-13 Robert Millan <rmh@aybabtu.com>
39533
39534 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39535 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39536
39537 2008-04-13 Christian Franke <franke@computer.org>
39538
39539 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39540 to create a floppy emulation boot CD when non emulation mode
39541 does not work.
39542 Enable Joliet CD filesystem extension.
39543
39544 2008-04-13 Robert Millan <rmh@aybabtu.com>
39545
39546 * kern/misc.c (grub_strncat): Fix off-by-one error.
39547 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39548
39549 * kern/env.c (grub_env_context_close): Clear current context, not
39550 previous one.
39551 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39552
39553 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39554
39555 2008-04-13 Robert Millan <rmh@aybabtu.com>
39556
39557 Improve robustness when handling LVM.
39558
39559 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
39560 (and leave `*p' unmodified).
39561 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39562 through it.
39563 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39564 iterating through it.
39565 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39566 through it.
39567 (grub_lvm_scan_device): Check the return value (and fail gracefully
39568 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39569 Don't assume `vg->pvs != NULL' when iterating through it.
39570
39571 2008-04-13 Robert Millan <rmh@aybabtu.com>
39572
39573 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39574 * genmk.rb (partmap): New variable.
39575 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39576 (#{partmap}): New target rule.
39577 * genpartmaplist.sh: New file.
39578 * Makefile.in (pkglib_DATA): Add partmap.lst.
39579 (partmap.lst): New target rule.
39580 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39581 modules (including all partition maps), instead of preloading them.
39582
39583 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39584
39585 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39586 `linux-boot-prober' (if installed) to detect other operating
39587 systems which are installed on the computer and add them to
39588 the boot menu.
39589 * conf/common.rmk: Build and install 30_os-prober.
39590
39591 2008-04-12 Robert Millan <rmh@aybabtu.com>
39592
39593 * kern/powerpc/ieee1275/init.c: Move from here ...
39594 * kern/ieee1275/init.c: ... to here. Update all users.
39595
39596 * kern/powerpc/ieee1275/cmain.c: Move from here ...
39597 * kern/ieee1275/cmain.c: ... to here. Update all users.
39598
39599 * kern/powerpc/ieee1275/openfw.c: Move from here ...
39600 * kern/ieee1275/openfw.c: ... to here. Update all users.
39601
39602 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
39603 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
39604
39605 2008-04-10 Pavel Roskin <proski@gnu.org>
39606
39607 * configure.ac: Always use "_cv_" in cache variables for
39608 compatibility with Autoconf 2.62.
39609
39610 2008-04-07 Robert Millan <rmh@aybabtu.com>
39611
39612 Revert grub/machine/init.h addition by Pavel (since it breaks on
39613 i386-ieee1275 and others):
39614 * util/i386/pc/misc.c: Remove grub/machine/init.h.
39615 * util/powerpc/ieee1275/misc.c: Likewise.
39616
39617 2008-04-07 Robert Millan <rmh@aybabtu.com>
39618
39619 * util/grub-probe.c (probe): Improve error message.
39620
39621 2008-04-07 Robert Millan <rmh@aybabtu.com>
39622
39623 * util/biosdisk.c (read_device_map): Skip devices that don't exist
39624 (this prevents the presence of a bogus entry from ruining the whole
39625 thing).
39626
39627 2008-04-06 Pavel Roskin <proski@gnu.org>
39628
39629 * util/biosdisk.c: Include grub/util/biosdisk.h.
39630 * util/grub-fstest.c (execute_command): Make static.
39631 * util/grub-mkdevicemap.c (check_device): Likewise.
39632 * util/i386/pc/misc.c: Include grub/machine/init.h.
39633 * util/powerpc/ieee1275/misc.c: Likewise.
39634 * util/lvm.c: Include grub/util/lvm.h.
39635 * util/misc.c: Include grub/kernel.h, grub/misc.h and
39636 grub/cache.h.
39637 * util/raid.c: Include grub/util/raid.h.
39638 (grub_util_getdiskname): Make static.
39639
39640 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
39641 grub_hostfs_fini(), as they are called from grub_init_all() and
39642 grub_fini_all() respectively. This fixes an infinite loop in
39643 grub-fstest due to double registration of hostfs.
39644 Reported by Christian Franke <Christian.Franke@t-online.de>
39645
39646 2008-04-05 Pavel Roskin <proski@gnu.org>
39647
39648 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
39649 all 8 functions. Otherwise, probe function 0 only.
39650
39651 2008-04-04 Pavel Roskin <proski@gnu.org>
39652
39653 * commands/lspci.c (grub_lspci_iter): Print the bus number
39654 correctly.
39655
39656 * commands/lspci.c (grub_pci_classes): Fix typos.
39657 (grub_lspci_iter): Don't print func twice. Print vendor ID
39658 before device ID, as it's normally done.
39659
39660 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39661 Fix signedness warnings.
39662 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
39663 Likewise.
39664 * util/ieee1275/get_disk_name.c: Include config.h so that
39665 _GNU_SOURCE is defined and getline() is declared. Mark an
39666 unused argument as such. Fix a signedness warning.
39667
39668 2008-04-02 Pavel Roskin <proski@gnu.org>
39669
39670 * genkernsyms.sh.in: Use more robust assignments for CC and
39671 srcdir. Quote srcdir.
39672 * gensymlist.sh.in: Likewise. Assert at the compile time that
39673 the symbol table is not empty.
39674
39675 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
39676 * fs/cpio.c (grub_cpio_read): Likewise.
39677
39678 2008-04-01 Pavel Roskin <proski@gnu.org>
39679
39680 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
39681 * disk/host.c (grub_host_open): Likewise.
39682 * disk/loopback.c (grub_loopback_open): Likewise.
39683 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
39684 disk->id as in disk/host.c, not a multi-character constant.
39685
39686 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
39687 later is obsolete, potentially dangerous and sets a bad example.
39688 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
39689 * util/misc.c (grub_util_get_image_size): Likewise.
39690
39691 * disk/loopback.c (options): Improve help for "--partitions".
39692
39693 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
39694 options to align them with the short options, e.g. "echo -e".
39695
39696 2008-03-31 Bean <bean123ch@gmail.com>
39697
39698 * video/reader/png.c (grub_png_data): New member is_16bit and
39699 image_data.
39700 (grub_png_decode_image_header): Detect 16 bit png image.
39701 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
39702 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
39703 (grub_video_reader_png): Release memory occupied by image_data.
39704
39705 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
39706 4096 bytes.
39707 (grub_nfs_mount): Skip the test for sector per cluster.
39708
39709 * include/grub/ntfs.h (MAX_SPC): Removed.
39710
39711 2008-03-31 Bean <bean123ch@gmail.com>
39712
39713 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
39714 (grub_probe_SOURCES): Add fs/afs.c.
39715 (grub_fstest_SOURCES): Likewise.
39716 (afs_mod_SOURCES): New variable.
39717 (afs_mod_CFLAGS): Likewise.
39718 (afs_mod_LDFLAGS): Likewise.
39719
39720 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
39721 (grub_emu_SOURCES): Likewise.
39722
39723 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39724
39725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39726
39727 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39728
39729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39730
39731 * fs/afs.c: New file.
39732
39733 2008-03-30 Pavel Roskin <proski@gnu.org>
39734
39735 * disk/host.c: Include grub/misc.h to fix a warning.
39736 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
39737 warnings about implicit declarations.
39738
39739 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
39740 variable.
39741 * include/grub/i386/loader.h: Change declaration of
39742 grub_linux_boot() to match what grub_loader_set() expects.
39743 * util/getroot.c (grub_guess_root_device): Return const char* to
39744 fix a warning.
39745 * util/grub-probe.c (probe): Fix a warning about uninitialized
39746 abstraction_name variable.
39747 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
39748 second argument as unused to fix a warning.
39749
39750 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
39751 missing grub_error() call.
39752
39753 * util/update-grub_lib.in: Define datarootdir, since Autoconf
39754 2.60 and newer uses it to define datadir.
39755
39756 * commands/sleep.c: Fix warning about implicit declaration.
39757 * disk/memdisk.c: Likewise.
39758 * loader/aout.c: Likewise.
39759 * loader/i386/bsd_normal.c: Likewise.
39760 * util/grub-probe.c: Likewise.
39761
39762 * commands/i386/cpuid.c (has_longmode): Make static.
39763 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
39764 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
39765
39766 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
39767 GDT. This is more robust, as %ds can change.
39768 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
39769 calling real_to_prot().
39770 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
39771
39772 2008-03-28 Pavel Roskin <proski@gnu.org>
39773
39774 * kern/i386/pc/startup.S: Assert that uncompressed functions
39775 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
39776 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
39777 code, as they push parts of the code (error handlers) beyond
39778 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
39779 code as correctness and size.
39780
39781 2008-03-28 Pavel Roskin <proski@gnu.org>
39782
39783 * kern/i386/pc/startup.S
39784 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
39785 data block address to the real mode, keep offset minimal. This
39786 works around a bug in AWARD BIOS on old Athlon systems, which
39787 makes CD detection hang.
39788
39789 2008-03-26 Pavel Roskin <proski@gnu.org>
39790
39791 * normal/color.c (grub_parse_color_name_pair): Make `name' a
39792 const.
39793 * include/grub/normal.h: Add grub_parse_color_name_pair()
39794 declaration.
39795
39796 2008-03-24 Bean <bean123ch@gmail.com>
39797
39798 * disk/i386/pc/biosdisk.c (cd_start): Removed.
39799 (cd_count): Removed.
39800 (cd_drive): New variable.
39801 (grub_biosdisk_get_drive): Don't check for (cdN) device.
39802 (grub_biosdisk_call_hook): Likewise.
39803 (grub_biosdisk_iterate): Change cdrom detection method.
39804 (grub_biosdisk_open): Replace cd_start with cd_drive.
39805 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
39806 detect cdrom device.
39807
39808 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
39809 Removed.
39810 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
39811 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
39812 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
39813 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
39814 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
39815 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
39816 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
39817 (grub_biosdisk_cdrp): New structure.
39818 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
39819
39820 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
39821
39822 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
39823 device.
39824
39825 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
39826 New function.
39827
39828 2008-03-20 Robert Millan <rmh@aybabtu.com>
39829
39830 Remove 2 TiB limit in ata.mod.
39831 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
39832 (grub_ata_dumpinfo): Print sector count with 0x%llx.
39833 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
39834 grub_uint64_t instead of grub_uint32_t.
39835
39836 2008-03-05 Bean <bean123ch@gmail.com>
39837
39838 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
39839 (grub_multiboot): Set boot device.
39840
39841 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
39842
39843 2008-03-02 Bean <bean123ch@gmail.com>
39844
39845 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
39846 symlink_buffer.
39847
39848 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
39849
39850 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
39851 texinfo.tex.
39852
39853 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
39854 modified.
39855
39856 * docs/fdl.texi: New file.
39857
39858 * docs/mdate-sh: New file. Copied from gnulib.
39859 * docs/texinfo.tex: Likewise.
39860
39861 * config.guess: Updated from gnulib.
39862 * install-sh: Likewise.
39863
39864 2008-02-28 Robert Millan <rmh@aybabtu.com>
39865
39866 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
39867 (aout_mod_SOURCES): New variable.
39868 (aout_mod_CFLAGS): Likewise.
39869 (aout_mod_LDFLAGS): Likewise.
39870
39871 * conf/i386-ieee1275.rmk: Likewise.
39872
39873 2008-02-28 Robert Millan <rmh@aybabtu.com>
39874
39875 * util/update-grub.in: Reorganise terminal validity check. Accept
39876 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
39877 Based on suggestion by Franklin PIAT.
39878
39879 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
39880
39881 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
39882 function.
39883 * util/getroot.c (grub_util_check_block_device): New function that
39884 returns the given argument if it is a block device and returns NULL else.
39885 * util/grub-probe.c (argument_is_device): New variable.
39886 (probe): Promote device_name from a variable to an argument. Receive
39887 device_name from grub_util_check_block_device() if path is NULL and from
39888 grub_guess_root_device() else. Do not free() device_name anymore.
39889 (options): Introduce new parameter '-d, --device'.
39890 (main): Add description of the new parameter to the help screen.
39891 Rename path variable to argument. Set argument_is_device if the '-d'
39892 option is given. Pass argument to probe() depending on
39893 argument_is_device.
39894
39895 2008-02-24 Bean <bean123ch@gmail.com>
39896
39897 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
39898 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
39899 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
39900 (GRUB_ISO9660_VOLDESC_PART): Likewise.
39901 (GRUB_ISO9660_VOLDESC_END): Likewise.
39902 (grub_iso9660_primary_voldesc): New member escape.
39903 (grub_iso9660_data): New member joliet.
39904 (grub_iso9660_convert_string): New function.
39905 (grub_iso9660_mount): Detect joliet extension.
39906 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
39907 (grub_iso9660_iso9660_label): Likewise.
39908
39909 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
39910 (grub_setup_SOURCES): Add fs/udf.c.
39911 (grub_fstest_SOURCES): Likewise.
39912 (udf_mod_SOURCES): New variable.
39913 (udf_mod_CFLAGS): Likewise.
39914 (udf_mod_LDFLAGS): Likewise.
39915
39916 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
39917 (grub_emu_SOURCES): Likewise.
39918
39919 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39920
39921 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39922
39923 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39924
39925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39926
39927 * fs/udf.c: New file.
39928
39929 2008-02-24 Robert Millan <rmh@aybabtu.com>
39930
39931 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
39932 (normal/lexer.c_DEPENDENCIES): New variables.
39933 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39934 (normal/lexer.c_DEPENDENCIES): Likewise.
39935 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
39936 (normal/lexer.c_DEPENDENCIES): Likewise.
39937 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
39938 (normal/lexer.c_DEPENDENCIES): Likewise.
39939 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39940 (normal/lexer.c_DEPENDENCIES): Likewise.
39941 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39942 (normal/lexer.c_DEPENDENCIES): Likewise.
39943
39944 2008-02-23 Robert Millan <rmh@aybabtu.com>
39945
39946 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
39947 since they were intended to be in hex. This didn't break previously
39948 because of a bug in gpt_partition_map_iterate() (see below).
39949
39950 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
39951 when checking the validity of GPT header.
39952 Remove `partno', since it always provides the same information as `i'.
39953
39954 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
39955
39956 * include/grub/efi/time.h: Fix a wrong comment.
39957
39958 2008-02-19 Pavel Roskin <proski@gnu.org>
39959
39960 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
39961 message.
39962
39963 2008-02-19 Bean <bean123ch@gmail.com>
39964
39965 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
39966 (aout_mod_SOURCES): New variable.
39967 (aout_mod_CFLAGS): Likewise.
39968 (aout_mod_LDFLAGS): Likewise.
39969 (_bsd_mod_SOURCES): New variable.
39970 (_bsd_mod_CFLAGS): Likewise.
39971 (_bsd_mod_LDFLAGS): Likewise.
39972 (bsd_mod_SOURCES): New variable.
39973 (bsd_mod_CFLAGS): Likewise.
39974 (bsd_mod_LDFLAGS): Likewise.
39975
39976 * include/grub/aout.h: New file.
39977
39978 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
39979
39980 * include/grub/i386/bsd.h: New file.
39981
39982 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
39983 to make it public.
39984
39985 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
39986 function is called, so that it's possible to change it inside the hook.
39987 (grub_elf64_load): Likewise.
39988 (grub_elf_file): Don't close the file if elf header is not found.
39989 (grub_elf_close): Close the file if grub_elf_file fails (The new
39990 grub_elf_file won't close it).
39991 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
39992 (grub_elf64_size): Likewise.
39993
39994 * kern/i386/loader.S (grub_unix_real_boot): New function.
39995
39996 * loader/aout.c: New file.
39997
39998 * loader/i386/bsd.c: New file.
39999
40000 * loader/i386/bsd_normal.c: New file.
40001
40002 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40003
40004 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
40005 can test other formats.
40006
40007 2008-02-19 Robert Millan <rmh@aybabtu.com>
40008
40009 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40010 (grub_gpt_partition_type_empty): Redefine with macro from
40011 `<grub/gpt_partition.h>'.
40012 (gpt_partition_map_iterate): Adjust partition type comparison.
40013
40014 Export `entry' as partmap-specific `part.data' struct.
40015 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40016
40017 * include/grub/gpt_partition.h (grub_gpt_header)
40018 (grub_gpt_partentry): ... to here (new file).
40019
40020 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40021
40022 (grub_gpt_partition_type_bios_boot): New const variable, defined
40023 with macro from `<grub/gpt_partition.h>'.
40024
40025 (setup): Replace `first_start' with `embed_region', which keeps
40026 track of the embed region (and is partmap-agnostic).
40027
40028 Replace find_first_partition_start() with find_usable_region(),
40029 which finds a usable region for embedding using partmap-specific
40030 knowledge (supports PC/MSDOS and GPT).
40031
40032 Fix all assumptions that the embed region start at sector 1, using
40033 `embed_region.start' from now on. Similarly, use `embed_region.end'
40034 rather than `first_start' to calculate available size.
40035
40036 In grub_util_info() message, replace "into after the MBR" with an
40037 indication of the specific sector our embed region starts at.
40038
40039 2008-02-19 Robert Millan <rmh@aybabtu.com>
40040
40041 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40042 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40043 `commands/reboot.c'.
40044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40045 (halt_mod_SOURCES): Likewise.
40046 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40047 (halt_mod_SOURCES): Likewise.
40048
40049 2008-02-17 Christian Franke <franke@computer.org>
40050
40051 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40052
40053 2008-02-17 Robert Millan <rmh@aybabtu.com>
40054
40055 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40056 set `first_start' to 0 for non-PC/MSDOS partition maps.
40057
40058 2008-02-16 Robert Millan <rmh@aybabtu.com>
40059
40060 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40061 do not assume partition map is PC/MSDOS before performing checks that
40062 are specific to that layout.
40063
40064 2008-02-13 Robert Millan <rmh@aybabtu.com>
40065
40066 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40067 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40068 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40069
40070 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40071
40072 * configure.ac: Only a cosmetic change on the handling of
40073 -fno-stack-protector.
40074
40075 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
40076
40077 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40078 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40079 reboot.c.
40080 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40081 (halt_mod_SOURCES): New variable.
40082 (halt_mod_CFLAGS): Likewise.
40083 (halt_mod_LDFLAGS): Likewise.
40084 (reboot_mod_SOURCES): Likewise.
40085 (reboot_mod_CFLAGS): Likewise.
40086 (reboot_mod_LDFLAGS): Likewise.
40087
40088 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40089 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40090 reboot.c.
40091 (halt_mod_SOURCES): Likewise.
40092 (reboot_mod_SOURCES): Likewise.
40093
40094 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40095 commands/i386/pc/reboot.c by commands/reboot.c.
40096 (reboot_mod_SOURCES): Likewise.
40097
40098 * commands/i386/pc/reboot.c: merge this file ...
40099
40100 * commands/ieee1275/reboot.c: ... and this file ...
40101
40102 * commands/reboot.c: ... to this file.
40103 Add some precompiler directive to include the correct header for
40104 each machine.
40105
40106 * commands/ieee1275/halt.c: move this file ...
40107
40108 * commands/halt.c: ... to here.
40109 Add some precompiler directive to include the correct header for
40110 each machine.
40111
40112 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40113 (grub_halt): Likewise.
40114
40115 * kern/efi/efi.c (grub_reboot): New function.
40116 (grub_halt): Likewise.
40117
40118 2008-02-12 Robert Millan <rmh@aybabtu.com>
40119
40120 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40121 /dev (like it is done for /dev/mapper). This doesn't provide support
40122 for EVMS, but at least it is now easy to identify the problem when it
40123 arises.
40124
40125 2008-02-11 Robert Millan <rmh@aybabtu.com>
40126
40127 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40128 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40129 comparing it with -1, not 0.
40130
40131 2008-02-10 Robert Millan <rmh@aybabtu.com>
40132
40133 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40134 `disk/lvm.c'.
40135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40136 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40137
40138 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40139 `disk/lvm.c' to the end of the list.
40140 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40141 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40142
40143 2008-02-10 Robert Millan <rmh@aybabtu.com>
40144
40145 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40146 grub_print_error() instead. This will let user know why we're entering
40147 rescue mode.
40148 Based on suggestions from Sam Morris.
40149
40150 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
40151
40152 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40153 on remaining N args, instead of "--" arg N times.
40154
40155 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40156
40157 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40158 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40159 pattern for unknown glyphs.
40160
40161 2008-02-09 Robert Millan <rmh@aybabtu.com>
40162
40163 * configure.ac: Probe for `help2man'.
40164 * Makefile.in (builddir): New variable.
40165 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40166 or otherwise add a few flags/options to it.
40167 (install-local): For every executable utility or script that is
40168 installed, invoke $(HELP2MAN) to install a manpage based on --help
40169 output.
40170
40171 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40172 that it doesn't prevent --help from working in build tree.
40173
40174 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40175 with `bug-grub@gnu.org'.
40176 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40177 * util/update-grub.in (usage): New function.
40178 Implement proper argument check, with support for --help and --version
40179 (as well as existing -y).
40180
40181 2008-02-09 Christian Franke <franke@computer.org>
40182
40183 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40184 avoid overwriting previous output.
40185 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40186
40187 2008-02-09 Robert Millan <rmh@aybabtu.com>
40188
40189 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40190 drawing the menu.
40191
40192 2008-02-09 Robert Millan <rmh@aybabtu.com>
40193
40194 * commands/sleep.c: New file.
40195 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40196 (sleep_mod_SOURCES): New variable.
40197 (sleep_mod_CFLAGS): Likewise.
40198 (sleep_mod_LDFLAGS): Likewise.
40199
40200 2008-02-09 Robert Millan <rmh@aybabtu.com>
40201
40202 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40203 situations in which we can deduce the RAID size and the superblock
40204 doesn't match it.
40205
40206 2008-02-09 Robert Millan <rmh@aybabtu.com>
40207
40208 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40209 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40210 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40211
40212 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40213 and return a grub_diskmemberlist_t composed of physical array members.
40214 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40215
40216 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40217 prototype.
40218 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40219 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40220 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40221
40222 * util/grub-probe.c (probe): Move partmap probing code from here ...
40223 (probe_partmap): ... to here.
40224 (probe): Use probe_partmap() once for the disk we're probing, and
40225 additionally, when such disk contains a memberlist() struct member,
40226 once for each disk that is contained in the structure returned by
40227 memberlist().
40228
40229 2008-02-09 Robert Millan <rmh@aybabtu.com>
40230
40231 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40232 environment variable to 'all' in order to obtain debug output from
40233 non-util/ code.
40234 * util/i386/pc/grub-setup.c (main): Likewise.
40235
40236 2008-02-08 Robert Millan <rmh@aybabtu.com>
40237
40238 * disk/raid.c (grub_raid_scan_device): Check for
40239 `array->device[sb.this_disk.number]' rather than for
40240 `array->device[sb.this_disk.number]->name', since the latter is not
40241 guaranteed to be accessible.
40242
40243 2008-02-08 Robert Millan <rmh@aybabtu.com>
40244
40245 * disk/raid.c: Update copyright.
40246 * fs/cpio.c: Likewise.
40247 * include/grub/raid.h: Likewise.
40248 * loader/i386/pc/multiboot.c: Likewise.
40249 * util/hostfs.c: Likewise.
40250
40251 2008-02-08 Robert Millan <rmh@aybabtu.com>
40252
40253 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40254 to a grub_disk_t array.
40255 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40256 `device[x]'.
40257 (grub_raid_scan_device): Replace `device[x].name' accesses with
40258 `device[x]->name'. Simplify initialization of `array->device[x]'.
40259
40260 2008-02-08 Robert Millan <rmh@aybabtu.com>
40261
40262 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40263 grub_dprintf() calls.
40264 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40265 error message.
40266
40267 2008-02-07 Christian Franke <franke@computer.org>
40268
40269 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40270 instead of fseek and ftell to support large files.
40271 (grub_hostfs_read): Likewise.
40272
40273 2008-02-07 Robert Millan <rmh@aybabtu.com>
40274
40275 Patch from Jeroen Dekkers.
40276 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
40277 failure, since successfully reading all array members might not be
40278 required.
40279
40280 2008-02-06 Robert Millan <rmh@aybabtu.com>
40281
40282 * util/grub-probe.c (probe): Simplify partmap probing (with the
40283 assumption that the first word up to the underscore equals to
40284 the module name).
40285
40286 2008-02-06 Christian Franke <franke@computer.org>
40287
40288 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40289 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40290 last block of a cpio or tar stream.
40291 Check for "TRAILER!!!" instead of any empty data
40292 block to detect last block of a cpio stream.
40293 (grub_cpio_dir): Fix constness of variable np.
40294 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40295 cpio or tar trailer is detected. This fixes a crash
40296 on open of a non existing file.
40297
40298 2008-02-05 Bean <bean123ch@gmail.com>
40299
40300 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40301 address of entry.
40302 (grub_multiboot_load_elf64): Likewise.
40303 (grub_multiboot): Initialize mbi structure.
40304
40305 * util/grub-fstest.c: Don't include unused header file script.h.
40306
40307 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
40308 of file.
40309 (grub_fstest_SOURCES): Likewise.
40310
40311 2008-02-05 Robert Millan <rmh@aybabtu.com>
40312
40313 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40314 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40315 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40316 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40317
40318 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40319 (translation_table): Replace hardcoded values with macros
40320 provided by `<grub/term.h>'.
40321
40322 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40323 (keyboard_map): Correct/add a few values, with macros provided
40324 by `<grub/term.h>'.
40325 (keyboard_map_shift): Zero values that don't differ from their
40326 `keyboard_map' equivalents.
40327 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40328 Discard the second scan code that is always sent by Caps lock.
40329 Only use `keyboard_map_shift' when it provides a non-zero value,
40330 otherwise fallback to `keyboard_map'.
40331
40332 2008-02-04 Bean <bean123ch@gmail.com>
40333
40334 * Makefile.in (enable_grub_fstest): New variable.
40335
40336 * conf/common.rmk (grub_fstest_init.lst): New rule.
40337 (grub_fstest_init.h): Likewise.
40338 (grub_fstest_init.c): Likewise.
40339 (util/grub-fstest.c_DEPENDENCIES): New variable.
40340 (grub_fstest_SOURCES): Likewise.
40341
40342 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40343
40344 * util/grub-fstest.c: New file.
40345
40346 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40347
40348 Make grub-setup handle a separate root device.
40349
40350 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40351 so that the root device can be compared with the destination
40352 device.
40353 When embedding the core image, if the root and destination devices
40354 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40355 0xFF.
40356 When not embedding, set ROOT_DRIVE to 0xFF.
40357
40358 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40359
40360 Add support for having a grub directory in a different drive. This
40361 is still only the data handling part.
40362
40363 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40364 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40365 (grub_root_drive): New variable.
40366
40367 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40368 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40369 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40370 as it was.
40371
40372 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40373
40374 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40375 macro.
40376 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40377
40378 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40379 is bogus, because PXE booting does not specify any drive
40380 correctly.
40381
40382 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40383 am not sure if this is really correct.
40384
40385 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40386 is always identical to the boot drive when booting from a CD.
40387
40388 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40389 longer.
40390 (root_drive): New variable.
40391 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40392 (setup_sectors): Push %dx right after popping it, because %dh will
40393 be modified later.
40394 (copy_buffer): Restore %dx.
40395
40396 2008-02-03 Robert Millan <rmh@aybabtu.com>
40397
40398 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40399 use `cdboot.img' for cdrom images.
40400
40401 2008-02-03 Robert Millan <rmh@aybabtu.com>
40402
40403 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40404 only setup gfxterm when `font' command has succeeded.
40405
40406 2008-02-03 Robert Millan <rmh@aybabtu.com>
40407
40408 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40409 (grub_rescue_cmd_multiboot_loader)
40410 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40411
40412 2008-02-03 Pavel Roskin <proski@gnu.org>
40413
40414 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
40415 %edx and %esi from stack only after grub_gate_a20() is called.
40416 grub_gate_a20() clobbers %edx.
40417
40418 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40419
40420 * configure.ac (AC_INIT): Bumped to 1.96.
40421
40422 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40423 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40424 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40425 video/readers/png.c.
40426
40427 2008-02-03 Bean <bean123ch@gmail.com>
40428
40429 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40430 (cdboot_img_SOURCES): New variable.
40431 (cdboot_img_ASFLAGS): New variable.
40432 (cdboot_img_LDFLAGS): New variable.
40433
40434 * boot/i386/pc/cdboot.S: New file.
40435
40436 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40437 (cd_count): Likewise.
40438 (grub_biosdisk_get_drive): Add support for cd device.
40439 (grub_biosdisk_call_hook): Likewise.
40440 (grub_biosdisk_iterate): Likewise.
40441 (grub_biosdisk_open): Likewise.
40442 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40443 (grub_biosdisk_rw): Support reading from cd device.
40444 (GRUB_MOD_INIT): Iterate cd devices.
40445
40446 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40447 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40448 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40449
40450 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40451
40452 2008-02-02 Robert Millan <rmh@aybabtu.com>
40453
40454 * commands/read.c: New file.
40455 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40456 (read_mod_SOURCES): New variable.
40457 (read_mod_CFLAGS): Likewise.
40458 (read_mod_LDFLAGS): Likewise.
40459
40460 2008-02-02 Robert Millan <rmh@aybabtu.com>
40461
40462 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40463 determining whether menu has to be displayed.
40464
40465 2008-02-02 Marco Gerards <marco@gnu.org>
40466
40467 * bus/pci.c: New file.
40468
40469 * include/grub/pci.h: Likewise.
40470
40471 * include/grub/i386/pc/pci.h: Likewise.
40472
40473 * commands/lspci.c: Likewise.
40474
40475 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40476 `lspci.mod'.
40477 (pci_mod_SOURCES): New variable.
40478 (pci_mod_CFLAGS): Likewise.
40479 (pci_mod_LDFLAGS): Likewise.
40480 (lspci_mod_SOURCES): Likewise.
40481 (lspci_mod_CFLAGS): Likewise.
40482 (lspci_mod_LDFLAGS): Likewise.
40483
40484 2008-02-02 Bean <bean123ch@gmail.com>
40485
40486 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40487 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40488
40489 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40490 (grub_xfs_btree_node): New structure.
40491 (grub_xfs_btree_root): New structure.
40492 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40493 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40494 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40495 (GRUB_XFS_EXTENT_SIZE): Likewise.
40496 (grub_xfs_read_block): Support btree format type.
40497 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40498 Use directory block as basic unit.
40499
40500 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40501
40502 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40503 __attribute__ ((__regparm__ (1))).
40504
40505 2008-02-01 Robert Millan <rmh@aybabtu.com>
40506
40507 Correct a mistake in previous commit.
40508
40509 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40510 top.
40511 (normal/command.c_DEPENDENCIES): New variable.
40512
40513 2008-02-01 Robert Millan <rmh@aybabtu.com>
40514
40515 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40516 top.
40517 (normal/command.c_DEPENDENCIES): New variable.
40518 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40519 * conf/i386-ieee1275.rmk: Likewise.
40520 * conf/i386-linuxbios.rmk: Likewise.
40521 * conf/i386-pc.rmk: Likewise.
40522 * conf/sparc64-ieee1275.rmk: Likewise.
40523 * conf/powerpc-ieee1275.rmk: Likewise.
40524 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40525
40526 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40527
40528 2008-02-01 Robert Millan <rmh@aybabtu.com>
40529
40530 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40531 call at beginning of function.
40532
40533 2008-01-31 Pavel Roskin <proski@gnu.org>
40534
40535 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
40536 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40537 (grub_mkrescue_SOURCES): Likewise.
40538 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40539
40540 2008-01-30 Robert Millan <rmh@aybabtu.com>
40541
40542 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40543 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40544 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40545 (grub_probe_SOURCES): ... to here.
40546
40547 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40548 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40549 * conf/i386-ieee1275.rmk: Likewise.
40550 * conf/i386-linuxbios.rmk: Likewise.
40551 * conf/powerpc-ieee1275.rmk: Likewise.
40552
40553 2008-01-30 Tristan Gingold <gingold@free.fr>
40554
40555 * kern/rescue.c: Silently accept empty lines.
40556
40557 2008-01-29 Bean <bean123ch@gmail.com>
40558
40559 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40560 (real_code_2): Code cleanup and change comment style.
40561 (move_memory): Avoid using 32-bit address mode.
40562
40563 2008-01-29 Bean <bean123ch@gmail.com>
40564
40565 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40566 (png_mod_SOURCES): New variable.
40567 (png_mod_CFLAGS): Likewise.
40568 (png_mod_LDFLAGS): Likewise.
40569
40570 * video/readers/png.c: New file.
40571
40572 2008-01-28 Robert Millan <rmh@aybabtu.com>
40573
40574 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40575 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40576 `ifndef GRUB_MOD_GAP' hack.
40577 * util/elf/grub-mkimage.c (add_segments): Likewise.
40578
40579 2008-01-27 Robert Millan <rmh@aybabtu.com>
40580
40581 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40582 `GRUB_MOD_GAP' for platforms in which it's not defined.
40583 * util/elf/grub-mkimage.c (add_segments): Likewise.
40584
40585 2008-01-27 Robert Millan <rmh@aybabtu.com>
40586
40587 Get grub-emu to build again (including parallel builds).
40588
40589 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40590 Split into ...
40591 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40592 (normal/execute.c_DEPENDENCIES): ... this, ...
40593 (grub-emu_DEPENDENCIES): ... and this.
40594
40595 * conf/i386-efi.rmk: Likewise.
40596 * conf/i386-linuxbios.rmk: Likewise.
40597 * conf/i386-ieee1275.rmk: Likewise.
40598 * conf/powerpc-ieee1275.rmk: Likewise.
40599 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
40600
40601 2008-01-27 Robert Millan <rmh@aybabtu.com>
40602
40603 * NEWS: Add a few items.
40604
40605 2008-01-27 Robert Millan <rmh@aybabtu.com>
40606
40607 Fix parallel builds with grub-emu. Based on earlier commit for
40608 grub-probe and grub-setup.
40609
40610 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40611 (util/grub-emu.c_DEPENDENCIES): ... this.
40612 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40613 (util/grub-emu.c_DEPENDENCIES): ... this.
40614 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40615 (util/grub-emu.c_DEPENDENCIES): ... this.
40616 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40617 (util/grub-emu.c_DEPENDENCIES): ... this.
40618 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40619 (util/grub-emu.c_DEPENDENCIES): ... this.
40620
40621 2008-01-27 Pavel Roskin <proski@gnu.org>
40622
40623 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
40624 to create a gap between _end and the modules added to the image
40625 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
40626 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
40627 * util/elf/grub-mkimage.c (add_segments): Likewise.
40628
40629 2008-01-26 Pavel Roskin <proski@gnu.org>
40630
40631 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
40632 just return an error.
40633
40634 2008-01-26 Bean <bean123ch@gmail.com>
40635
40636 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
40637 (grub_reiserfs_get_item): Save offset of the next item.
40638 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
40639
40640 2008-01-25 Robert Millan <rmh@aybabtu.com>
40641
40642 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
40643 make all filesystem sources appear together (possibly fixing omissions
40644 while at it).
40645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40646 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40647 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40649
40650 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
40651 add `kern/file.c'.
40652 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
40653 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40654 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
40655 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40656
40657 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
40658 (probe): Add a sanity check to make sure of our ability to read
40659 requested files when probing for filesystem type.
40660
40661 * genmk.rb: Update copyright year (2007).
40662
40663 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
40664 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
40665 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
40666 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
40667 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
40668 : Remove function prototypes.
40669
40670 2008-01-25 Robert Millan <rmh@aybabtu.com>
40671
40672 Revert my previous commits (based on wrong assumption of how grub_errno
40673 works).
40674
40675 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
40676 * kern/file.c (grub_file_open): Likewise.
40677
40678 2008-01-24 Pavel Roskin <proski@gnu.org>
40679
40680 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
40681 that hang if GRUB tries to setup colors.
40682 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
40683 colors for firmwares that don't support it.
40684 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
40685 Recognize Open Hack'Ware, set flags to work around its
40686 limitations.
40687
40688 2008-01-24 Robert Millan <rmh@aybabtu.com>
40689
40690 * kern/file.c (grub_file_open): Do not account previous failures of
40691 unrelated functions when grub_errno is checked for.
40692 Reported by Oleg Strikov.
40693
40694 2008-01-24 Bean <bean123ch@gmail.com>
40695
40696 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
40697 (grub_ufs_sblock): New member volume name.
40698 (grub_ufs_find_file): Fix string copy bug.
40699 (grub_ufs_label): Implement this function properly.
40700
40701 * fs/hfs.c (grub_hfs_cnid_type): New enum.
40702 (grub_hfs_iterate_records): Use the correct file number for extents
40703 and catalog file. Fix problem in next index calculation.
40704 (grub_hfs_find_node): Replace recursive function call with loop.
40705 (grub_hfs_iterate_dir): Replace recursive function call with loop.
40706
40707 2008-01-23 Robert Millan <rmh@aybabtu.com>
40708
40709 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
40710 `<grub/symbol.h>' and `<grub/multiboot.h>'.
40711 (grub_multiboot2_real_boot): New function prototype.
40712
40713 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
40714 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
40715
40716 * kern/i386/ieee1275/init.c (grub_os_area_addr)
40717 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
40718
40719 2008-01-23 Robert Millan <rmh@aybabtu.com>
40720
40721 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
40722 #ifdef'ed out grub_printf().
40723
40724 2008-01-23 Robert Millan <rmh@aybabtu.com>
40725
40726 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
40727 grub_dprintf calls, since they make "debug=all" mode unusable.
40728 (grub_console_checkkey): Likewise.
40729
40730 2008-01-23 Robert Millan <rmh@aybabtu.com>
40731
40732 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40733 `term/i386/pc/at_keyboard.c'.
40734 (pkglib_MODULES): Add `serial.mod'.
40735 (serial_mod_SOURCES): New variable.
40736 (serial_mod_CFLAGS): Likewise.
40737 (serial_mod_LDFLAGS): Likewise.
40738
40739 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
40740 `<grub/powerpc/ieee1275/console.h>'.
40741 (grub_keyboard_controller_init): New function prototype.
40742 (grub_console_checkkey): Likewise.
40743 (grub_console_getkey): Likewise.
40744
40745 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
40746 keyboard on i386.
40747
40748 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
40749 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
40750
40751 2008-01-23 Robert Millan <rmh@aybabtu.com>
40752
40753 * kern/i386/pc/init.c (make_install_device): When memdisk image is
40754 present, "(memdisk)/boot/grub" becomes the default prefix.
40755
40756 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
40757 a memdisk tarball with all the modules. Add --overlay=DIR option that
40758 allows users to overlay additional files into the image.
40759
40760 2008-01-23 Robert Millan <rmh@aybabtu.com>
40761
40762 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
40763 and `machine/memory.h'.
40764 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
40765 (_multiboot_mod_SOURCES): New variable.
40766 (_multiboot_mod_CFLAGS): Likewise.
40767 (_multiboot_mod_LDFLAGS): Likewise.
40768 (multiboot_mod_SOURCES): Likewise.
40769 (multiboot_mod_CFLAGS): Likewise.
40770 (multiboot_mod_LDFLAGS): Likewise.
40771
40772 * include/grub/i386/ieee1275/loader.h: New file.
40773
40774 * include/grub/i386/ieee1275/machine.h: Likewise.
40775
40776 * include/grub/i386/ieee1275/memory.h: Likewise.
40777
40778 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
40779 variable declaration.
40780 (grub_os_area_size): Likewise.
40781
40782 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
40783 (grub_lower_mem, grub_upper_mem): New variables.
40784 (grub_stop_floppy): New function (just to make
40785 grub_multiboot2_real_boot() happy).
40786
40787 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
40788 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
40789 (grub_stop): New function.
40790 Include `"../realmode.S"' and `"../loader.S"'.
40791
40792 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
40793 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
40794
40795 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
40796 rely on grub_multiboot2_real_boot() for final boot.
40797
40798 2008-01-22 Robert Millan <rmh@aybabtu.com>
40799
40800 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
40801 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
40802 device that doesn't look like an SD card.
40803 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40804 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
40805 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
40806 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
40807 found.
40808
40809 2008-01-22 Robert Millan <rmh@aybabtu.com>
40810
40811 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
40812 avoid claiming over our own code.
40813
40814 2008-01-22 Bean <bean123ch@gmail.com>
40815
40816 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
40817 (jpeg_mod_SOURCES): New variable.
40818 (jpeg_mod_CFLAGS): Likewise.
40819 (jpeg_mod_LDFLAGS): Likewise.
40820
40821 * video/readers/jpeg.c : New file.
40822
40823 2008-01-22 Bean <bean123ch@gmail.com>
40824
40825 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
40826 there are no more items.
40827
40828 2008-01-21 Robert Millan <rmh@aybabtu.com>
40829
40830 * kern/mm.c (grub_mm_init_region): Improve debug message.
40831
40832 2008-01-21 Robert Millan <rmh@aybabtu.com>
40833
40834 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
40835 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
40836 address.
40837 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
40838 a C macro.
40839 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
40840 Indicates start of upper memory.
40841 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
40842 (generate_image): Abort when image size is big enough to corrupt
40843 upper memory.
40844
40845 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
40846 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
40847 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40848 instead of hardcoding 0xA0000.
40849 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
40850 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40851 instead of hardcoding 0xA0000.
40852
40853 2008-01-21 Robert Millan <rmh@aybabtu.com>
40854
40855 * disk/memdisk.c (memdisk_size): New variable.
40856 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
40857 `memdisk_size'.
40858 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
40859 image to dynamic memory.
40860 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
40861 `memdisk_size'. Free memdisk block.
40862
40863 2008-01-21 Robert Millan <rmh@aybabtu.com>
40864
40865 Fix detection of very small filesystems (like tar).
40866
40867 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
40868 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
40869 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
40870 a problem with this disk).
40871
40872 2008-01-21 Robert Millan <rmh@aybabtu.com>
40873
40874 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
40875 on grub_biosdisk_rw_standard() error.
40876
40877 2008-01-21 Robert Millan <rmh@aybabtu.com>
40878
40879 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
40880 recent changes.
40881 * kern/elf.c: Likewise.
40882 * kern/ieee1275/ieee1275.c: Likewise.
40883 * kern/powerpc/ieee1275/openfw.c: Likewise.
40884 * term/ieee1275/ofconsole.c: Likewise.
40885
40886 2008-01-21 Robert Millan <rmh@aybabtu.com>
40887
40888 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
40889
40890 * include/grub/kernel.h (grub_arch_memdisk_addr)
40891 (grub_arch_memdisk_size): Moved from here ...
40892
40893 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
40894 (grub_arch_memdisk_size): ... to here.
40895
40896 2008-01-21 Robert Millan <rmh@aybabtu.com>
40897
40898 Mostly based on bugfix from Bean.
40899
40900 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
40901 attribute with hook() parameter.
40902 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
40903 declaration.
40904 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
40905 attribute with hook() parameter.
40906 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
40907 declaration.
40908
40909 2008-01-21 Robert Millan <rmh@aybabtu.com>
40910
40911 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
40912 (pkglib_MODULES): Add `memdisk.mod'.
40913 (memdisk_mod_SOURCES): New variable.
40914 (memdisk_mod_CFLAGS): Likewise.
40915 (memdisk_mod_LDFLAGS): Likewise.
40916
40917 * disk/memdisk.c: New file.
40918
40919 * include/grub/disk.h (grub_disk_dev_id): Add
40920 `GRUB_DISK_DEVICE_MEMDISK_ID'.
40921
40922 * include/grub/i386/pc/kernel.h
40923 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
40924 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
40925 (grub_kernel_image_size): New variable declaration.
40926 (grub_total_module_size): Likewise.
40927 (grub_memdisk_image_size): Likewise.
40928
40929 * include/grub/i386/pc/memory.h
40930 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
40931
40932 * include/grub/kernel.h: Include `<grub/symbol.h>'.
40933 (grub_arch_memdisk_addr): New variable declaration.
40934 (grub_arch_memdisk_size): Likewise.
40935
40936 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
40937 (grub_arch_memdisk_size): Likewise.
40938
40939 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
40940 (codestart): Replace hardcoded `0x100000' with
40941 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
40942
40943 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
40944 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
40945 not NULL, append the contents of the file it refers to, at the end of
40946 the compressed kernel image. Initialize `grub_memdisk_image_size'
40947 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
40948 (options): Add "memdisk"|'m' option.
40949 (main): Parse --memdisk|-m option, and pass user-provided path as
40950 parameter to generate_image().
40951
40952 2008-01-20 Robert Millan <rmh@aybabtu.com>
40953
40954 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
40955 grub_dprintf() calls from here ...
40956 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
40957
40958 2008-01-20 Robert Millan <rmh@aybabtu.com>
40959
40960 Fix detection of "real mode" when /options/real-mode? doesn't exist.
40961
40962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
40963 declaration.
40964 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
40965 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
40966 `GRUB_IEEE1275_FLAG_REAL_MODE'.
40967 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
40968 property).
40969 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
40970 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
40971
40972 2008-01-19 Robert Millan <rmh@aybabtu.com>
40973
40974 Get rid of confusing function (superseded by
40975 `grub_ieee1275_get_integer_property')
40976 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
40977 prototype.
40978 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
40979 function.
40980 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
40981 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
40982 in native endianness from grub_ieee1275_get_integer_property().
40983
40984 2008-01-19 Robert Millan <rmh@aybabtu.com>
40985
40986 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
40987 command after "shut-down", since implementations differ on which
40988 the command for halt is.
40989
40990 2008-01-19 Robert Millan <rmh@aybabtu.com>
40991
40992 * include/grub/i386/linuxbios/console.h: Add header protection.
40993 (grub_keyboard_controller_init): New function prototype.
40994 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
40995 (KEYBOARD_COMMAND_READ): Likewise.
40996 (KEYBOARD_COMMAND_WRITE): Likewise.
40997 (KEYBOARD_SCANCODE_SET1): Likewise.
40998 (grub_keyboard_controller_write): New function.
40999 (grub_keyboard_controller_read): Likewise.
41000 (grub_keyboard_controller_init): Likewise.
41001
41002 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41003 (grub_console_init): On coreboot/LinuxBIOS, call
41004 grub_keyboard_controller_init().
41005
41006 2008-01-19 Robert Millan <rmh@aybabtu.com>
41007
41008 PowerPC changes provided by Pavel Roskin.
41009
41010 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41011 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41012 don't rely on cmain() doing it.
41013 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41014 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41015
41016 2008-01-16 Robert Millan <rmh@aybabtu.com>
41017
41018 * include/grub/i386/linuxbios/memory.h
41019 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41020 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41021 receive `table_header' as argument. Instead, probe for it in the
41022 known memory ranges where it can be present.
41023 (grub_available_iterate): Do not pass a fixed `table_header' address
41024 to grub_linuxbios_table_iterate().
41025
41026 2008-01-15 Robert Millan <rmh@aybabtu.com>
41027
41028 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41029 * conf/i386-ieee1275.rmk: New file.
41030 * include/grub/i386/ieee1275/console.h: Likewise.
41031 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41032 * include/grub/i386/ieee1275/kernel.h: Likewise.
41033 * include/grub/i386/ieee1275/time.h: Likewise.
41034 * kern/i386/ieee1275/init.c: Likewise.
41035 * kern/i386/ieee1275/startup.S: Likewise.
41036
41037 2008-01-15 Robert Millan <rmh@aybabtu.com>
41038
41039 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41040 when pointers are 32-bit (but still do set it to one when they are
41041 64-bit).
41042
41043 2008-01-15 Robert Millan <rmh@aybabtu.com>
41044
41045 * include/grub/ieee1275/ieee1275.h
41046 (grub_ieee1275_get_integer_property): New function prototype.
41047
41048 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41049 (grub_ieee1275_get_integer_property): New function. Wraps around
41050 grub_ieee1275_get_property() to handle endianness.
41051
41052 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41053 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
41054 where appropriate.
41055 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41056 (grub_map): Likewise.
41057 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41058
41059 2008-01-15 Bean <bean123ch@gmail.com>
41060
41061 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41062 (grub_script_execute_cmdline): Reset grub_errno.
41063
41064 * normal/main.c (read_config_file): Reset grub_errno.
41065
41066 * normal/parse.y (script_init): New.
41067 (script): Move function and menuentry here.
41068 (delimiter): New.
41069 (command): Add delimiter at the end of command.
41070 (commands): Adjust to match the new command.
41071 (commandblock): Remove grub_script_lexer_record_start.
41072 (menuentry): Add grub_script_lexer_record_start, use the new commands.
41073 (if): Use the new commands.
41074
41075 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41076
41077 2008-01-15 Robert Millan <rmh@aybabtu.com>
41078
41079 * normal/menu.c (run_menu): Move timeout message from here ...
41080 (print_timeout): ... to here.
41081 (run_menu): Use print_timeout() once during initial draw to print
41082 the whole message, and again in every clock tick to update only
41083 the number of seconds.
41084
41085 2008-01-15 Robert Millan <rmh@aybabtu.com>
41086
41087 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41088 actual size of `available' from grub_ieee1275_get_property(), and
41089 restrict parsing to that bound.
41090
41091 2008-01-15 Christian Franke <franke@computer.org>
41092
41093 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41094 (argp_program_version): Remove variable.
41095 (argp_program_bug_address): Likewise.
41096 (options): Convert from struct argp_option to struct option.
41097 (struct arguments): Remove.
41098 (parse_opt): Remove.
41099 (usage): New function.
41100 (main): Replace struct args members by simple variables.
41101 Replace argp_parse() by getopt_long().
41102 Add switch to evaluate options.
41103 Add missing "(...)" around root_dev in prefix string.
41104
41105 2008-01-14 Robert Millan <rmh@aybabtu.com>
41106
41107 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41108 for grub_ieee1275_exit(), in order to improve portability.
41109
41110 2008-01-14 Robert Millan <rmh@aybabtu.com>
41111
41112 * util/grub.d/10_linux.in (prefix): Define.
41113 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41114
41115 2008-01-13 Pavel Roskin <proski@gnu.org>
41116
41117 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41118 grub_errno if no errors have been detected.
41119
41120 2008-01-12 Robert Millan <rmh@aybabtu.com>
41121
41122 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41123 (grub_util_get_dev_abstraction): New function prototype.
41124
41125 * util/getroot.c: Include `<grub/util/getroot.h>'
41126 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41127 (grub_util_get_dev_abstraction): ... here (new function).
41128
41129 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41130 `PRINT_ABSTRACTION'.
41131 (probe): Probe for abstraction type when requested.
41132 (main): Understand `--target=abstraction'.
41133
41134 * util/i386/efi/grub-install.in: Add abstraction module to core
41135 image when it is found to be necessary.
41136 * util/i386/pc/grub-install.in: Likewise.
41137 * util/powerpc/ieee1275/grub-install.in: Likewise.
41138
41139 * util/update-grub_lib.in (font_path): Return system path without
41140 converting to GRUB path.
41141 * util/update-grub.in: Convert system path returned by font_path()
41142 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41143 abstraction module is needed for loading fonts (if any). Export
41144 that as `GRUB_PRELOAD_MODULES'.
41145 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41146 insmod commands).
41147
41148 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41149
41150 Remove some unused code from reiserfs.
41151
41152 * fs/reiserfs.c (struct grub_reiserfs_key)
41153 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41154 (struct grub_reiserfs_node_body): Removed.
41155 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41156 Likewise.
41157 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41158 Likewise.
41159 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41160 Likewise.
41161 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41162 Likewise.
41163 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41164 Likewise.
41165 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41166 Likewise.
41167 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41168 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41169 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41170
41171 2008-01-10 Robert Millan <rmh@aybabtu.com>
41172
41173 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41174 Determines if a file is garbage left by packaging systems, etc.
41175 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41176 for processing /etc/grub.d scripts.
41177 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41178 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41179 as a condition for processing Linux images.
41180
41181 2008-01-10 Pavel Roskin <proski@gnu.org>
41182
41183 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41184 to compile reiserfs.c on PowerPC.
41185
41186 2008-01-10 Robert Millan <rmh@aybabtu.com>
41187
41188 * kern/device.c (grub_device_iterate): Do not abort device iteration
41189 when one of the devices cannot be opened.
41190 * kern/disk.c (grub_disk_open): Do not account previous failures of
41191 unrelated functions when grub_errno is checked for.
41192
41193 2008-01-08 Robert Millan <rmh@aybabtu.com>
41194
41195 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41196 `! grub_linux_is_bzimage', change order of address comparison to make
41197 it more intuitive, and improve "too big zImage" error message.
41198
41199 2008-01-08 Robert Millan <rmh@aybabtu.com>
41200
41201 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41202 `$(update-grub_DATA)'.
41203 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41204 targets.
41205
41206 2008-01-07 Robert Millan <rmh@aybabtu.com>
41207
41208 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41209 which instruction is modified by grub-setup during installation
41210 (since it wasn't obvious by only looking at this file).
41211
41212 2008-01-07 Robert Millan <rmh@aybabtu.com>
41213
41214 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41215 listing actual TODO items.
41216
41217 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41218
41219 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41220 correctly.
41221 (grub_reiserfs_get_key_offset): Likewise.
41222 (grub_reiserfs_set_key_offset): Likewise.
41223 (grub_reiserfs_set_key_type): Likewise.
41224 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
41225
41226 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41227 better to remove the bitfield version completely.
41228
41229 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41230
41231 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41232 allocated from the heap, due to the fshelp implementation.
41233 (grub_reiserfs_dir): Free NODE, due to the same reason.
41234
41235 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41236
41237 Mostly from Vincent Pelletier:
41238
41239 * fs/reiserfs.c: New file.
41240
41241 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41242 (reiserfs_mod_SOURCES): New variable.
41243 (reiserfs_mod_CFLAGS): Likewise.
41244 (reiserfs_mod_LDFLAGS): Likewise.
41245
41246 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41247 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41248 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41249 normal/color.c.
41250
41251 2008-01-06 Robert Millan <rmh@aybabtu.com>
41252
41253 * normal/color.c: Remove `<grub/env.h>'.
41254
41255 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41256
41257 * include/grub/normal.h: Include <grub/env.h>.
41258
41259 2008-01-05 Robert Millan <rmh@aybabtu.com>
41260
41261 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41262 usage example with `(hd0,1)'.
41263 Reported by Samuel Thibault.
41264
41265 2008-01-05 Robert Millan <rmh@aybabtu.com>
41266
41267 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41268 (grub_linux_boot_zimage): Rename to ...
41269 (grub_linux_boot): ... this.
41270 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41271 (grub_linux_boot_zimage): Conditionalize zImage copy.
41272
41273 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41274 (grub_linux_boot_bzimage): Remove prototype.
41275 (grub_linux_boot_zimage): Rename to ...
41276 (grub_linux_boot): ... this.
41277
41278 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41279 (grub_linux_boot): Remove function.
41280
41281 2008-01-05 Robert Millan <rmh@aybabtu.com>
41282
41283 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41284 (grub_env_write_color_highlight): Likewise.
41285 (grub_wait_after_message): Likewise.
41286
41287 * normal/color.c: New file.
41288
41289 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41290 (normal_mod_DEPENDENCIES): Likewise.
41291
41292 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41293 (normal_mod_DEPENDENCIES): Likewise.
41294
41295 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41296 (normal_mod_DEPENDENCIES): Likewise.
41297
41298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41299 (normal_mod_DEPENDENCIES): Likewise.
41300
41301 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41302 for waiting after a message is printed.
41303 * normal/main.c (read_config_file): Likewise.
41304 (grub_normal_init): Register grub_env_write_color_normal() and
41305 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41306 `color_highlight' variables as global.
41307
41308 * normal/menu.c (grub_wait_after_message): New function.
41309 (grub_color_menu_normal): New variable. Replaces ...
41310 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41311 (grub_color_menu_highlight): New variable. Replaces ...
41312 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41313 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41314 `GRUB_TERM_COLOR_STANDARD'.
41315 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41316 `normal_code' and `highlight_code' to `old_color_normal' and
41317 `old_color_highlight', respectively.
41318 (grub_menu_init_page): Update colors when drawing the menu, based on
41319 `menu_color_normal' and `menu_color_highlight' variables.
41320 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41321 a message is printed.
41322
41323 2008-01-05 Robert Millan <rmh@aybabtu.com>
41324
41325 * kern/env.c (grub_env_context_open): Propagate hooks for global
41326 variables to new context.
41327
41328 * kern/main.c (grub_set_root_dev): Export `root' variable.
41329
41330 2008-01-05 Robert Millan <rmh@aybabtu.com>
41331
41332 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
41333 discs unconditionally, since udev and others have options to provide
41334 them.
41335
41336 2008-01-05 Robert Millan <rmh@aybabtu.com>
41337
41338 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41339
41340 2008-01-04 Christian Franke <franke@computer.org>
41341
41342 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41343 of eisa_mmap.
41344
41345 2008-01-03 Pavel Roskin <proski@gnu.org>
41346
41347 * kern/i386/linuxbios/init.c: Put "void" to all function
41348 declarations with no arguments.
41349 * kern/powerpc/ieee1275/init.c: Likewise.
41350 * term/i386/pc/at_keyboard.c: Likewise.
41351 * term/i386/pc/vga_text.c: Likewise.
41352 * util/grub-mkdevicemap.c: Likewise.
41353
41354 2008-01-02 Robert Millan <rmh@aybabtu.com>
41355
41356 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41357 message when loaded image is out of bounds.
41358 (grub_multiboot_load_elf64): Likewise.
41359
41360 2008-01-02 Pavel Roskin <proski@gnu.org>
41361
41362 * util/grub.d/10_linux.in: Try version without ".old" when
41363 looking for initrd. It's better to use initrd from the newer
41364 kernel of the same version than no initrd at all.
41365
41366 2008-01-01 Robert Millan <rmh@aybabtu.com>
41367
41368 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41369
41370 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41371
41372 * include/grub/video.h: Added grub_video_unmap_color and
41373 grub_video_get_active_render_target.
41374 (grub_video_adapter): Added unmap_color and get_active_render_target.
41375
41376 * video/video.c: Added grub_video_unmap_color and
41377 grub_video_get_active_render_target.
41378 (grub_video_get_info): Changed method to accept NULL pointer as an
41379 argument to allow detection of active video adapter.
41380
41381 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41382 grub_video_vbe_unmap_color_int.
41383 Added grub_video_vbe_unmap_color and
41384 grub_video_vbe_get_active_render_target.
41385 (grub_video_vbe_adapter): Added unmap_color and
41386 get_active_render_target.
41387
41388 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
41389 with grub_video_vbe_unmap_color_int.
41390
41391 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41392 (DEFAULT_NORMAL_COLOR): Likewise.
41393 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41394 (DEFAULT_FG_COLOR): Removed.
41395 (DEFAULT_BG_COLOR): Likewise.
41396 (DEFAULT_CURSOR_COLOR): Changed value.
41397 (grub_virtual_screen): Added standard_color_setting,
41398 normal_color_setting, highlight_color_setting and term_color.
41399 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41400 (bitmap_width): Added.
41401 (bitmap_height): Likewise.
41402 (bitmap): Likewise.
41403 (set_term_color): Likewise.
41404 (grub_virtual_screen_setup): Changed to use new terminal coloring
41405 settings.
41406 (grub_gfxterm_init): Added init for bitmap.
41407 (grub_gfxterm_fini): Added destroy for bitmap.
41408 (redraw_screen_rect): Updated to use background bitmap and new
41409 terminal coloring.
41410 (scroll_up): Added optimization for case when there is no bitmap.
41411 (grub_gfxterm_cls): Fixed to use correct background color.
41412 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41413 coloring.
41414 (grub_virtual_screen_setcolor): Likewise.
41415 (grub_virtual_screen_getcolor): Added.
41416 (grub_gfxterm_background_image_cmd): Likewise.
41417 (grub_video_term): Added setcolor and getcolor.
41418 (MOD_INIT): Added registration of background_image command.
41419 (MOD_TERM): Added unregistration for background_image command.
41420
41421 2007-12-30 Pavel Roskin <proski@gnu.org>
41422
41423 * loader/multiboot_loader.c: Fix multiboot command
41424 unregistration. Fix all typos in the word "multiboot".
41425
41426 2007-12-29 Pavel Roskin <proski@gnu.org>
41427
41428 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41429 support for initrd names used in Fedora.
41430
41431 2007-12-26 Bean <bean123ch@gmail.com>
41432
41433 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41434 (cpio_mod_SOURCES): New variable.
41435 (cpio_mod_CFLAGS): Likewise.
41436 (cpio_mod_LDFLAGS): Likewise.
41437
41438 * fs/cpio.c: New file.
41439
41440 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41441
41442 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41443
41444 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41445
41446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41447
41448 2007-12-25 Robert Millan <rmh@aybabtu.com>
41449
41450 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41451 (grub_getcolor): New function.
41452
41453 * kern/term.c (grub_getcolor): New function.
41454 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41455 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41456 (print_entry): Set normal and highlight colors to
41457 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41458 respectively, before printing and restore them to old
41459 values afterwards.
41460 (grub_menu_init_page): Likewise. Fill an additional colored space
41461 that would otherwise be left blank.
41462
41463 * term/efi/console.c (grub_console_getcolor): New function.
41464 (struct grub_console_term.getcolor): New variable.
41465 * term/i386/pc/console.c (grub_console_getcolor): New function.
41466 (struct grub_console_term.getcolor): New variable.
41467 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41468 (struct grub_console_term.getcolor): New variable.
41469
41470 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41471 (struct grub_console_term.setcolor): Remove variable.
41472 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41473 (struct grub_console_term.setcolor): Remove variable.
41474 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41475 (struct grub_console_term.setcolor): Remove variable.
41476 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41477 (struct grub_console_term.setcolor): Remove variable.
41478
41479 2007-12-25 Robert Millan <rmh@aybabtu.com>
41480
41481 * configure.ac: Search for possible unifont.hex locations, and
41482 define UNIFONT_HEX if found.
41483
41484 * Makefile.in (UNIFONT_HEX): Define variable.
41485 (DATA): Rename to ...
41486 (PKGLIB): ... this. Update all users.
41487 (PKGDATA): New variable.
41488 (pkgdata_IMAGES): Rename to ...
41489 (pkglib_IMAGES): ... this. Update all users.
41490 (pkgdata_MODULES): Rename to ...
41491 (pkglib_MODULES): ... this. Update all users.
41492 (pkgdata_PROGRAMS): Rename to ...
41493 (pkglib_PROGRAMS): ... this. Update all users.
41494 (pkgdata_DATA): Rename to ...
41495 (pkglib_DATA): ... this. Update all users.
41496 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41497 (unicode.pff, ascii.pff): New rules.
41498 (all-local): Add `$(PKGDATA)' dependency.
41499 (install-local): Process `$(PKGDATA)'.
41500
41501 * util/update-grub_lib.in (font_path): Search for *.pff files in
41502 a few more locations, including `${pkgdata}'.
41503
41504 2007-12-23 Robert Millan <rmh@aybabtu.com>
41505
41506 Patch from Bean <bean123ch@gmail.com>:
41507 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41508 `size'.
41509
41510 2007-12-21 Bean <bean123ch@gmail.com>
41511
41512 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41513 (ntfscomp_mod_SOURCES): New variable.
41514 (ntfscomp_mod_CFLAGS): Likewise.
41515 (ntfscomp_mod_LDFLAGS): Likewise.
41516
41517 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41518 (grub_probe_SOURCES): Likewise.
41519 (grub_emu_SOURCES): Likewise.
41520
41521 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41522 (grub_emu_SOURCES): Likewise.
41523
41524 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41525 (grub_emu_SOURCES): Likewise.
41526
41527 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41528 (grub_emu_SOURCES): Likewise.
41529
41530 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41531 (read_run_list): Renamed to grub_ntfs_read_run_list.
41532 (decomp_nextvcn): Moved to ntfscomp.c.
41533 (decomp_getch): Likewise.
41534 (decomp_get16): Likewise.
41535 (decomp_block): Likewise.
41536 (read_block): Likewise.
41537 (read_data): Partially moved to ntfscomp.c.
41538 (fixup): Change unsigned to grub_uint16_t.
41539 (read_mft): Change unsigned long to grub_uint32_t.
41540 (read_attr): Likewise.
41541 (read_data): Likewise.
41542 (read_run_data): Likewise.
41543 (read_run_list): Likewise.
41544 (read_mft): Likewise.
41545
41546 * fs/ntfscomp.c: New file.
41547
41548 * include/grub/ntfs.h: New file.
41549
41550 2007-12-16 Robert Millan <rmh@aybabtu.com>
41551
41552 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41553 IDE disk check, since Linux is known to support 20 IDE disks.
41554 Reported by Colin Watson.
41555
41556 2007-12-15 Bean <bean123ch@gmail.com>
41557
41558 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41559 (lnxboot_img_SOURCES): New variable.
41560 (lnxboot_img_ASFLAGS): Likewise.
41561 (lnxboot_img_LDFLAGS): Likewise.
41562
41563 * boot/i386/pc/lnxboot.S: New file.
41564
41565 2007-11-24 Pavel Roskin <proski@gnu.org>
41566
41567 * configure.ac: Test if '--build-id=none' is supported by the
41568 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41569 objcopy to generate incorrect binary files (binutils
41570 2.17.50.0.18-1 as shipped by Fedora 8).
41571 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41572 linking, so that build ID doesn't break the test.
41573
41574 2007-11-24 Pavel Roskin <proski@gnu.org>
41575
41576 * include/grub/i386/time.h: use "void" in the argument list
41577 of grub_cpu_idle().
41578 * include/grub/powerpc/time.h: Likewise.
41579 * include/grub/sparc64/time.h: Likewise.
41580
41581 2007-11-18 Christian Franke <franke@computer.org>
41582
41583 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41584 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41585 This fixes the problem that function keys did not work in grub-emu.
41586
41587 2007-11-18 Christian Franke <franke@computer.org>
41588
41589 * disk/host.c (grub_host_open): Remove attribute unused from
41590 name parameter. Add check for "host". This fixes the problem
41591 that grub-emu does not find partitions.
41592
41593 2007-11-18 Christian Franke <franke@computer.org>
41594
41595 * util/hostfs.c (is_dir): New function.
41596 (grub_hostfs_dir): Handle missing dirent.d_type case.
41597 (grub_hostfs_read): Add missing fseek().
41598 (grub_hostfs_label): Clear label pointer. This fixes a crash
41599 of grub-emu on "ls (host)".
41600
41601 2007-11-18 Christian Franke <franke@computer.org>
41602
41603 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
41604 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
41605 to 64 bit boundary by default.
41606
41607 2007-11-18 Bean <bean123ch@gmail.com>
41608
41609 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
41610 (hexdump_mod_SOURCES): New variable.
41611 (hexdump_mod_CFLAGS): Likewise.
41612 (hexdump_mod_LDFLAGS): Likewise.
41613
41614 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41615
41616 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41617
41618 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41619
41620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41621
41622 * include/grub/hexdump.h: New file.
41623
41624 * commands/hexdump.c: New file.
41625
41626 2007-11-10 Robert Millan <rmh@aybabtu.com>
41627
41628 * commands/i386/pc/play.c (beep_off): Switch order of arguments
41629 in grub_outb() calls.
41630 (beep_on): Likewise.
41631
41632 2007-11-10 Christian Franke <franke@computer.org>
41633
41634 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
41635 (grub_menu_run): Likewise.
41636
41637 2007-11-10 Robert Millan <rmh@aybabtu.com>
41638
41639 * include/grub/i386/efi/machine.h: New file.
41640 * include/grub/i386/linuxbios/machine.h: Likewise.
41641 * include/grub/i386/pc/machine.h: Likewise.
41642 * include/grub/powerpc/ieee1275/machine.h: Likewise.
41643 * include/grub/sparc64/ieee1275/machine.h: Likewise.
41644
41645 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
41646 (serial_hw_io_addr): New variable.
41647 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
41648 instead of `(unsigned short *) 0x400'.
41649
41650 2007-11-10 Bean <bean123ch@gmail.com>
41651
41652 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
41653
41654 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41655
41656 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
41657 (vga_mod_SOURCES): Added.
41658 (vga_mod_CFLAGS): Likewise.
41659 (vga_mod_LDFLAGS): Likewise.
41660
41661 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
41662 grub_outb() calls.
41663 (set_map_mask): Likewise.
41664 (set_read_map): Likewise.
41665 (set_read_address): Likewise.
41666 (vga_font): Removed variable.
41667 (get_vga_glyph): Removed function.
41668 (invalidate_char): Likewise.
41669 (write_char): Changed to use grub_font_get_glyph() for font
41670 information.
41671 (grub_vga_putchar): Likewise.
41672 (grub_vga_getcharwidth): Likewise.
41673
41674 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41675
41676 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
41677 flags.
41678 (pxeboot_img_LDFLAGS): Likewise.
41679 (diskboot_img_LDFLAGS): Likewise.
41680 (kernel_img_LDFLAGS): Likewise.
41681
41682 2007-11-06 Robert Millan <rmh@aybabtu.com>
41683
41684 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
41685 in grub_outb() calls.
41686 (serial_hw_init): Likewise.
41687
41688 2007-11-05 Robert Millan <rmh@aybabtu.com>
41689
41690 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
41691 spaces. Skip non-regular files.
41692
41693 2007-11-05 Robert Millan <rmh@aybabtu.com>
41694
41695 * kern/disk.c (grub_disk_firmware_fini)
41696 (grub_disk_firmware_is_tainted): New variables.
41697
41698 * include/grub/disk.h (grub_disk_firmware_fini)
41699 (grub_disk_firmware_is_tainted): Likewise.
41700
41701 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
41702 (grub_disk_biosdisk_fini): ... to here.
41703 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
41704 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
41705 is set. Register grub_disk_biosdisk_fini() in
41706 `grub_disk_firmware_fini'.
41707
41708 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
41709 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
41710 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
41711 to finish existing firmware disk interface.
41712
41713 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
41714 (ata_mod_SOURCES): New variable.
41715 (ata_mod_CFLAGS): Likewise.
41716 (ata_mod_LDFLAGS): Likewise.
41717
41718 2007-11-05 Robert Millan <rmh@aybabtu.com>
41719
41720 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
41721 (grub_ata_wait): Reimplement using grub_millisleep().
41722
41723 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
41724 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
41725
41726 2007-11-03 Marco Gerards <marco@gnu.org>
41727
41728 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
41729 (CRTC_ADDR_PORT): New macro.
41730 (CRTC_DATA_PORT): Likewise.
41731 (CRTC_CURSOR): Likewise.
41732 (CRTC_CURSOR_ADDR_HIGH): Likewise.
41733 (CRTC_CURSOR_ADDR_LOW): Likewise.
41734 (update_cursor): New function.
41735 (grub_console_real_putchar): Call `update_cursor'.
41736 (grub_console_gotoxy): Likewise.
41737 (grub_console_cls): Set the default color when clearing the
41738 screen.
41739 (grub_console_setcursor): Implemented.
41740
41741 2007-11-03 Marco Gerards <marco@gnu.org>
41742
41743 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
41744 become activate.
41745 (grub_ata_pio_write): Likewise.
41746
41747 (grub_atapi_identify): Wait after issuing an ATA command.
41748 (grub_atapi_packet): Likewise.
41749 (grub_ata_identify): Likewise.
41750 (grub_ata_readwrite): Likewise.
41751
41752 2007-11-03 Marco Gerards <marco@gnu.org>
41753
41754 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
41755 (grub_ata_pio_write): Likewise.
41756 (grub_ata_readwrite): Use `grub_error', instead of
41757 returning `grub_errno'.
41758
41759 2007-11-03 Marco Gerards <marco@gnu.org>
41760
41761 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
41762 grub_ata_pio_write once for every single sector, instead of for
41763 multiple sectors.
41764
41765 2007-10-31 Robert Millan <rmh@aybabtu.com>
41766
41767 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
41768
41769 * conf/i386-linuxbios.rmk: New file.
41770
41771 * kern/i386/pc/hardware.c: Likewise.
41772 * term/i386/pc/at_keyboard.c: Likewise.
41773 * term/i386/pc/vga_text.c: Likewise.
41774
41775 * include/grub/i386/linuxbios/boot.h: Likewise.
41776 * include/grub/i386/linuxbios/console.h: Likewise.
41777 * include/grub/i386/linuxbios/init.h: Likewise.
41778 * include/grub/i386/linuxbios/kernel.h: Likewise.
41779 * include/grub/i386/linuxbios/loader.h: Likewise.
41780 * include/grub/i386/linuxbios/memory.h: Likewise.
41781 * include/grub/i386/linuxbios/serial.h: Likewise.
41782 * include/grub/i386/linuxbios/time.h: Likewise.
41783
41784 * kern/i386/linuxbios/init.c: Likewise.
41785 * kern/i386/linuxbios/startup.S: Likewise.
41786 * kern/i386/linuxbios/table.c: Likewise.
41787
41788 2007-10-31 Marco Gerards <marco@gnu.org>
41789
41790 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
41791 (ata_mod_SOURCES): New variable.
41792 (ata_mod_CFLAGS): Likewise.
41793 (ata_mod_LDFLAGS): Likewise.
41794
41795 * disk/ata.c: New file.
41796
41797 * include/grub/disk.h (grub_disk_dev_id): Add
41798 `GRUB_DISK_DEV_ATA_ID'.
41799
41800 2007-10-31 Robert Millan <rmh@aybabtu.com>
41801
41802 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
41803 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
41804
41805 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
41806 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
41807
41808 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
41809 `<grub/types.h>'.
41810
41811 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
41812
41813 2007-10-27 Robert Millan <rmh@aybabtu.com>
41814
41815 * include/grub/types.h (ULONG_MAX): Define macro.
41816
41817 2007-10-22 Robert Millan <rmh@aybabtu.com>
41818
41819 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
41820 `"../realmode.S"'.
41821 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
41822
41823 2007-10-22 Robert Millan <rmh@aybabtu.com>
41824
41825 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
41826 (pkgdata_MODULES): Add `biosdisk.mod'.
41827 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
41828 variables.
41829
41830 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
41831 (grub_biosdisk_init): Replace with ...
41832 (GRUB_MOD_INIT(biosdisk)): ... this.
41833 (grub_biosdisk_fini): Replace with ...
41834 (GRUB_MOD_FINI(biosdisk)): ... this.
41835
41836 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
41837 (grub_machine_init): Remove call to grub_biosdisk_init().
41838 (grub_machine_fini): Remove call to grub_machine_fini().
41839
41840 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
41841
41842 2007-10-22 Robert Millan <rmh@aybabtu.com>
41843
41844 * include/grub/time.h: New file.
41845 * include/grub/i386/time.h: Likewise.
41846 * include/grub/powerpc/time.h: Likewise.
41847 * include/grub/sparc64/time.h: Likewise.
41848
41849 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
41850 instances to ...
41851 (KERNEL_MACHINE_TIME_HEADER): ... this.
41852 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41853 instances to ...
41854 (KERNEL_MACHINE_TIME_HEADER): ... this.
41855 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41856 instances to ...
41857 (KERNEL_MACHINE_TIME_HEADER): ... this.
41858
41859 * kern/i386/efi/init.c: Include `<grub/time.h>'.
41860 (grub_millisleep): New function.
41861 * kern/i386/pc/init.c: Include `<grub/time.h>'.
41862 (grub_millisleep): New function.
41863 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
41864 Remove `grub/machine/time.h' include.
41865 (grub_millisleep): New function.
41866 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
41867 Remove `grub/machine/time.h' include.
41868 (grub_millisleep): New function.
41869
41870 * include/grub/misc.h (grub_div_roundup): New function.
41871
41872 * kern/misc.c: Include `<grub/time.h>'.
41873 (grub_millisleep_generic): New function.
41874
41875 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
41876 Add `time.h'.
41877 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
41878 Add `time.h'.
41879 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
41880 `machine/time.h'. Add `time.h'.
41881 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41882
41883 2007-10-21 Robert Millan <rmh@aybabtu.com>
41884
41885 * include/grub/misc.h (grub_max): New function.
41886
41887 2007-10-21 Robert Millan <rmh@aybabtu.com>
41888
41889 * util/misc.c (grub_util_info): Call fflush() before returning.
41890
41891 2007-10-20 Robert Millan <rmh@aybabtu.com>
41892
41893 * genmk.rb (Image): Copy `extra_flags' from here ...
41894 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
41895
41896 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
41897 to `argc' and `args' arguments.
41898
41899 2007-10-17 Robert Millan <rmh@aybabtu.com>
41900
41901 * kern/i386/loader.S: New file.
41902
41903 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
41904 * kern/i386/loader.S (grub_linux_prot_size)... to here.
41905 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
41906 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
41907 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
41908 * kern/i386/loader.S (grub_linux_real_addr)... to here.
41909 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
41910 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
41911 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
41912 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
41913 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
41914 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
41915 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
41916 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
41917
41918 * kern/i386/realmode.S: New file.
41919
41920 * kern/i386/pc/startup.S (protstack): Moved from here ...
41921 * kern/i386/realmode.S (protstack)... to here.
41922 * kern/i386/pc/startup.S (gdt): Moved from here ...
41923 * kern/i386/realmode.S (gdt)... to here.
41924 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
41925 * kern/i386/realmode.S (prot_to_real)... to here.
41926
41927 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
41928 `kern/i386/realmode.S'.
41929
41930 2007-10-17 Robert Millan <rmh@aybabtu.com>
41931
41932 * include/grub/i386/loader.h: New file.
41933
41934 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
41935 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41936 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41937 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41938 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
41939 * include/grub/i386/loader.h (grub_linux_prot_size)
41940 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41941 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41942 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41943 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
41944
41945 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
41946
41947 2007-10-15 Robert Millan <rmh@aybabtu.com>
41948
41949 * normal/misc.c (grub_normal_print_device_info): Do not probe for
41950 filesystem when dev->disk is unset.
41951 Do probe for filesystem even when dev->disk->has_partitions is set.
41952 In case a filesystem is found, always report it.
41953 In case it isn't, if dev->disk->has_partitions is set, report that
41954 a partition table was found instead of reporting that no filesystem
41955 could be identified.
41956
41957 2007-10-12 Robert Millan <rmh@aybabtu.com>
41958
41959 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
41960 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
41961
41962 * include/grub/types.h (grub_host_to_target16): New macro.
41963 (grub_host_to_target32): Likewise.
41964 (grub_host_to_target64): Likewise.
41965 (grub_target_to_host16): Likewise.
41966 (grub_target_to_host32): Likewise.
41967 (grub_target_to_host64): Likewise.
41968
41969 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41970 Renamed from to ...
41971 (GRUB_MOD_ALIGN): ...this. Update all users.
41972
41973 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
41974 grub_host_to_target32.
41975 Replace grub_be_to_cpu32 with grub_target_to_host32.
41976 (load_modules): Likewise.
41977 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
41978 Replace grub_be_to_cpu32 with grub_target_to_host32.
41979 Replace grub_cpu_to_be16 with grub_host_to_target16.
41980 Replace grub_cpu_to_be32 grub_host_to_target32.
41981
41982 2007-10-12 Robert Millan <rmh@aybabtu.com>
41983
41984 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
41985 * util/elf/grub-mkimage.c: ... here.
41986
41987 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
41988 `util/powerpc/ieee1275/grub-mkimage.c'.
41989
41990 2007-10-07 Robert Millan <rmh@aybabtu.com>
41991
41992 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
41993 and make it easier to figure out.
41994 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
41995 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
41996 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
41997 leave us with less than HEAP_MIN_SIZE total heap.
41998 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
41999
42000 2007-10-03 Robert Millan <rmh@aybabtu.com>
42001
42002 * include/grub/i386/io.h: New file.
42003 * commands/i386/pc/play.c (inb): Removed.
42004 (outb): Removed.
42005 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42006 with grub_outb().
42007 * term/i386/pc/serial.c (inb): Removed.
42008 (outb): Removed.
42009 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42010 with grub_outb().
42011 * term/i386/pc/vga.c (inb): Removed.
42012 (outb): Removed.
42013 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42014 with grub_outb().
42015
42016 2007-10-02 Robert Millan <rmh@aybabtu.com>
42017
42018 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42020 Reported by Marcin Kurek.
42021
42022 2007-09-07 Robert Millan <rmh@aybabtu.com>
42023
42024 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42025 SmartFirmware version updates (as released by Sven Luther), and avoid
42026 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42027 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42028 known broken.
42029
42030 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42031
42032 From Hitoshi Ozeki:
42033 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42034 when merging two regions.
42035
42036 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42037
42038 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42039 * normal/completion.c (grub_normal_do_completion): Likewise.
42040 Reported by Hitoshi Ozeki.
42041
42042 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42043
42044 Do not use devices at boot in chainloading.
42045
42046 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42047 (boot_part_addr): Likewise.
42048 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42049 with BOOT_DRIVE and BOOT_PART_ADDR.
42050 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42051 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42052
42053 2007-08-29 Robert Millan <rmh@aybabtu.com>
42054
42055 Patch from Simon Peter <dn.tlp@gmx.net>:
42056 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42057 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42058 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42059 util/i386/pc/grub-setup.c_DEPENDENCIES.
42060 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42061 util/grub-probe.c_DEPENDENCIES.
42062 * conf/powerpc-ieee1275.rmk: Likewise.
42063
42064 2007-08-28 Robert Millan <rmh@aybabtu.com>
42065
42066 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42067 to tell grub-mkdevicemap how to name devices.
42068 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42069 feature).
42070
42071 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42072 util/i386/get_disk_name.c.
42073 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42074 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42075 util/ieee1275/get_disk_name.c.
42076
42077 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42078
42079 * DISTLIST: Add util/i386/get_disk_name.c and
42080 util/ieee1275/get_disk_name.c.
42081
42082 * util/grub-mkdevicemap.c: Replace device naming logic with
42083 grub_util_get_disk_name() calls.
42084
42085 2007-08-20 Robert Millan <rmh@aybabtu.com>
42086
42087 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42088 (so that it works for both plural and singular quantities).
42089
42090 2007-08-05 Robert Millan <rmh@aybabtu.com>
42091
42092 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42093 so that [xz] isn't taken into account when determining order.
42094
42095 2007-08-02 Marco Gerards <marco@gnu.org>
42096
42097 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42098 `include/multiboot2.h', `include/grub/elfload.h',
42099 `include/multiboot.h', `include/grub/multiboot.h',
42100 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42101 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42102 `kern/elf.c', `loader/multiboot_loader.c',
42103 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42104 `loader/i386/pc/multiboot2.c',
42105 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42106 `util/i386/pc/grub-mkrescue.in'. Remove
42107 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42108 `include/grub/i386/pc/util/biosdisk.h' and
42109 `include/grub/powerpc/ieee1275/multiboot.h'.
42110
42111 2007-08-02 Bean <bean123ch@gmail.com>
42112
42113 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42114 (ntfs_mod_SOURCES): New variable.
42115 (ntfs_mod_CFLAGS): Likewise.
42116 (ntfs_mod_LDFLAGS): Likewise.
42117
42118 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42119 (grub_probe_SOURCES): Likewise.
42120 (grub_emu_SOURCES): Likewise.
42121
42122 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42123 (grub_emu_SOURCES): Likewise.
42124
42125 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42126 (grub_emu_SOURCES): Likewise.
42127
42128 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42129
42130 * fs/ntfs.c: New file.
42131
42132 2007-08-02 Bean <bean123ch@gmail.com>
42133
42134 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42135
42136 * file.h (grub_file): Likewise.
42137
42138 * fshelp.h (grub_fshelp_read_file): Likewise.
42139
42140 * util/i386/pc/grub-setup.c (setup): Likewise.
42141 (save_first_sector): Likewise.
42142 (save_blocklists): Likewise.
42143
42144 * fs/affs.c (grub_affs_read_file): Likewise.
42145
42146 * fs/ext2.c (grub_ext2_read_file): Likewise.
42147
42148 * fs/fat.c (grub_fat_read_data): Likewise.
42149
42150 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42151
42152 * fs/hfs.c (grub_hfs_read_file): Likewise.
42153
42154 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42155
42156 * fs/jfs.c (grub_jfs_read_file): Likewise.
42157
42158 * fs/minix.c (grub_minix_read_file): Likewise.
42159
42160 * fs/sfs.c (grub_sfs_read_file): Likewise.
42161
42162 * fs/ufs.c (grub_ufs_read_file): Likewise.
42163
42164 * fs/xfs.c (grub_xfs_read_file): Likewise.
42165
42166 * command/blocklist.c (read_blocklist): Likewise.
42167 (print_blocklist): Likewise.
42168
42169 2007-08-02 Marco Gerards <marco@gnu.org>
42170
42171 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42172 `util/hostfs.c'.
42173
42174 * disk/host.c: New file.
42175
42176 * util/hostfs.c: Likewise.
42177
42178 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42179 return `GRUB_ERR_BAD_FS'.
42180 * fs/sfs.c (grub_sfs_mount): Likewise.
42181 * fs/xfs.c (grub_xfs_mount): Likewise.
42182
42183 * include/grub/disk.h (enum grub_disk_dev_id): Add
42184 `GRUB_DISK_DEVICE_HOST_ID'.
42185
42186 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42187
42188 2007-07-24 Jerone Young <jerone@gmail.com>
42189
42190 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
42191 modules for compilation.
42192 * conf/powerpc-ieee1275.rmk: Likewise.
42193
42194 * include/multiboot.h: Move multiboot definitions to one file. Rename
42195 many definitions to not get grub specific.
42196 * include/multiboot2.h: Create header with multiboot 2 definitions.
42197 * include/grub/multiboot.h: Header for grub specific function
42198 prototypes and definitions.
42199 * include/grub/multiboot2.h: Likewise.
42200 * include/grub/multiboot_loader.h: Likewise.
42201 * include/grub/i386/pc/multiboot.h: Removed.
42202 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42203
42204 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42205 and 2 to allow for one multiboot and module commands.
42206 * loader/multiboot2.c: Add multiboot2 functionality.
42207 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42208 and definition names.
42209 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42210 2 functions.
42211 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42212 ieee1275 specific multiboot2 code.
42213
42214 * kern/i386/pc/startup.S: Change headers and definition names for
42215 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42216
42217 2007-07-22 Robert Millan <rmh@aybabtu.com>
42218
42219 * geninitheader.sh: Process file specified in first parameter rather
42220 than hardcoding grub_modules_init.lst.
42221 * geninit.sh: Likewise. Also, construct header name dynamically rather
42222 than hardcoding grub_modules_init.h.
42223
42224 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42225 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42226 grub_probe_init.[ch] and grub_setup_init.[ch].
42227
42228 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42229 grub_modules_init.h with grub_emu_init.h.
42230 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42231 grub_probe_init.[ch] files.
42232 * conf/i386-efi.rmk: Likewise.
42233 * conf/i386-pc.rmk: Likewise.
42234 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42235 grub_setup_init.[ch] files.
42236
42237 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42238 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42239 to initialize modules rather than a list of hardcoded functions.
42240 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42241 grub_init_all() to initialize modules rather than a list of hardcoded
42242 functions.
42243
42244 2007-07-22 Robert Millan <rmh@aybabtu.com>
42245
42246 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42247 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42248
42249 2007-07-22 Robert Millan <rmh@aybabtu.com>
42250
42251 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42252 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42253 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42254 flag when running on SmartFirmware.
42255 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42256 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42257 was set.
42258
42259 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42260 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42261 rather than decreasing it.
42262
42263 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42264 there's not enough space to do it, fail in the same way as when it
42265 can't be done because there are no partitions.
42266
42267 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42268 when nvsetenv failed.
42269
42270 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42271
42272 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42273 because this rule is automatically generated.
42274 (grub-mkrescue): Removed for the same reason as above.
42275
42276 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42277
42278 Migrate to GNU General Public License Version 3.
42279
42280 * COPYING: Replaced with the plain text version of GPLv3.
42281
42282 * config.guess: Updated from gnulib.
42283 * config.sub: Likewise.
42284
42285 * geninit.sh: Output a GPLv3 copyright notice.
42286 * geninitheader.sh: Likewise.
42287 * genmodsrc.sh: Likewise.
42288 * gensymlist.sh.in: Likewise.
42289
42290 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42291 * boot/i386/pc/diskboot.S: Likewise.
42292 * boot/i386/pc/pxeboot.S: Likewise.
42293 * commands/blocklist.c: Likewise.
42294 * commands/boot.c: Likewise.
42295 * commands/cat.c: Likewise.
42296 * commands/cmp.c: Likewise.
42297 * commands/configfile.c: Likewise.
42298 * commands/echo.c: Likewise.
42299 * commands/help.c: Likewise.
42300 * commands/ls.c: Likewise.
42301 * commands/search.c: Likewise.
42302 * commands/terminal.c: Likewise.
42303 * commands/test.c: Likewise.
42304 * commands/videotest.c: Likewise.
42305 * commands/i386/cpuid.c: Likewise.
42306 * commands/i386/pc/halt.c: Likewise.
42307 * commands/i386/pc/play.c: Likewise.
42308 * commands/i386/pc/reboot.c: Likewise.
42309 * commands/i386/pc/vbeinfo.c: Likewise.
42310 * commands/i386/pc/vbetest.c: Likewise.
42311 * commands/ieee1275/halt.c: Likewise.
42312 * commands/ieee1275/reboot.c: Likewise.
42313 * commands/ieee1275/suspend.c: Likewise.
42314 * disk/loopback.c: Likewise.
42315 * disk/lvm.c: Likewise.
42316 * disk/raid.c: Likewise.
42317 * disk/efi/efidisk.c: Likewise.
42318 * disk/i386/pc/biosdisk.c: Likewise.
42319 * disk/ieee1275/ofdisk.c: Likewise.
42320 * font/manager.c: Likewise.
42321 * fs/affs.c: Likewise.
42322 * fs/ext2.c: Likewise.
42323 * fs/fat.c: Likewise.
42324 * fs/fshelp.c: Likewise.
42325 * fs/hfs.c: Likewise.
42326 * fs/hfsplus.c: Likewise.
42327 * fs/iso9660.c: Likewise.
42328 * fs/jfs.c: Likewise.
42329 * fs/minix.c: Likewise.
42330 * fs/sfs.c: Likewise.
42331 * fs/ufs.c: Likewise.
42332 * fs/xfs.c: Likewise.
42333 * hello/hello.c: Likewise.
42334 * include/grub/acorn_filecore.h: Likewise.
42335 * include/grub/arg.h: Likewise.
42336 * include/grub/bitmap.h: Likewise.
42337 * include/grub/boot.h: Likewise.
42338 * include/grub/cache.h: Likewise.
42339 * include/grub/device.h: Likewise.
42340 * include/grub/disk.h: Likewise.
42341 * include/grub/dl.h: Likewise.
42342 * include/grub/elfload.h: Likewise.
42343 * include/grub/env.h: Likewise.
42344 * include/grub/err.h: Likewise.
42345 * include/grub/file.h: Likewise.
42346 * include/grub/font.h: Likewise.
42347 * include/grub/fs.h: Likewise.
42348 * include/grub/fshelp.h: Likewise.
42349 * include/grub/gzio.h: Likewise.
42350 * include/grub/hfs.h: Likewise.
42351 * include/grub/kernel.h: Likewise.
42352 * include/grub/loader.h: Likewise.
42353 * include/grub/lvm.h: Likewise.
42354 * include/grub/misc.h: Likewise.
42355 * include/grub/mm.h: Likewise.
42356 * include/grub/net.h: Likewise.
42357 * include/grub/normal.h: Likewise.
42358 * include/grub/parser.h: Likewise.
42359 * include/grub/partition.h: Likewise.
42360 * include/grub/pc_partition.h: Likewise.
42361 * include/grub/raid.h: Likewise.
42362 * include/grub/rescue.h: Likewise.
42363 * include/grub/script.h: Likewise.
42364 * include/grub/setjmp.h: Likewise.
42365 * include/grub/symbol.h: Likewise.
42366 * include/grub/term.h: Likewise.
42367 * include/grub/terminfo.h: Likewise.
42368 * include/grub/tparm.h: Likewise.
42369 * include/grub/types.h: Likewise.
42370 * include/grub/video.h: Likewise.
42371 * include/grub/efi/api.h: Likewise.
42372 * include/grub/efi/chainloader.h: Likewise.
42373 * include/grub/efi/console.h: Likewise.
42374 * include/grub/efi/console_control.h: Likewise.
42375 * include/grub/efi/disk.h: Likewise.
42376 * include/grub/efi/efi.h: Likewise.
42377 * include/grub/efi/pe32.h: Likewise.
42378 * include/grub/efi/time.h: Likewise.
42379 * include/grub/i386/linux.h: Likewise.
42380 * include/grub/i386/setjmp.h: Likewise.
42381 * include/grub/i386/types.h: Likewise.
42382 * include/grub/i386/efi/kernel.h: Likewise.
42383 * include/grub/i386/efi/loader.h: Likewise.
42384 * include/grub/i386/efi/time.h: Likewise.
42385 * include/grub/i386/pc/biosdisk.h: Likewise.
42386 * include/grub/i386/pc/boot.h: Likewise.
42387 * include/grub/i386/pc/chainloader.h: Likewise.
42388 * include/grub/i386/pc/console.h: Likewise.
42389 * include/grub/i386/pc/init.h: Likewise.
42390 * include/grub/i386/pc/kernel.h: Likewise.
42391 * include/grub/i386/pc/loader.h: Likewise.
42392 * include/grub/i386/pc/memory.h: Likewise.
42393 * include/grub/i386/pc/multiboot.h: Likewise.
42394 * include/grub/i386/pc/serial.h: Likewise.
42395 * include/grub/i386/pc/time.h: Likewise.
42396 * include/grub/i386/pc/vbe.h: Likewise.
42397 * include/grub/i386/pc/vbeblit.h: Likewise.
42398 * include/grub/i386/pc/vbefill.h: Likewise.
42399 * include/grub/i386/pc/vbeutil.h: Likewise.
42400 * include/grub/i386/pc/vga.h: Likewise.
42401 * include/grub/ieee1275/ieee1275.h: Likewise.
42402 * include/grub/ieee1275/ofdisk.h: Likewise.
42403 * include/grub/powerpc/libgcc.h: Likewise.
42404 * include/grub/powerpc/setjmp.h: Likewise.
42405 * include/grub/powerpc/types.h: Likewise.
42406 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42407 * include/grub/powerpc/ieee1275/console.h: Likewise.
42408 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42409 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42410 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42411 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42412 * include/grub/powerpc/ieee1275/time.h: Likewise.
42413 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42414 * include/grub/sparc64/libgcc.h: Likewise.
42415 * include/grub/sparc64/setjmp.h: Likewise.
42416 * include/grub/sparc64/types.h: Likewise.
42417 * include/grub/sparc64/ieee1275/console.h: Likewise.
42418 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42419 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42420 * include/grub/sparc64/ieee1275/time.h: Likewise.
42421 * include/grub/util/biosdisk.h: Likewise.
42422 * include/grub/util/getroot.h: Likewise.
42423 * include/grub/util/lvm.h: Likewise.
42424 * include/grub/util/misc.h: Likewise.
42425 * include/grub/util/raid.h: Likewise.
42426 * include/grub/util/resolve.h: Likewise.
42427 * io/gzio.c: Likewise.
42428 * kern/device.c: Likewise.
42429 * kern/disk.c: Likewise.
42430 * kern/dl.c: Likewise.
42431 * kern/elf.c: Likewise.
42432 * kern/env.c: Likewise.
42433 * kern/err.c: Likewise.
42434 * kern/file.c: Likewise.
42435 * kern/fs.c: Likewise.
42436 * kern/loader.c: Likewise.
42437 * kern/main.c: Likewise.
42438 * kern/misc.c: Likewise.
42439 * kern/mm.c: Likewise.
42440 * kern/parser.c: Likewise.
42441 * kern/partition.c: Likewise.
42442 * kern/rescue.c: Likewise.
42443 * kern/term.c: Likewise.
42444 * kern/efi/efi.c: Likewise.
42445 * kern/efi/init.c: Likewise.
42446 * kern/efi/mm.c: Likewise.
42447 * kern/i386/dl.c: Likewise.
42448 * kern/i386/efi/init.c: Likewise.
42449 * kern/i386/efi/startup.S: Likewise.
42450 * kern/i386/pc/init.c: Likewise.
42451 * kern/i386/pc/lzo1x.S: Likewise.
42452 * kern/i386/pc/startup.S: Likewise.
42453 * kern/ieee1275/ieee1275.c: Likewise.
42454 * kern/powerpc/cache.S: Likewise.
42455 * kern/powerpc/dl.c: Likewise.
42456 * kern/powerpc/ieee1275/cmain.c: Likewise.
42457 * kern/powerpc/ieee1275/crt0.S: Likewise.
42458 * kern/powerpc/ieee1275/init.c: Likewise.
42459 * kern/powerpc/ieee1275/openfw.c: Likewise.
42460 * kern/sparc64/cache.S: Likewise.
42461 * kern/sparc64/dl.c: Likewise.
42462 * kern/sparc64/ieee1275/init.c: Likewise.
42463 * kern/sparc64/ieee1275/openfw.c: Likewise.
42464 * loader/efi/chainloader.c: Likewise.
42465 * loader/efi/chainloader_normal.c: Likewise.
42466 * loader/i386/efi/linux.c: Likewise.
42467 * loader/i386/efi/linux_normal.c: Likewise.
42468 * loader/i386/pc/chainloader.c: Likewise.
42469 * loader/i386/pc/chainloader_normal.c: Likewise.
42470 * loader/i386/pc/linux.c: Likewise.
42471 * loader/i386/pc/linux_normal.c: Likewise.
42472 * loader/i386/pc/multiboot.c: Likewise.
42473 * loader/i386/pc/multiboot_normal.c: Likewise.
42474 * loader/powerpc/ieee1275/linux.c: Likewise.
42475 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42476 * normal/arg.c: Likewise.
42477 * normal/cmdline.c: Likewise.
42478 * normal/command.c: Likewise.
42479 * normal/completion.c: Likewise.
42480 * normal/execute.c: Likewise.
42481 * normal/function.c: Likewise.
42482 * normal/lexer.c: Likewise.
42483 * normal/main.c: Likewise.
42484 * normal/menu.c: Likewise.
42485 * normal/menu_entry.c: Likewise.
42486 * normal/misc.c: Likewise.
42487 * normal/parser.y: Likewise.
42488 * normal/script.c: Likewise.
42489 * normal/i386/setjmp.S: Likewise.
42490 * normal/powerpc/setjmp.S: Likewise.
42491 * normal/sparc64/setjmp.S: Likewise.
42492 * partmap/acorn.c: Likewise.
42493 * partmap/amiga.c: Likewise.
42494 * partmap/apple.c: Likewise.
42495 * partmap/gpt.c: Likewise.
42496 * partmap/pc.c: Likewise.
42497 * partmap/sun.c: Likewise.
42498 * term/gfxterm.c: Likewise.
42499 * term/terminfo.c: Likewise.
42500 * term/efi/console.c: Likewise.
42501 * term/i386/pc/console.c: Likewise.
42502 * term/i386/pc/serial.c: Likewise.
42503 * term/i386/pc/vesafb.c: Likewise.
42504 * term/i386/pc/vga.c: Likewise.
42505 * term/ieee1275/ofconsole.c: Likewise.
42506 * util/biosdisk.c: Likewise.
42507 * util/console.c: Likewise.
42508 * util/genmoddep.c: Likewise.
42509 * util/getroot.c: Likewise.
42510 * util/grub-emu.c: Likewise.
42511 * util/grub-mkdevicemap.c: Likewise.
42512 * util/grub-probe.c: Likewise.
42513 * util/lvm.c: Likewise.
42514 * util/misc.c: Likewise.
42515 * util/raid.c: Likewise.
42516 * util/resolve.c: Likewise.
42517 * util/update-grub.in: Likewise.
42518 * util/update-grub_lib.in: Likewise.
42519 * util/grub.d/00_header.in: Likewise.
42520 * util/grub.d/10_hurd.in: Likewise.
42521 * util/grub.d/10_linux.in: Likewise.
42522 * util/i386/efi/grub-install.in: Likewise.
42523 * util/i386/efi/grub-mkimage.c: Likewise.
42524 * util/i386/pc/grub-install.in: Likewise.
42525 * util/i386/pc/grub-mkimage.c: Likewise.
42526 * util/i386/pc/grub-mkrescue.in: Likewise.
42527 * util/i386/pc/grub-setup.c: Likewise.
42528 * util/i386/pc/misc.c: Likewise.
42529 * util/powerpc/ieee1275/grub-install.in: Likewise.
42530 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42531 * util/powerpc/ieee1275/misc.c: Likewise.
42532 * video/bitmap.c: Likewise.
42533 * video/video.c: Likewise.
42534 * video/i386/pc/vbe.c: Likewise.
42535 * video/i386/pc/vbeblit.c: Likewise.
42536 * video/i386/pc/vbefill.c: Likewise.
42537 * video/i386/pc/vbeutil.c: Likewise.
42538 * video/readers/tga.c: Likewise.
42539
42540 2007-07-02 Robert Millan <rmh@aybabtu.com>
42541
42542 * conf/i386-efi.rmk: Replace obsolete reference to
42543 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42544 with util/getroot.c.
42545 * conf/powerpc-ieee1275.rmk: Likewise.
42546 * conf/sparc64-ieee1275.rmk: Likewise.
42547
42548 * util/grub-emu.c (main): Fix unchecked pointer handling.
42549
42550 2007-07-02 Robert Millan <rmh@aybabtu.com>
42551
42552 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42553 invocation to fail, in order to support partition-less media.
42554
42555 * util/i386/pc/grub-install.in: Likewise.
42556
42557 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42558 which fs or partmap modules are needed (akin to its sister scripts).
42559
42560 Also use grub-probe to get rid of unportable /proc/mounts check.
42561
42562 Print the same informational message that the other scripts do, before
42563 exiting.
42564
42565 2007-06-23 Robert Millan <rmh@aybabtu.com>
42566
42567 * util/update-grub_lib.in (font_path): New function. Determine whether
42568 a font file can be found and, if so, echo the GRUB path to it.
42569
42570 * util/update-grub.in: Handle multiple terminals depending on user
42571 input, platform availability and font file presence. Propagate
42572 variables of our findings to /etc/grub.d/ children.
42573
42574 * util/grub.d/00_header.in: Handle multiple terminals, based on
42575 environment setup by update-grub.
42576
42577 2007-06-23 Robert Millan <rmh@aybabtu.com>
42578
42579 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
42580
42581 2007-06-21 Robert Millan <rmh@aybabtu.com>
42582
42583 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42584 indicate end of data section in kernel image.
42585 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42586 GRUB_KERNEL_MACHINE_DATA_END.
42587
42588 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42589 space for it.
42590 * kern/i386/efi/startup.S: Likewise.
42591
42592 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42593 during image generation. Implement --prefix option to override this
42594 patch.
42595 * util/i386/efi/grub-mkimage.c: Likewise.
42596
42597 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
42598 code to make path relative to its root into a separate function.
42599
42600 * util/i386/pc/grub-install.in: Use newly provided
42601 make_system_path_relative_to_its_root() to convert ${grubdir}, then
42602 pass the result to grub-install --prefix.
42603
42604 2007-06-13 Robert Millan <rmh@aybabtu.com>
42605
42606 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
42607 DEFAULT_DEVICE_MAP.
42608 * util/grub-emu.c: Use above definitions from misc.h instead of
42609 defining them.
42610 * util/grub-mkdevicemap.c: Likewise.
42611 * util/i386/pc/grub-setup.c: Likewise.
42612 * util/grub-probe.c: Likewise.
42613 (probe): Abort with grub_util_error() when either
42614 grub_guess_root_device or grub_util_get_grub_dev fails.
42615
42616 2007-06-12 Robert Millan <rmh@aybabtu.com>
42617
42618 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
42619 "pager" assignment.
42620 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
42621 "pcdata".
42622 * util/grub-probe.c (probe): Likewise for "drive_name".
42623
42624 2007-06-11 Robert Millan <rmh@aybabtu.com>
42625
42626 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
42627 not just the cdrom one.
42628
42629 2007-06-11 Robert Millan <rmh@aybabtu.com>
42630
42631 * util/i386/pc/grub-mkrescue.in: Add "set -e".
42632 Add --pkglibdir=DIR option to override pkglibdir.
42633 Mention --image-type=TYPE in help output.
42634 Fix --grub-mkimage (it was a no-op).
42635 Abort gracefully when no parameter is given.
42636
42637 2007-06-11 Robert Millan <rmh@aybabtu.com>
42638
42639 * util/i386/pc/grub-mkrescue.in: New file.
42640 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
42641 * Makefile.in: Handle bin_SCRIPTS.
42642
42643 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
42644
42645 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
42646 list of video modes.
42647
42648 2007-06-06 Robert Millan <rmh@aybabtu.com>
42649
42650 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
42651 file doesn't exist, or if it is in a filesystem grub can't read.
42652
42653 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
42654 not abort if GRUB_DRIVE could not be defined. Rearrange generated
42655 header comment to fit in 80 columns when the variables are resolved.
42656
42657 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
42658 could be identified by update-grub. Remove redundant check for
42659 unifont.pff existence (since convert_system_path_to_grub_path now
42660 handles that).
42661
42662 2007-06-04 Robert Millan <rmh@aybabtu.com>
42663
42664 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
42665
42666 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
42667
42668 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
42669
42670 2007-06-04 Robert Millan <rmh@aybabtu.com>
42671
42672 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
42673
42674 * include/grub/partition.h: Declare grub_apple_partition_map_init and
42675 grub_apple_partition_map_fini.
42676
42677 * util/biosdisk.c
42678 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
42679 to access >2 TiB disks).
42680
42681 Print disk->total_sectors with %llu instead of %lu, since this
42682 variable is always 64-bit (prevents wrong disk size from being displayed
42683 on either >2 TiB disk or big-endian CPU).
42684
42685 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
42686 into a generic case that supports all (sane) partition maps.
42687
42688 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
42689 breaks big-endian.
42690
42691 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
42692 and grub_apple_partition_map_fini() after that.
42693
42694 2007-06-01 Robert Millan <rmh@aybabtu.com>
42695
42696 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
42697
42698 * util/grub.d/00_header.in: Only enable gfxterm when
42699 convert_system_path_to_grub_path() succeeds.
42700
42701 2007-05-20 Robert Millan <rmh@aybabtu.com>
42702
42703 * util/update-grub_lib.in: New file.
42704 * DISTLIST: Add update-grub_lib.in.
42705 * conf/common.rmk: Generate update-grub_lib and install it in
42706 $(lib_DATA).
42707 * Makefile.in: Add install routine for $(lib_DATA).
42708
42709 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
42710 function provided by update-grub_lib to support arbitrary paths of
42711 unifont.pff.
42712 * util/update-grub.in: Use convert_system_path_to_grub_path() to
42713 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
42714
42715 2007-05-19 Robert Millan <rmh@aybabtu.com>
42716
42717 * commands/i386/cpuid.c: New module.
42718 * DISTLIST: Add it.
42719 * conf/i386-efi.rmk: Enable cpuid.mod.
42720 * conf/i386-pc.rmk: Likewise.
42721
42722 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42723
42724 * kern/disk.c (grub_disk_read): Check return value of
42725 grub_realloc().
42726
42727 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42728
42729 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
42730 arrays.
42731 * disk/raid.c (grub_raid_open): Likewise.
42732
42733 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42734
42735 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
42736 stack instead of on the heap.
42737
42738 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
42739 before doing a read on it.
42740
42741 * configure.ac: Only use -fno-stack-protector for the target
42742 environment.
42743
42744 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42745
42746 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
42747 __attribute_ ((unused)) to mode_type argument.
42748
42749 * util/getroot.c (grub_guess_root_device): Fix #endif.
42750
42751 * kern/misc.c (memcmp): Fix prototype.
42752
42753 * include/grub/partition.h [GRUB_UTIL]
42754 (grub_gpt_partition_map_init): Add prototype.
42755 (grub_gpt_partition_map_fini): Likewise.
42756
42757 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
42758 at the right place.
42759
42760 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
42761 (grub_fat_read_data): Likewise.
42762 (grub_fat_find_dir): Likewise.
42763
42764 * font/manager.c (find_glyph): Make table a const.
42765 (grub_font_get_glyph): Remove bitmap from if statement.
42766
42767 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
42768
42769 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
42770 code, first search for device in /dev/mapper, then in /dev.
42771 (grub_util_get_grub_dev): New function.
42772 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
42773 prototype.
42774 * util/grub-probe.c (probe): Remove check for RAID, call
42775 grub_util_get_grub_dev() instead of
42776 grub_util_biosdisk_get_grub_dev().
42777 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
42778 grub_util_biosdisk_get_grub_dev().
42779 * util/i386/pc/grub-setup.c (main): Likewise.
42780
42781 2007-05-16 Robert Millan <rmh@aybabtu.com>
42782
42783 * DISTLIST: Update for the latest changes.
42784 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
42785 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
42786 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
42787 grub/util/biosdisk.h.
42788 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
42789 grub/util/biosdisk.h.
42790
42791 2007-05-16 Robert Millan <rmh@aybabtu.com>
42792
42793 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
42794
42795 2007-05-16 Robert Millan <rmh@aybabtu.com>
42796
42797 * util/i386/efi/grub-install.in: New.
42798 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
42799 newly added grub-install.
42800 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
42801 include.
42802 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
42803 grub/util/biosdisk.h.
42804 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
42805 grub/util/biosdisk.h.
42806
42807 2007-05-16 Robert Millan <rmh@aybabtu.com>
42808
42809 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
42810 * include/grub/util/biosdisk.h: ... here.
42811 * util/i386/pc/biosdisk.c: Moved to ...
42812 * util/biosdisk.c: ... here.
42813 * util/i386/pc/getroot.c: Moved to ...
42814 * util/getroot.c: ... here.
42815 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
42816 * util/grub-mkdevicemap.c: ... here.
42817 * util/i386/pc/grub-probe.c: Moved to ...
42818 * util/grub-probe.c: ... here.
42819
42820 2007-05-15 Robert Millan <rmh@aybabtu.com>
42821
42822 * util/update-grub.in: Remove duplicated line in grub.cfg header
42823 message.
42824
42825 2007-05-13 Robert Millan <rmh@aybabtu.com>
42826
42827 * util/update-grub.in: Fix a few assumptions about the devices holding
42828 /, /boot and /boot/grub being the same.
42829 * util/grub.d/00_header.in: Likewise.
42830 * util/grub.d/10_hurd.in: Likewise.
42831 * util/grub.d/10_linux.in: Likewise.
42832
42833 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
42834 patterns. Use that to define the `.old' suffix as older than `'.
42835
42836 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
42837
42838 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
42839 the grub.cfg header message.
42840
42841 2007-05-11 Robert Millan <rmh@aybabtu.com>
42842
42843 * util/update-grub.in: Create device.map if it doesn't already exist,
42844 before attempting to run grub-probe.
42845 Check for grub-probe and grub-mkdevicemap with the same code
42846 grub-install is using.
42847 Remove test mode.
42848
42849 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
42850
42851 * Makefile.in: Add the datarootdir autoconf variable.
42852
42853 2007-05-09 Robert Millan <rmh@aybabtu.com>
42854
42855 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
42856 fail gracefully if dev->disk->partition == NULL.
42857
42858 2007-05-07 Robert Millan <rmh@aybabtu.com>
42859
42860 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
42861 determine partition map module.
42862 * util/i386/pc/grub-install.in: Use this feature to decide which
42863 partition module to load, instead of hardcoding pc and gpt.
42864
42865 2007-05-07 Robert Millan <rmh@aybabtu.com>
42866
42867 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
42868 source directory differs from build directory.
42869
42870 2007-05-05 Robert Millan <rmh@aybabtu.com>
42871
42872 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
42873 initialisation.
42874
42875 2007-05-05 Robert Millan <rmh@aybabtu.com>
42876
42877 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
42878
42879 2007-05-05 Robert Millan <rmh@aybabtu.com>
42880
42881 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
42882 command-line arguments via ${GRUB_CMDLINE_LINUX}.
42883
42884 2007-05-05 Robert Millan <rmh@aybabtu.com>
42885
42886 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
42887 (grub_probe_SOURCES): Likewise.
42888 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
42889 GPT and initialize dos_part and bsd_part accordingly.
42890 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
42891 install_bsd_part.
42892 (main): Activate gpt module for use during partition identification,
42893 and deactivate it afterwards.
42894 * util/i386/pc/grub-install.in: Add gpt module to core.img.
42895 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
42896 partition identification, and deactivate it afterwards.
42897
42898 2007-05-05 Robert Millan <rmh@aybabtu.com>
42899
42900 * term/i386/pc/console.c (grub_console_fini): Call
42901 grub_term_set_current() before grub_term_unregister().
42902
42903 2007-05-04 Robert Millan <rmh@aybabtu.com>
42904
42905 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
42906 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
42907 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
42908 and update-grub_DATA.
42909 * conf/common.rmk: Build and install update-grub components.
42910 * conf/common.mk: Regenerate.
42911 * util/update-grub.in: New. Core of update-grub.
42912 * util/grub.d/00_header.in: New. Generates grub.cfg header.
42913 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
42914 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
42915 * util/grub.d/README: New. Document grub.d directory layout.
42916
42917 2007-05-01 Robert Millan <rmh@aybabtu.com>
42918
42919 * util/grub-emu.c: Move initialization functions
42920 grub_util_biosdisk_init() and grub_init_all() before
42921 grub_util_biosdisk_get_grub_dev(), which relies on them.
42922
42923 2007-04-19 Robert Millan <rmh@aybabtu.com>
42924
42925 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
42926 it is used later.
42927
42928 2007-04-18 Jerone Young <jerone@gmail.com>
42929
42930 * kernel/elf.c: Add missing parenthesis for conditional statement
42931 stanza.
42932
42933 2007-04-10 Jerone Young <jerone@gmail.com>
42934
42935 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
42936 continue on and look for device node with real device name.
42937
42938 2007-04-10 Jerone Young <jerone@gmail.com>
42939
42940 * configure.ac: Add argument for autoconf to use transformation
42941 ability.
42942 * Makefile.in: Add autoconf package transformation code.
42943 * util/i386/pc/grub-install.in: Likewise.
42944 * util/powerpc/ieee1275/grub-install.in: Likewise.
42945
42946 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42947
42948 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
42949 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
42950 (EXT2_REVISION): Likewise.
42951 (EXT2_INODE_SIZE): Likewise.
42952 (struct grub_ext2_block_group): Added a missing member
42953 "used_dirs".
42954 (grub_ext2_read_inode): Divide by the inode size in a superblock
42955 instead of 128 to obtain INODES_PER_BLOCK.
42956 Use the macro EXT2_INODE_SIZE instead of directly using
42957 SBLOCK->INODE_SIZE.
42958
42959 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42960
42961 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
42962 superblock instead of the structure size to compute an
42963 offset. This fixes the problem that GRUB could not read a
42964 filesystem when inode size is different from 128-byte.
42965
42966 2007-03-05 Marco Gerards <marco@gnu.org>
42967
42968 * normal/main.c (read_config_file): When "menu" is not set, create
42969 an initial context.
42970
42971 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42972
42973 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
42974 (HEAP_LIMIT): New macro.
42975 (grub_claim_heap): Claim memory up to `heaplimit'.
42976
42977 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42978
42979 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
42980 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
42981 (_start): Likewise.
42982 (grub_arch_modules_addr): Return address after `_end'.
42983 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
42984 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
42985 (add_segments): Calculate `_end' from phdr size and location.
42986 (ALIGN_UP): Moved to ...
42987 * include/grub/misc.h: here.
42988 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42989 New macro.
42990 (GRUB_IEEE1275_MODULE_BASE): Removed.
42991
42992 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42993
42994 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
42995 loop boundary.
42996
42997 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42998
42999 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43000 All users updated.
43001 (grub_elf64_load_hook_t): Likewise.
43002 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43003 debug output.
43004
43005 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43006
43007 * kern/mm.c: Update copyright.
43008 (grub_mm_debug): Correct syntax error.
43009 (grub_mm_dump_free): New function.
43010 (grub_debug_free): Call `grub_free'.
43011 * include/grub/mm.h: Update copyright.
43012 (grub_mm_dump_free): Add declaration.
43013
43014 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43015
43016 * include/grub/ieee1275/ieee1275.h: Update copyright.
43017 * kern/powerpc/ieee1275/init.c: Likewise.
43018 * kern/powerpc/ieee1275/openfw.c: Likewise.
43019
43020 * loader/powerpc/ieee1275/linux.c: Likewise.
43021 * include/grub/elfload.h: Likewise.
43022 * kern/elf.c: Likewise.
43023 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43024 callers.
43025 (grub_elf64_load): Likewise.
43026 (grub_elf32_load_segment): Move to a nested function.
43027 (grub_elf64_load_segment): Likewise.
43028
43029 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43030
43031 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43032 prototype.
43033 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43034 (grub_heap_len): Likewise.
43035 (HEAP_SIZE): New macro.
43036 (grub_claim_heap): New function.
43037 (grub_machine_init): Don't claim heap directly. Call
43038 `grub_claim_heap'.
43039 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43040 (grub_available_iterate): New function.
43041
43042 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43043
43044 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43045 * configure.ac: Use it for testing the HOST and TARGET compilers.
43046
43047 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43048
43049 * Makefile.in (enable_grub_emu): New variable.
43050 * configure.ac (--enable-grub-emu): New option.
43051 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43052 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43053 * conf/i386-pc.rmk: Likewise.
43054 * conf/powerpc-ieee1275.rmk: Likewise.
43055 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43056
43057 2006-12-12 Marco Gerards <marco@gnu.org>
43058
43059 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43060
43061 * kern/env.c (grub_env_unset): Don't free the member `value' when
43062 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43063 pointer.
43064
43065 * normal/main.c (current_menu): Removed.
43066 (free_menu): Unset the `menu' environment variable.
43067 (grub_normal_menu_addentry): Make use of the environment variable
43068 `menu', instead of using the global `current_menu'. Allocate
43069 memory for the sourcecode of this entry.
43070 (read_config_file): New argument `nested', changed all callers.
43071 Only in the case of a new context, initialize a new menu. Set the
43072 `menu' environment variable.
43073 (grub_normal_execute): Don't set and unset the environment
43074 variable `menu' here anymore. Only free the menu when leaving the
43075 context.
43076
43077 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43078 leak.
43079
43080 2006-12-11 Marco Gerards <marco@gnu.org>
43081
43082 * normal/menu_entry.c (run): Fix off by one bug so the last line
43083 is executed. Move the loader check to outside the loop.
43084
43085 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43086
43087 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43088
43089 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43090
43091 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43092 the number of sectors. Reported by Andrey Shuvikov
43093 <mr_hyro@yahoo.com>.
43094
43095 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43096
43097 * kern/disk.c (grub_disk_read): When there is a read error, always
43098 try to read only the necessary data.
43099
43100 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43101 disk/raid.c.
43102 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43103 prototype.
43104 [GRUB_UTIL] (grub_raid_fini): Likewise.
43105 [GRUB_UTIL] (grub_lvm_init): Likewise.
43106 [GRUB_UTIL] (grub_lvm_fini): Likewise.
43107 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43108 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43109 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43110 and grub_raid_fini().
43111
43112 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43113
43114 * include/grub/types.h (__unused): Rename to UNUSED.
43115 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43116 (grub_elf64_size): Likewise.
43117
43118 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43119
43120 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43121 grub_error_push and grub_error_pop in the error-handling path.
43122 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43123 length.
43124
43125 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43126
43127 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43128 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43130 (kernel_elf_SOURCES): Likewise.
43131 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43132 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43133 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43134 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43135 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43136 (elf_mod_SOURCES): New variable.
43137 (elf_mod_CFLAGS): Likewise.
43138 (elf_mod_LDFLAGS): Likewise.
43139 * include/grub/types.h (__unused): New macro.
43140 * include/grub/elfload.h: New file.
43141 * kern/elf.c: Likewise.
43142 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43143 (ELF32_LOADMASK): New macro.
43144 (ELF64_LOADMASK): Likewise.
43145 (vmlinux): Removed.
43146 (grub_linux_load32): New function.
43147 (grub_linux_load64): Likewise.
43148 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43149 Use grub_elf_t instead of grub_file_t.
43150
43151 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43152
43153 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43154 `catch_result' to struct set_color_args.
43155
43156 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43157
43158 * normal/menu.c: Include grub/script.h.
43159 * normal/menu_entry.c: Likewise.
43160 * include/grub/normal.h: Do not include grub/script.h.
43161
43162 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43163
43164 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43165
43166 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43167
43168 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43169 disk.
43170 (grub_disk_close): Print debug messages when closing a disk.
43171 (grub_disk_read): Print debug messages when disk read fails.
43172 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43173 filesystem type.
43174 * kern/partition.c: Include misc.h.
43175 (grub_partition_iterate): Print debug messages when detecting
43176 partition type.
43177
43178 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43179
43180 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43181 is negative.
43182 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43183
43184 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43185
43186 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43187 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43188
43189 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43190
43191 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43192 instead of sizeof(lv). Patch by Michael Guntsche.
43193
43194 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43195
43196 * disk/lvm.c: Rename VGS to VG_LIST.
43197 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43198 (grub_lvm_open): Likewise.
43199 Thanks to Michael Guntsche for finding this bug.
43200
43201 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43202
43203 * configure.ac (AC_INIT): Bumped to 1.95.
43204
43205 2006-10-14 Robert Millan <rmh@aybabtu.com>
43206
43207 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43208 with "/dev/.static/dev/md".
43209
43210 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43211
43212 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43213 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43214 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43215 DRIVE_NAME are always freed.
43216
43217 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43218 DOS_PART, as a DOS partition is counted from one instead of zero
43219 now. Reported by Robert Millan.
43220
43221 2006-10-14 Robert Millan <rmh@aybabtu.com>
43222
43223 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43224 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43225 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43226 string returned by grub_guess_root_device.
43227 * util/i386/pc/grub-setup.c: Likewise.
43228 * util/i386/pc/grub-probefs.c: Likewise.
43229
43230 * util/i386/pc/grub-probefs.c: Rename to ...
43231 * util/i386/pc/grub-probe.c: ... this.
43232 * DISTLIST: Remove grub-probefs, add grub-probe.
43233 * conf/i386-efi.rmk: Likewise.
43234 * conf/i386-pc.rmk: Likewise.
43235 * util/i386/pc/grub-install.in: Likewise.
43236
43237 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43238 choose which information we want to print.
43239
43240 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43241
43242 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43243 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43244 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43245 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43246 video/readers/tga.c and video/i386/pc/vbeutil.c.
43247
43248 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43249
43250 Added support for RAID and LVM.
43251
43252 * disk/lvm.c: New file.
43253 * disk/raid.c: Likewise.
43254 * include/grub/lvm.h: Likewise.
43255 * include/grub/raid.h: Likewise.
43256 * include/grub/util/lvm.h: Likewise.
43257 * include/grub/util/raid.h: Likewise.
43258 * util/lvm.c: Likewise.
43259 * util/raid.c: Likewise.
43260
43261 * include/grub/disk.h (grub_disk_dev_id): Add
43262 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43263 (grub_disk_get_size): New prototype.
43264 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43265 returns a partition.
43266 (grub_disk_get_size): New function.
43267
43268 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43269 verbatim if grub_install_dos_part is -2.
43270
43271 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43272 and LVM devices.
43273
43274 * util/i386/pc/grub-setup.c (setup): New argument
43275 MUST_EMBED. Force embedding of GRUB when the argument is
43276 true. Close FILE before returning.
43277 (main): Add support for RAID and LVM.
43278
43279 * conf/common.rmk: Add RAID and LVM modules.
43280 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43281 util/lvm.c.
43282 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43283
43284 * kern/misc.c (grub_strstr): New function.
43285 * include/grub/misc.h (grub_strstr): New prototype.
43286
43287 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43288
43289 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43290
43291 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43292
43293 * kern/misc.c (grub_strtoull): Guess the base only if not
43294 specified.
43295
43296 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
43297
43298 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43299 PowerMac support.
43300
43301 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
43302
43303 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43304
43305 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43306 Remove `flags' argument. All callers changed.
43307 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43308 (IEEE1275_IHANDLE_INVALID): New variable.
43309 (IEEE1275_CELL_INVALID): New variable.
43310 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43311 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43312 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43313 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43314 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43315 codes from Open Firmware. All callers updated.
43316 (grub_ieee1275_next_property): Directly return Open Firmware return
43317 code.
43318 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43319 Standardize error checking from `grub_ieee1275_get_property'.
43320 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43321 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43322
43323 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
43324
43325 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43326 `instance_to_package_args' to `instance_to_path_args'.
43327
43328 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43329 `grub_ieee1275_chosen'.
43330
43331 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43332 `grub_ieee1275_interpret'.
43333
43334 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
43335
43336 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43337
43338 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
43339
43340 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43341 (__cmpdi): Likewise.
43342
43343 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43344 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43345 `grub_ssize_t'.
43346
43347 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
43348
43349 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43350 to type `grub_ssize_t'.
43351 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43352
43353 2006-09-22 Marco Gerards <marco@gnu.org>
43354
43355 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43356 newlines.
43357
43358 2006-09-22 Marco Gerards <marco@gnu.org>
43359
43360 * commands/echo.c: New file.
43361
43362 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43363
43364 * conf/common.rmk (echo_mod_SOURCES): New variable.
43365 (echo_mod_CFLAGS): Likewise.
43366 (echo_mod_LDFLAGS): Likewise.
43367
43368 2006-09-22 Marco Gerards <marco@gnu.org>
43369
43370 * normal/main.c (get_line): Malloc memory instead of using
43371 preallocated memory. Removed the arguments `cmdline' and
43372 `max_len'. Updated all callers.
43373
43374 2006-09-22 Marco Gerards <marco@gnu.org>
43375
43376 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43377 (normal_mod_DEPENDENCIES): Likewise.
43378
43379 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43380 (normal_mod_DEPENDENCIES): Likewise.
43381
43382 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43383
43384 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
43385
43386 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43387 programs.
43388 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43389 (normal_mod_DEPENDENCIES): Likewise.
43390 * conf/i386-pc.mk: Regenerate.
43391 * conf/i386-efi.mk: Likewise
43392 * conf/common.mk: Likewise.
43393 * conf/powerpc-ieee1275.mk: Likewise.
43394 * conf/sparc64-ieee1275.mk: Likewise.
43395
43396 2006-09-22 Robert Millan <rmh@aybabtu.com>
43397
43398 Sync with i386 version.
43399 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43400 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43401
43402 2006-09-21 Robert Millan <rmh@aybabtu.com>
43403
43404 Import from GRUB Legacy (lib/device.c):
43405 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43406 (init_device_map) [__linux__]: Add support for I2O devices.
43407
43408 2006-09-14 Marco Gerards <marco@gnu.org>
43409
43410 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43411 `-melf_i386'.
43412
43413 2006-09-14 Robert Millan <rmh@aybabtu.com>
43414
43415 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43416 /boot/grub/*.lst.
43417
43418 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
43419
43420 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43421 before adding it to device.map.
43422
43423 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
43424
43425 * genmk.rb: Let GCC generate dependencies the first time it
43426 compiles a file; using the -MD option.
43427 * conf/common.mk: Regenerate.
43428 * conf/i386-pc.mk: Likewise.
43429 * conf/i386-efi.mk: Likewise.
43430 * conf/powerpc-ieee1275.mk: Likewise.
43431 * conf/sparc64-ieee1275.mk: Likewise.
43432
43433 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43434
43435 Move the prototypes of grub_setjmp and grub_longjmp to
43436 cpu/setjmp.h, so that each architecture may specify different
43437 attributes.
43438
43439 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43440 (grub_longjmp): Likewise.
43441 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43442 (grub_longjmp): Likewise.
43443 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43444 (grub_longjmp): Likewise.
43445
43446 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43447 [!GRUB_UTIL] (grub_longjmp): Removed.
43448
43449 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43450
43451 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43452 "color!" method does not return any value.
43453
43454 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43455
43456 * include/grub/bitmap.h: New file.
43457
43458 * include/grub/i386/pc/vbeutil.h: Likewise.
43459
43460 * video/bitmap.c: Likewise.
43461
43462 * video/readers/tga.c: Likewise.
43463
43464 * video/i386/pc/vbeutil.c: Likewise.
43465
43466 * commands/videotest.c: Code cleanup and updated to reflect to new
43467 video API.
43468
43469 * term/gfxterm.c: Likewise.
43470
43471 * video/video.c: Likewise.
43472
43473 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43474 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43475 (bitmap_mod_SOURCES): New entry.
43476 (bitmap_mod_CFLAGS): Likewise.
43477 (bitmap_mod_LDFLAGS): Likewise.
43478 (tga_mod_SOURCES): Likewise.
43479 (tga_mod_CFLAGS): Likewise.
43480 (tga_mod_LDFLAGS): Likewise.
43481
43482 * include/grub/video.h (grub_video_blit_operators): New enum type.
43483 (grub_video_render_target): Changed as forward declaration and moved
43484 actual definition to be video driver specific.
43485 (grub_video_adapter.blit_bitmap): Added blitting operator.
43486 (grub_video_adapter.blit_render_target): Likewise.
43487 (grub_video_blit_bitmap): Likewise.
43488 (grub_video_blit_render_target): Likewise.
43489
43490 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43491 driver specific render target definition.
43492 (grub_video_vbe_map_rgba): Added driver internal helper.
43493 (grub_video_vbe_unmap_color): Updated to use
43494 grub_video_i386_vbeblit_info.
43495 (grub_video_vbe_get_video_ptr): Likewise.
43496
43497 * include/grub/i386/pc/vbeblit.h
43498 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43499 grub_video_i386_vbeblit_info.
43500 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43501 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43502 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43503 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43504 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43505 (grub_video_i386_vbeblit_index_index): Likewise.
43506 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43507 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43508 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43509 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43510 operator.
43511 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43512 operator.
43513
43514 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43515 include/grub/i386/pc/vbeblit.h.
43516
43517 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43518 Updated to use grub_video_i386_vbeblit_info.
43519 (grub_video_i386_vbefill_R8G8B8): Likewise.
43520 (grub_video_i386_vbefill_index): Likewise.
43521 (grub_video_i386_vbefill): Added generic filler.
43522
43523 * video/i386/pc/vbefill.c: Updated to reflect changes on
43524 include/grub/i386/pc/vbefill.h.
43525
43526 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43527 grub_video_i386_vbeblit_info.
43528 (grub_video_vbe_unmap_color): Likewise.
43529 (grub_video_vbe_blit_glyph): Likewise.
43530 (grub_video_vbe_scroll): Likewise.
43531 (grub_video_vbe_draw_pixel): Removed function.
43532 (grub_video_vbe_get_pixel): Likewise.
43533 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43534 updated code to use it.
43535 (common_blitter): Added common blitter for render target and bitmap.
43536 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43537 (grub_video_vbe_blit_render_target): Likewise.
43538
43539 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
43540
43541 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43542 is in text mode if there is no console control protocol instance
43543 available.
43544
43545 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43546
43547 * include/grub/video.h: Code cleanup.
43548
43549 * include/grub/i386/pc/vbe.h: Likewise.
43550
43551 * video/i386/pc/vbe.c: Likewise.
43552
43553 * video/i386/pc/vbeblit.c: Likewise.
43554
43555 * video/i386/pc/vbefill.c: Likewise.
43556
43557 * video/video.c: Likewise. Also added more comments.
43558
43559 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43560
43561 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43562 (struct grub_biosdisk_dap): Likewise.
43563
43564 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43565 linkage settings for all functions.
43566
43567 2006-07-12 Marco Gerards <marco@gnu.org>
43568
43569 * configure.ac (--enable-mm-debug): Fix typo.
43570
43571 * genkernsyms.sh.in: Use proper quoting for `CC'.
43572
43573 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43574
43575 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43576 (normal_mod_ASFLAGS): Remove "-m32".
43577
43578 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43579
43580 * util/misc.c: Include config.h.
43581 [!HAVE_MEMALIGN]: Do not include malloc.h.
43582 (grub_memalign): Use posix_memalign, if present. Then, use
43583 memalign, if present. Otherwise, emit an error.
43584
43585 * util/grub-emu.c: Do not include malloc.h.
43586
43587 * include/grub/util/misc.h: Include unistd.h. This is required for
43588 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43589 D. Eades III <hde@foobar-qux.org>.
43590
43591 * configure.ac (AC_GNU_SOURCE): Added.
43592 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43593 type.
43594
43595 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43596
43597 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
43598 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
43599
43600 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
43601
43602 * include/grub/types.h (grub_host_addr_t): Rename to
43603 grub_target_addr_t.
43604 (grub_host_off_t): Rename to grub_target_off_t.
43605 (grub_host_size_t): Rename to grub_target_size_t.
43606 (grub_host_ssize_t): Rename to grub_target_ssize_t.
43607 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
43608
43609 * include/grub/kernel.h (struct grub_module_header): Change type
43610 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
43611 (grub_module_info): Likewise.
43612
43613 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43614
43615 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
43616 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
43617 Velazquez <jesus.velazquez@gmail.com>.
43618
43619 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43620
43621 Count partitions from 1 instead of 0 in the string representation
43622 of partitions. Still use 0-based internally.
43623
43624 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
43625 (sun_partition_map_iterate): Use grub_partition_t instead of
43626 struct grub_partition *. Cast DESC->START_CYLINDER to
43627 grub_uint64_t after converting the endian.
43628 (sun_partition_map_probe): Subtract 1 for PARTNUM.
43629 (sun_partition_map_get_name): Add 1 to P->INDEX.
43630
43631 * partmap/pc.c (grub_partition_parse): Subtract 1 for
43632 PCDATA->DOS_PART.
43633 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
43634
43635 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
43636 zero instead of one.
43637 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
43638 (gpt_partition_map_get_name): Add 1 into P->INDEX.
43639
43640 * partmap/apple.c (apple_partition_map_iterate): Change the type
43641 of POS to unsigned.
43642 (apple_partition_map_probe): Subtract 1 for PARTNUM.
43643 (apple_partition_map_get_name): Add 1 into P->INDEX.
43644
43645 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
43646 of POS to unsigned.
43647 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
43648 calculate the offset of a partition.
43649 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
43650 (amiga_partition_map_get_name): Add 1 into P->INDEX.
43651
43652 * partmap/acorn.c (acorn_partition_map_find): Change the type of
43653 SECTOR to grub_disk_addr_t.
43654 (acorn_partition_map_iterate): Likewise.
43655 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
43656 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
43657 top.
43658 (acorn_partition_map_get_name): Add 1 into P->INDEX.
43659
43660 * kern/i386/pc/init.c (make_install_device): Add 1 into
43661 GRUB_INSTALL_DOS_PART.
43662
43663 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
43664 conditional.
43665
43666 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43667
43668 Clean up the code to support 64-bit addressing in disks and
43669 files. This change is not enough for filesystems yet.
43670
43671 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
43672 type of "start" to grub_uint64_t.
43673 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
43674 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
43675 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
43676 convert addresses.
43677
43678 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
43679 to grub_disk_addr_t.
43680
43681 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
43682 string.
43683
43684 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43685
43686 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
43687 to char *.
43688
43689 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
43690
43691 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
43692
43693 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
43694
43695 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
43696 to grub_off_t, to detect an error from grub_file_seek.
43697 (grub_multiboot_load_elf32): Likewise.
43698
43699 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
43700 maximum unsigned long value when an overflow is detected.
43701 (grub_strtoull): New function.
43702 (grub_divmod64): Likewise.
43703 (grub_lltoa): use grub_divmod64.
43704
43705 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
43706 grub_disk_addr_t.
43707 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
43708 the pointer to next character. Use grub_strtoull instead of
43709 grub_strtoul.
43710 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
43711 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
43712 respectively.
43713
43714 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
43715 return value is signed.
43716 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
43717 test if OFFSET is less than zero, as OFFSET is unsigned now.
43718
43719 * kern/disk.c (struct grub_disk_cache): Change the type of
43720 "sector" to grub_disk_addr_t.
43721 (grub_disk_cache_get_index): Change the type of SECTOR to
43722 grub_disk_addr_t. Calculate the hash with SECTOR casted to
43723 unsigned after shifting.
43724 (grub_disk_cache_invalidate): Change the type of SECTOR to
43725 grub_disk_addr_t.
43726 (grub_disk_cache_unlock): Likewise.
43727 (grub_disk_cache_store): Likewise.
43728 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
43729 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
43730 grub_disk_addr_t and grub_uint64_t, respectively.
43731 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
43732 body, as the value of OFFSET is tweaked by
43733 grub_disk_check_range. Change the types of START_SECTOR, LEN and
43734 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
43735 respectively.
43736 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
43737 body, as the value of OFFSET is tweaked by
43738 grub_disk_check_range. Change the types of LEN and N to
43739 grub_size_t.
43740
43741 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
43742 and "saved_offset" to grub_off_t.
43743 (test_header): Cast BUF to char *.
43744 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
43745 to char *.
43746 (grub_gzio_read): Change the types of OFFSET and SIZE to
43747 grub_off_t and grub_size_t, respectively.
43748
43749 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
43750 Removed.
43751 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
43752 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
43753 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
43754 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
43755 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
43756
43757 * include/grub/types.h (grub_off_t): Unconditionally set to
43758 grub_uint64_t.
43759 (grub_disk_addr_t): Changed to grub_uint64_t.
43760
43761 * include/grub/partition.h (struct grub_partition): Change the
43762 types of "start", "len" and "offset" to grub_disk_addr_t,
43763 grub_uint64_t and grub_disk_addr_t, respectively.
43764 (grub_partition_get_start): Return grub_disk_addr_t.
43765 (grub_partition_get_len): Return grub_uint64_t.
43766
43767 * include/grub/misc.h (grub_strtoull): New prototype.
43768 (grub_divmod64): Likewise.
43769
43770 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
43771 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
43772 grub_off_t, respectively.
43773 All callers and references changed.
43774
43775 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
43776 grub_size_t in "read".
43777 All callers and references changed.
43778
43779 * include/grub/file.h (struct grub_file): Change the types of
43780 "offset" and "size" to grub_off_t and grub_off_t,
43781 respectively. Change the type of SECTOR to grub_disk_addr_t in
43782 "read_hook".
43783 (grub_file_read): Change the type of LEN to grub_size_t.
43784 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
43785 grub_off_t.
43786 (grub_file_size): Return grub_off_t.
43787 (grub_file_tell): Likewise.
43788 All callers and references changed.
43789
43790 * include/grub/disk.h (struct grub_disk_dev): Change the types of
43791 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
43792 "write".
43793 (struct grub_disk): Change the type of "total_sectors" to
43794 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
43795 "read_hook".
43796 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
43797 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
43798 (grub_disk_write): Likewise.
43799 All callers and references changed.
43800
43801 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
43802 char * for grub_strncmp to silence gcc.
43803 (grub_iso9660_mount): Likewise.
43804 (grub_iso9660_mount): Likewise.
43805 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
43806 return statement.
43807 (grub_iso9660_iterate_dir): Likewise.
43808 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
43809
43810 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
43811 LEN to grub_disk_addr_t and grub_size_t, respectively.
43812
43813 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43814
43815 * fs/jfs.c (grub_jfs_read_file): Likewise.
43816
43817 * fs/minix.c (grub_jfs_read_file): Likewise.
43818
43819 * fs/sfs.c (grub_jfs_read_file): Likewise.
43820
43821 * fs/ufs.c (grub_jfs_read_file): Likewise.
43822
43823 * fs/xfs.c (grub_jfs_read_file): Likewise.
43824
43825 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
43826 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
43827 respectively.
43828
43829 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
43830 BLKNR to -1 instead of returning GRUB_ERRNO.
43831 (grub_ext2_read_file): Change the types of SECTOR and
43832 LEN to grub_disk_addr_t and grub_size_t, respectively.
43833
43834 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
43835 LEN to grub_disk_addr_t and grub_size_t, respectively.
43836
43837 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
43838 grub_file_read.
43839
43840 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
43841 string. Do not cast SECTOR explicitly.
43842
43843 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
43844 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
43845 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
43846 grub_disk_addr_t and grub_size_t, respectively. If the sector is
43847 over 2TB and LBA mode is not supported, raise an error.
43848 (get_safe_sectors): New function.
43849 (grub_biosdisk_read): Use get_safe_sectors.
43850 (grub_biosdisk_write): Likewise.
43851
43852 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
43853 (grub_efidisk_write): Likewise.
43854
43855 * disk/loopback.c (delete_loopback): Cosmetic changes.
43856 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
43857 correctly.
43858 (grub_loopback_open): Likewise.
43859 (grub_loopback_read): Likewise. Also, change the type of POS to
43860 grub_off_t, and fix the usage of grub_memset.
43861
43862 * commands/i386/pc/play.c: Include grub/machine/time.h.
43863
43864 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
43865 print FILE->SIZE.
43866
43867 * commands/configfile.c: Include grub/env.h.
43868
43869 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
43870 GRUB_ERRNO directly instead. Change the type of POS to
43871 grub_off_t. Follow the coding standard.
43872
43873 * commands/blocklist.c: Include grub/partition.h.
43874 (grub_cmd_blocklist): Return an error if the underlying device is
43875 not a disk. Take the starting sector of a partition into account,
43876 if a partition is used.
43877
43878 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
43879 a length field.
43880 (lba_mode): Support 64-bit addresses.
43881 (chs_mode): Likewise.
43882 (copy_buffer): Adapted to the new offsets of a length field and a
43883 segment field.
43884 (blocklist_default_start): Allocate 64-bit space.
43885
43886 * boot/i386/pc/boot.S (force_lba): Removed.
43887 (boot_drive): Moved to under KERNEL_SECTOR.
43888 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
43889 space.
43890 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
43891 is useless.
43892 (lba_mode): Refactored to support a 64-bit address. More size
43893 optimization.
43894 (setup_sectors): Likewise.
43895
43896 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43897
43898 * DISTLIST: Added include/grub/i386/linux.h. Removed
43899 include/grub/i386/pc/linux.h
43900
43901 * configure.ac (AC_INIT): Bumped to 1.94.
43902
43903 * config.guess: Updated from gnulib.
43904 * config.sub: Likewise.
43905 * install-sh: Likewise.
43906 * mkinstalldirs: Likewise.
43907
43908 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43909
43910 * conf/common.rmk (grub_modules_init.lst): Depended on
43911 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
43912 MODSRCFILES.
43913
43914 * genmk.rb (PModule::rule): Reverted the previous change.
43915
43916 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43917
43918 * conf/common.rmk (grub_modules_init.lst): Depends on
43919 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
43920 that the target does not exist before producing.
43921 (grub_modules_init.h): Remove the target before generating.
43922 (grub_emu_init.c): Likewise.
43923
43924 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
43925
43926 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
43927
43928 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
43929 for the target-specific tests. Make sure that we also have the
43930 up-to-date target variables for those tests.
43931
43932 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43933
43934 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
43935 (PModule::rule): Likewise.
43936
43937 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43938
43939 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
43940 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
43941 target-specific flags should be prefixed.
43942 (PModule::rule): Likewise.
43943
43944 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
43945
43946 * configure.ac (CMP): Check if cmp is available explicitly.
43947
43948 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
43949
43950 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
43951 (target_cpu): New variable.
43952 (pkglibdir): Use target_cpu instead of host_cpu.
43953
43954 * util/i386/pc/grub-install.in (host_cpu): Removed.
43955 (target_cpu): New variable.
43956 (pkglibdir): Use target_cpu instead of host_cpu.
43957
43958 * util/genmoddep.c: Removed.
43959
43960 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
43961 instead of GRUB_HOST_SIZEOF_VOID_P.
43962 * kern/dl.c: Likewise.
43963
43964 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
43965 ...
43966 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43967 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43968 (GRUB_TARGET_SIZEOF_LONG): ... this.
43969 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43970 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43971 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43972 to ...
43973 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43974 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43975 (GRUB_TARGET_SIZEOF_LONG): ... this.
43976 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43977 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43978 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43979 to ...
43980 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43981 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43982 (GRUB_TARGET_SIZEOF_LONG): ... this.
43983 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43984 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43985
43986 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
43987 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
43988 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
43989 instead of GRUB_HOST_SIZEOF_LONG.
43990 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
43991 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
43992 GRUB_CPU_WORDS_BIGENDIAN.
43993 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
43994 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
43995 grub_host_ssize_t.
43996
43997 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
43998 (genmoddep_SOURCES): Likewise.
43999 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44000 (genmoddep_SOURCES): Likewise.
44001 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44002 (genmoddep_SOURCES): Likewise.
44003 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44004 Likewise.
44005 (genmoddep_SOURCES): Likewise.
44006
44007 * genmoddep.awk: New file.
44008
44009 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44010 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44011 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44012 (PModule::rule): Likewise.
44013 (Program::rule): Likewise.
44014 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44015 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44016 respectively.
44017
44018 * configure.ac: Rewritten intensively to use host and target
44019 instead of build and host, respectively.
44020
44021 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44022 (host_cpu): Removed.
44023 (target_cpu): New variable.
44024 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44025 (BUILD_CC): Removed.
44026 (BUILD_CFLAGS): Likewise.
44027 (BUILD_CPPFLAGS): Likewise.
44028 (TARGET_CC): New variable.
44029 (TARGET_CFLAGS): Likewise.
44030 (TARGET_CPPFLAGS): Likewise.
44031 (TARGET_LDFLAGS): Likewise.
44032 (AWK): Likewise.
44033 (include): Use target_cpu instead of host_cpu.
44034 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
44035
44036 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44037
44038 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44039
44040 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44041 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44042 field 'false' to 'exec_on_false'.
44043 (grub_script_create_cmdif): Renamed argument names to reflect above
44044 changes.
44045
44046 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44047
44048 * normal/script.c (grub_script_create_cmdif): Likewise.
44049
44050 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44051
44052 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44053 top.
44054 (grub_hfsplus_btree_recptr): Likewise.
44055 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44056 FILEBLOCK both to pass a block number and store next block
44057 number.
44058 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44059 overflow file correctly. Specify errors appropriately, because
44060 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44061 grub_hfsplus_btree_recptr to get the pointer to a found key.
44062 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44063 is found.
44064
44065 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44066 linux.mod.
44067 (_linux_mod_SOURCES): New variable.
44068 (_linux_mod_CFLAGS): Likewise.
44069 (_linux_mod_LDFLAGS): Likewise.
44070 (linux_mod_SOURCES): Likewise.
44071 (linux_mod_CFLAGS): Likewise.
44072 (linux_mod_LDFLAGS): Likewise.
44073
44074 * DISTLIST: Added loader/i386/efi/linux.c,
44075 loader/i386/efi/linux_normal.c and
44076 include/grub/i386/efi/loader.h.
44077
44078 * loader/i386/efi/linux.c: New file.
44079 * loader/i386/efi/linux_normal.c: Likewise.
44080 * include/grub/i386/efi/loader.h: Likewise.
44081
44082 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44083
44084 * commands/blocklist.c: New file.
44085
44086 * DISTLIST: Added commands/blocklist.c.
44087
44088 * term/efi/console.c (grub_console_highlight_color): Use a lighter
44089 color for the background, and a darker color for the foreground.
44090 (grub_console_checkkey): Return READ_KEY.
44091 (grub_console_cls): Set the background to
44092 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44093
44094 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44095
44096 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44097 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44098
44099 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44100 prototype.
44101
44102 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44103 BG. The spec is wrong again.
44104
44105 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44106 prototype.
44107 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44108
44109 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44110 commands/blocklist.c.
44111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44112
44113 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44114 (blocklist_mod_SOURCES): New variable.
44115 (blocklist_mod_CFLAGS): Likewise.
44116 (blocklist_mod_LDFLAGS): Likewise.
44117
44118 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44119
44120 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44121 duplication.
44122 (lba_mode): Use %eax more intensively to reduce the code size.
44123
44124 2006-05-20 Marco Gerards <marco@gnu.org>
44125
44126 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44127
44128 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44129 for `menuentry'.
44130 (script): Accept leading newlines.
44131 (newlines): New rule to describe 0 or more newlines.
44132 (commands): Accept `command' with trailing newline. Fixed the
44133 order in which arguments were passed to `grub_script_add_cmd'.
44134 Accept commands separated by newlines.
44135 (function): Changed to accept newlines.
44136 (menuentry) Rewritten.
44137
44138 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44139 front of the list, instead of to the end.
44140
44141 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44142
44143 * util/i386/pc/grub-install.in (bindir): New variable.
44144 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44145 Shaver <lbgwjl@gmail.com>.
44146
44147 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44148
44149 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44150 grub/machine/linux.h
44151 * loader/i386/pc/linux.c: Likewise.
44152
44153 * include/grub/i386/pc/linux.h: Moved to ...
44154 * include/grub/i386/linux.h: ... here.
44155
44156 * include/grub/i386/linux.h (struct linux_kernel_params): New
44157 struct.
44158
44159 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44160
44161 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44162 checking.
44163 (grub_video_vbe_blit_glyph): Likewise.
44164 (grub_video_vbe_blit_bitmap): Likewise.
44165 (grub_video_vbe_blit_render_target): Likewise.
44166
44167 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44168
44169 * configure.ac (--with-platform): Properly quote the square
44170 brackets.
44171
44172 2006-05-08 Marco Gerards <marco@gnu.org>
44173
44174 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44175 this...
44176 (kernel_elf_HEADERS): ...to this. Updated all users.
44177 (grubof_symlist.c): Renamed from this...
44178 (kernel_elf_symlist.c): ...to this. Updated all users.
44179 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44180 (grubof_SOURCES): Renamed from this...
44181 (kernel_elf_SOURCES): ...to this.
44182 (grubof_HEADERS): Renamed from this...
44183 (kernel_elf_HEADERS): ...to this.
44184 (grubof_CFLAGS): Renamed from this...
44185 (kernel_elf_CFLAGS): ...to this.
44186 (grubof_ASFLAGS): Renamed from this...
44187 (kernel_elf_ASFLAGS): ...to this.
44188 (grubof_LDFLAGS): Renamed from this...
44189 (kernel_elf_LDFLAGS): ...to this.
44190
44191 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44192 this...
44193 (kernel_elf_HEADERS): ...to this. Updated all users.
44194 (grubof_symlist.c): Renamed from this...
44195 (kernel_elf_symlist.c): ...to this. Updated all users.
44196 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44197 (grubof_SOURCES): Renamed from this...
44198 (kernel_elf_SOURCES): ...to this.
44199 (grubof_HEADERS): Renamed from this...
44200 (kernel_elf_HEADERS): ...to this.
44201 (grubof_CFLAGS): Renamed from this...
44202 (kernel_elf_CFLAGS): ...to this.
44203 (grubof_ASFLAGS): Renamed from this...
44204 (kernel_elf_ASFLAGS): ...to this.
44205 (grubof_LDFLAGS): Renamed from this...
44206 (kernel_elf_LDFLAGS): ...to this.
44207
44208 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44209 `kernel.elf' instead of `grubof'.
44210
44211 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44212
44213 Add --with-platform to configure. Use pkglibdir instead of
44214 pkgdatadir. This is reported by Roger Leigh.
44215
44216 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44217 (host_vendor): Likewise.
44218 (host_os): Likewise.
44219 (pkgdatadir): Likewise.
44220 (platform): New variable.
44221 (pkglibdir): Likewise.
44222 Use PKGLIBDIR instead of PKGDATADIR.
44223
44224 * util/i386/pc/grub-install.in (datadir): Removed.
44225 (host_vendor): Likewise.
44226 (host_os): Likewise.
44227 (pkgdatadir): Likewise.
44228 (platform): New variable.
44229 (pkglibdir): Likewise.
44230 Use PKGLIBDIR instead of PKGDATADIR.
44231
44232 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44233 instead of GRUB_DATADIR.
44234 (main): Likewise.
44235 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44236 (main): Likewise.
44237 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44238 (main): Likewise.
44239
44240 * configure.ac (--with-platform): New option.
44241 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44242
44243 * Makefile.in: Include a makefile based on PLATFORM instead of
44244 HOST_VENDOR.
44245 (pkgdatadir): Not appended by the machine type.
44246 (pkglibdir): Appended by the machine type.
44247 (host_vendor): Removed.
44248 (platform): New variable.
44249 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44250 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44251 (uninstall): Likewise.
44252
44253 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44254
44255 Use the environment context in the menu. Remove the commands
44256 "default" and "timeout", and use variables instead.
44257
44258 * normal/menu.c: Include grub/env.h.
44259 (print_entry): Cast TITLE to silence gcc.
44260 (get_timeout): New function.
44261 (set_timeout): Likewise.
44262 (get_entry_number): Likewise.
44263 (run_menu): Use a default entry, a fallback entry and a timeout
44264 in the environment variables "default", "fallback" and
44265 "timeout". Also, tweak the default entry if it is not within the
44266 current menu entries.
44267 (grub_menu_run): Use a fallback entry in the environment variable
44268 "fallback".
44269
44270 * normal/main.c (read_config_file): Do not initialize
44271 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44272 NEWMENU->TIMEOUT.
44273 (grub_normal_execute): Use a data slot to store the menu.
44274
44275 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44276 fallback_entry and timeout.
44277 (struct grub_menu_list): Removed.
44278 (grub_menu_list_t): Likewise.
44279 (struct grub_context): Likewise.
44280 (grub_context_t): Likewise.
44281 (grub_context_get): Likewise.
44282 (grub_context_get_current_menu): Likewise.
44283 (grub_context_push_menu): Likewise.
44284 (grub_context_pop_menu): Likewise.
44285 (grub_default_init): Likewise.
44286 (grub_default_fini): Likewise.
44287 (grub_timeout_init): Likewise.
44288 (grub_timeout_fini): Likewise.
44289
44290 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44291 and timeout.mod.
44292 (normal_mod_SOURCES): Removed normal/context.c.
44293
44294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44295 commands/default.c, commands/timeout.c and normal/context.c.
44296 (normal_mod_SOURCES): Removed normal/context.c.
44297
44298 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44299 commands/timeout.c and normal/context.c.
44300 (normal_mod_SOURCES): Removed normal/context.c.
44301
44302 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44303 commands/default.c, commands/timeout.c and normal/context.c.
44304 (normal_mod_SOURCES): Removed normal/context.c.
44305
44306 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44307 timeout.mod.
44308 (default_mod_SOURCES): Removed.
44309 (default_mod_CFLAGS): Likewise.
44310 (default_mod_LDFLAGS): Likewise.
44311 (timeout_mod_SOURCES): Removed.
44312 (timeout_mod_CFLAGS): Likewise.
44313 (timeout_mod_LDFLAGS): Likewise.
44314
44315 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44316 normal/context.c.
44317
44318 * commands/default.c: Removed.
44319 * commands/timeout.c: Likewise.
44320 * normal/context.c: Likewise.
44321
44322 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44323
44324 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44325
44326 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44327
44328 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44329 "next" to "prev" for readability.
44330 (struct grub_env_sorted_var): New struct.
44331 (grub_env_context): Renamed to ...
44332 (initial_context): ... this.
44333 (grub_env_var_context): Renamed to ...
44334 (current_context): ... this.
44335 (grub_env_find): Look only at CURRENT_CONTEXT.
44336 (grub_env_context_open): Rewritten to copy exported variables from
44337 previous context.
44338 (grub_env_context_close): Rewritten according to the new
44339 scheme. Also, add an assertion to prevent the initial context from
44340 removed.
44341 (grub_env_insert): Removed the code for the sorted list.
44342 (grub_env_remove): Likewise.
44343 (grub_env_export): Simply mark the variable with
44344 GRUB_ENV_VAR_GLOBAL.
44345 (grub_env_set): A cosmetic change for naming consistency.
44346 (grub_env_get): Likewise.
44347 (grub_env_unset): Likewise.
44348 (grub_env_iterate): Rewritten to sort variables within this
44349 function.
44350 (grub_register_variable_hook): Fixed for naming consistency. Call
44351 grub_env_find again, only if NAME is not found at the first time.
44352 (mangle_data_slot_name): New function.
44353 (grub_env_set_data_slot): Likewise.
44354 (grub_env_get_data_slot): Likewise.
44355 (grub_env_unset_data_slot): Likewise.
44356
44357 * include/grub/env.h (grub_env_var_type): New enum.
44358 (GRUB_ENV_VAR_LOCAL): New constant.
44359 (GRUB_ENV_VAR_GLOBAL): Likewise.
44360 (GRUB_ENV_VAR_DATA): Likewise.
44361 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44362 "type".
44363 (grub_env_set): Replace VAR with NAME for consistency.
44364 (grub_register_variable_hook): Likewise.
44365 (grub_env_export): Specify the name of the argument.
44366 (grub_env_set_data_slot): New prototype.
44367 (grub_env_get_data_slot): Likewise.
44368 (grub_env_unset_data_slot): Likewise.
44369
44370 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44371
44372 Extend the loader so that GRUB can accept a loader which comes
44373 back to GRUB when a loaded image exits. Also, this change adds
44374 support for a chainloader on EFI.
44375
44376 * term/efi/console.c: Include grub/misc.h.
44377 (grub_console_checkkey): Display a scan code on the top for
44378 debugging. This will be removed once the EFI port gets stable.
44379 Correct the scan code mapping.
44380
44381 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44382 allocate memory from larger regions, in order to reduce the number
44383 of allocated regions. Otherwise, the MacOSX loader panics.
44384 (filter_memory_map): Avoid less than 1MB for compatibility with
44385 other loaders.
44386 (add_memory_regions): Allocate from the tail of a region, if
44387 possible, to avoid allocating a region near to 1MB, for the MacOSX
44388 loader.
44389
44390 * kern/efi/init.c (grub_efi_set_prefix): Specify
44391 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44392
44393 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44394 argument IMAGE_HANDLE and specify it to get a loaded image.
44395 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44396 grub_efi_get_loaded_image.
44397 (grub_efi_get_filename): Divide the length by the size of
44398 grub_efi_char16_t.
44399 (grub_efi_get_device_path): New function.
44400 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44401 the length by the size of grub_efi_char16_t for a file path device
44402 path node.
44403
44404 * kern/loader.c (grub_loader_noreturn): New variable.
44405 (grub_loader_set): Accept a new argument NORETURN. Set
44406 GRUB_LOADER_NORETURN to NORETURN.
44407 All callers changed.
44408 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44409 grub_machine_fini.
44410
44411 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44412 prototype.
44413 (grub_efi_get_loaded_image): Take an argument to specify an image
44414 handle.
44415
44416 * include/grub/loader.h (grub_loader_set): Added one more argument
44417 NORETURN.
44418
44419 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44420 instead of grub_efi_open_protocol.
44421 (grub_efidisk_get_device_name): Likewise.
44422 (grub_efidisk_close): Print a newline.
44423 (grub_efidisk_get_device_handle): Fixed to use
44424 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44425 GRUB_EFI_DEVICE_PATH_TYPE.
44426
44427 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44428 * kern/efi/efi.c (device_path_guid): ... here.
44429
44430 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44431 chain.mod.
44432 (kernel_mod_HEADERS): Added efi/disk.h.
44433 (_chain_mod_SOURCES): New variable.
44434 (_chain_mod_CFLAGS): Likewise.
44435 (_chain_mod_LDFLAGS): Likewise.
44436 (chain_mod_SOURCES): Likewise.
44437 (chain_mod_CFLAGS): Likewise.
44438 (chain_mod_LDFLAGS): Likewise.
44439
44440 * DISTLIST: Added include/grub/efi/chainloader.h,
44441 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44442
44443 * include/grub/efi/chainloader.h: New file.
44444 * loader/efi/chainloader.c: Likewise.
44445 * loader/efi/chainloader_normal.c: Likewise.
44446
44447 2006-04-30 Marco Gerards <marco@gnu.org>
44448
44449 * commands/configfile.c (grub_cmd_source): New function.
44450 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44451 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44452
44453 2006-04-30 Marco Gerards <marco@gnu.org>
44454
44455 * normal/execute.c (grub_script_execute_cmd): Change the return
44456 type to `grub_err_t'. Correctly return the error.
44457 (grub_script_execute_cmdline): In case a command line is not a
44458 command or a function, try to interpret it as an assignment.
44459
44460 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44461
44462 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44463 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44464 skip a node whose name is obviously invalid as UTF-16,
44465 i.e. contains a NUL character. Stop the iteration when the last
44466 directory entry is found. Instead of using the return value of
44467 grub_hfsplus_btree_iterate_node, store the value in RET and use
44468 it, because the iterator can be stopped by the last directory
44469 entry.
44470
44471 2006-04-30 Marco Gerards <marco@gnu.org>
44472
44473 * include/grub/env.h (grub_env_export): New prototype. Reported
44474 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44475
44476 2006-04-30 Marco Gerards <marco@gnu.org>
44477
44478 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44479 size of the extents in a catalog file record.
44480
44481 2006-04-29 Marco Gerards <marco@gnu.org>
44482
44483 * commands/configfile.c (grub_cmd_configfile): Execute the
44484 configfile within its own context.
44485
44486 * include/grub/env.h (grub_env_context_open): New prototype.
44487 (grub_env_context_close): Likewise.
44488
44489 * kern/env.c (grub_env): Removed.
44490 (grub_env_sorted): Likewise.
44491 (grub_env_context): New variable.
44492 (grub_env_var_context): Likewise.
44493 (grub_env_find): Search both the active context and the global
44494 context.
44495 (grub_env_context_open): New function.
44496 (grub_env_context_close): Likewise.
44497 (grub_env_insert): Likewise.
44498 (grub_env_remove): Likewise.
44499 (grub_env_export): Likewise.
44500 (grub_env_set): Changed to use helper functions to avoid code
44501 duplication.
44502 (grub_env_iterate): Rewritten so both the current context and the
44503 global context are being used.
44504
44505 * normal/command.c (export_command): New function.
44506 (grub_command_init): Register the `export' function.
44507
44508 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44509
44510 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44511 explicitly to suppress gcc's warnings.
44512 * fs/fat.c (grub_fat_find_dir): Likewise.
44513 (grub_fat_label): Likewise.
44514 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44515 (grub_xfs_mount): Likewise.
44516 (grub_xfs_label): Likewise.
44517 * fs/affs.c (grub_affs_mount): Likewise.
44518 (grub_affs_label): Likewise.
44519 (grub_affs_iterate_dir): Likewise.
44520 * fs/sfs.c (grub_sfs_mount): Likewise.
44521 (grub_sfs_iterate_dir): Likewise.
44522 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44523 * fs/hfs.c (grub_hfs_mount): Likewise.
44524 (grub_hfs_cmp_catkeys): Likewise.
44525 (grub_hfs_find_dir): Likewise.
44526 (grub_hfs_dir): Likewise.
44527 (grub_hfs_label): Likewise.
44528 * fs/jfs.c (grub_jfs_mount): Likewise.
44529 (grub_jfs_opendir): Likewise.
44530 (grub_jfs_getent): Likewise.
44531 (grub_jfs_lookup_symlink): Likewise.
44532 (grub_jfs_label): Likewise.
44533 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44534 (grub_hfsplus_iterate_dir): Likewise.
44535 (grub_hfsplus_btree_iterate_node): Made static.
44536
44537 * util/grub-emu.c (prefix): New variable.
44538 (grub_machine_set_prefix): New function.
44539 (main): Do not set the environment variable "prefix" here. Only
44540 set PREFIX, which is used later by grub_machine_set_prefix.
44541
44542 * include/grub/video.h: Do not include grub/symbol.h.
44543 (grub_video_register): Not exported. This symbol is not defined in
44544 the kernel.
44545 (grub_video_unregister): Likewise.
44546 (grub_video_iterate): Likewise.
44547 (grub_video_setup): Likewise.
44548 (grub_video_restore): Likewise.
44549 (grub_video_get_info): Likewise.
44550 (grub_video_get_blit_format): Likewise.
44551 (grub_video_set_palette): Likewise.
44552 (grub_video_get_palette): Likewise.
44553 (grub_video_set_viewport): Likewise.
44554 (grub_video_get_viewport): Likewise.
44555 (grub_video_map_color): Likewise.
44556 (grub_video_map_rgb): Likewise.
44557 (grub_video_map_rgba): Likewise.
44558 (grub_video_fill_rect): Likewise.
44559 (grub_video_blit_glyph): Likewise.
44560 (grub_video_blit_bitmap): Likewise.
44561 (grub_video_blit_render_target): Likewise.
44562 (grub_video_scroll): Likewise.
44563 (grub_video_swap_buffers): Likewise.
44564 (grub_video_create_render_target): Likewise.
44565 (grub_video_delete_render_target): Likewise.
44566 (grub_video_set_active_render_target): Likewise.
44567
44568 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44569 Undefined.
44570 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44571
44572 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44573 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44574 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44575 instead of $(srcdir)/genkernsyms.sh.
44576
44577 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44578 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44579 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44580 instead of $(srcdir)/genkernsyms.sh.
44581
44582 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44583 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44584 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44585 instead of $(srcdir)/genkernsyms.sh.
44586
44587 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44588 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44589 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44590 instead of $(srcdir)/genkernsyms.sh.
44591
44592 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44593 genkernsyms.sh.
44594
44595 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44596 genkernsyms.sh.
44597 (gensymlist.sh): New target.
44598 (genkernsyms.sh): Likewise.
44599
44600 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
44601 genkernsyms.sh.in and gensymlist.sh.in.
44602
44603 * genkernsyms.sh: Removed.
44604 * gensymlist.sh: Likewise.
44605
44606 * genkernsyms.sh.in: New file.
44607 * gensymlist.sh.in: Likewise.
44608
44609 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44610
44611 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
44612 clobber "prefix", since we may have already set it manually.
44613
44614 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44615
44616 * kern/misc.c (abort): New alias for grub_abort.
44617
44618 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
44619
44620 A new machine-specific function "grub_machine_set_prefix" is
44621 defined. This is called after loading modules, so that a prefix
44622 initialization can use modules. Also, this change adds an
44623 intensive debugging feature for the memory manager via the
44624 configure option "--enable-mm-debug".
44625
44626 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
44627 PART.LEN.
44628
44629 * kern/sparc64/ieee1275/init.c (abort): Removed.
44630 (grub_stop): Likewise.
44631 (grub_exit): New function.
44632 (grub_set_prefix): Renamed to ...
44633 (grub_machine_set_prefix): ... this.
44634 (grub_machine_init): Do not call grub_set_prefix.
44635
44636 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
44637 (grub_machine_set_prefix): ... this.
44638 (grub_machine_init): Do not call grub_set_prefix.
44639
44640 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
44641 (grub_machine_init): Do not set the prefix here.
44642
44643 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
44644
44645 * kern/efi/init.c: Include grub/mm.h.
44646 (grub_efi_set_prefix): New function.
44647
44648 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
44649 (grub_efi_get_filename): New function.
44650 (grub_print_device_path): Renamed to ...
44651 (grub_efi_print_device_path): ... this.
44652
44653 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
44654 [MM_DEBUG] (grub_realloc): Likewise.
44655 [MM_DEBUG] (grub_free): Likewise.
44656 [MM_DEBUG] (grub_memalign): Likewise.
44657 [MM_DEBUG] (grub_mm_debug): New variable.
44658 [MM_DEBUG] (grub_debug_malloc): New function.
44659 [MM_DEBUG] (grub_debug_free): New function.
44660 [MM_DEBUG] (grub_debug_realloc): New function.
44661 [MM_DEBUG] (grub_debug_memalign): New function.
44662
44663 * kern/misc.c (grub_abort): Print a newline to distinguish
44664 the message.
44665
44666 * kern/main.c (grub_main): Call grub_machine_set_prefix and
44667 grub_set_root_dev after loading modules. This is necessary when
44668 setting a prefix depends on modules.
44669
44670 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
44671 (grub_efi_print_device_path): ... this.
44672 (grub_efi_get_filename): New prototype.
44673 (grub_efi_set_prefix): Likewise.
44674
44675 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
44676 and grub/disk.h.
44677 (grub_efidisk_get_device_handle): New prototype.
44678 (grub_efidisk_get_device_name): Likewise.
44679
44680 * include/grub/mm.h: Include config.h.
44681 (MM_DEBUG): Removed.
44682 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
44683 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
44684 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
44685 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
44686 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
44687 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
44688 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
44689 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
44690 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
44691
44692 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
44693
44694 * disk/efi/efidisk.c: Include grub/partition.h.
44695 (iterate_child_devices): New function.
44696 (add_device): First, compare only last device path nodes, so that
44697 devices are sorted by the types.
44698 (grub_efidisk_get_device_handle): New function.
44699 (grub_efidisk_get_device_name): Likewise.
44700
44701 * configure.ac (--enable-mm-debug): New option to enable the
44702 memory manager debugging feature. This makes the binary much
44703 bigger, so is disabled by default.
44704
44705 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
44706
44707 Use grub_abort instead of grub_stop, and grub_exit must be
44708 define in each architecture now. Also, this change adds support
44709 for EFI disks.
44710
44711 * util/i386/pc/grub-probefs.c: Include grub/term.h.
44712 (grub_getkey): New function.
44713 (grub_term_get_current): Likewise.
44714
44715 * util/i386/pc/grub-setup.c: Include grub/term.h.
44716 (grub_getkey): New function.
44717 (grub_term_get_current): Likewise.
44718
44719 * util/misc.c (grub_stop): Renamed to ...
44720 (grub_exit): ... this.
44721
44722 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
44723 (grub_exit): ... this.
44724 (grub_machine_init): Use grub_abort instead of abort.
44725 (grub_stop): Removed.
44726
44727 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
44728 abort.
44729
44730 * kern/i386/pc/startup.S (grub_exit): New function.
44731 (cold_reboot): New label.
44732
44733 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
44734 (grub_efi_init): Call grub_efidisk_init.
44735 (grub_efi_fini): Call grub_efidisk_fini.
44736
44737 * kern/efi/efi.c: Include grub/mm.h.
44738 (grub_efi_console_control_guid): Renamed to ...
44739 (console_control_guid): ... this.
44740 (grub_efi_loaded_image_guid): Renamed to ...
44741 (loaded_image_guid): ... this.
44742 (grub_efi_locate_handle): New function.
44743 (grub_efi_open_protocol): Likewise.
44744 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
44745 GRUB_EFI_CONSOLE_CONTROL_GUID.
44746 (grub_efi_exit): Removed.
44747 (grub_stop): Likewise.
44748 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
44749 (grub_exit): New function.
44750 (grub_print_device_path): Likewise.
44751
44752 * kern/rescue.c (grub_rescue_cmd_exit): New function.
44753 (grub_enter_rescue_mode): Register "exit".
44754
44755 * kern/misc.c (grub_real_dprintf): A cosmetic change.
44756 (grub_abort): New function.
44757
44758 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
44759
44760 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
44761
44762 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
44763
44764 * include/grub/efi/efi.h (grub_efi_exit): Removed.
44765 (grub_print_device_path): New prototype.
44766 (grub_efi_locate_handle): Likewise.
44767 (grub_efi_open_protocol): Likewise.
44768
44769 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
44770 * disk/efi/efidisk.c: Likewise.
44771
44772 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
44773
44774 * include/grub/efi/console_control.h
44775 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
44776
44777 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
44778 last 8 bytes as an array.
44779 (GRUB_EFI_DISK_IO_GUID): New macro.
44780 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
44781 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
44782 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
44783 grub_uint8_t.
44784 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
44785 (struct grub_efi_device_path): Rename the member "sub_type" to
44786 "subtype".
44787 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
44788 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
44789 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
44790 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
44791 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
44792 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
44793 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
44794 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
44795 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
44796 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
44797 (struct grub_efi_pci_device_path): New structure.
44798 (grub_efi_pci_device_path_t): New type.
44799 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
44800 (struct grub_efi_pccard_device_path): New structure.
44801 (grub_efi_pccard_device_path_t): New type.
44802 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
44803 (struct grub_efi_memory_mapped_device_path): New structure.
44804 (grub_efi_memory_mapped_device_path_t): New type.
44805 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
44806 (struct grub_efi_vendor_device_path): New structure.
44807 (grub_efi_vendor_device_path_t): New type.
44808 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
44809 (struct grub_efi_controller_device_path): New structure.
44810 (grub_efi_controller_device_path_t): New type.
44811 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
44812 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
44813 (struct grub_efi_acpi_device_path): New structure.
44814 (grub_efi_acpi_device_path_t): New type.
44815 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
44816 (struct grub_efi_expanded_acpi_device_path): New structure.
44817 (grub_efi_expanded_acpi_device_path_t): New type.
44818 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
44819 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
44820 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
44821 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
44822 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
44823 (struct grub_efi_atapi_device_path): New structure.
44824 (grub_efi_atapi_device_path_t): New type.
44825 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
44826 (struct grub_efi_fibre_channel_device_path): New structure.
44827 (grub_efi_fibre_channel_device_path_t): New type.
44828 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
44829 (struct grub_efi_1394_device_path): New structure.
44830 (grub_efi_1394_device_path_t): New type.
44831 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
44832 (struct grub_efi_usb_device_path): New structure.
44833 (grub_efi_usb_device_path_t): New type.
44834 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
44835 (struct grub_efi_usb_class_device_path): New structure.
44836 (grub_efi_usb_class_device_path_t): New type.
44837 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
44838 (struct grub_efi_i2o_device_path): New structure.
44839 (grub_efi_i2o_device_path_t): New type.
44840 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
44841 (struct grub_efi_mac_address_device_path): New structure.
44842 (grub_efi_mac_address_device_path_t): New type.
44843 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
44844 (struct grub_efi_ipv4_device_path): New structure.
44845 (grub_efi_ipv4_device_path_t): New type.
44846 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
44847 (struct grub_efi_ipv6_device_path): New structure.
44848 (grub_efi_ipv6_device_path_t): New type.
44849 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
44850 (struct grub_efi_infiniband_device_path): New structure.
44851 (grub_efi_infiniband_device_path_t): New type.
44852 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
44853 (struct grub_efi_uart_device_path): New structure.
44854 (grub_efi_uart_device_path_t): New type.
44855 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
44856 (struct grub_efi_vendor_messaging_device_path): New structure.
44857 (grub_efi_vendor_messaging_device_path_t): New type.
44858 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
44859 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
44860 (struct grub_efi_hard_drive_device_path): New structure.
44861 (grub_efi_hard_drive_device_path_t): New type.
44862 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
44863 (struct grub_efi_cdrom_device_path): New structure.
44864 (grub_efi_cdrom_device_path_t): New type.
44865 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
44866 (struct grub_efi_vendor_media_device_path): New structure.
44867 (grub_efi_vendor_media_device_path_t): New type.
44868 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
44869 (struct grub_efi_file_path_device_path): New structure.
44870 (grub_efi_file_path_device_path_t): New type.
44871 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
44872 (struct grub_efi_protocol_device_path): New structure.
44873 (grub_efi_protocol_device_path_t): New type.
44874 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
44875 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
44876 (struct grub_efi_bios_device_path): New structure.
44877 (grub_efi_bios_device_path_t): New type.
44878 (struct grub_efi_disk_io): New structure.
44879 (grub_efi_disk_io_t): New type.
44880 (struct grub_efi_block_io_media): New structure.
44881 (grub_efi_block_io_media_t): New type.
44882 (struct grub_efi_block_io): New structure.
44883 (grub_efi_block_io_t): New type.
44884
44885 * include/grub/misc.h (grub_stop): Removed.
44886 (grub_exit): New prototype.
44887 (grub_abort): Likewise.
44888
44889 * include/grub/disk.h (enum grub_disk_dev_id): Added
44890 GRUB_DISK_DEVICE_EFIDISK_ID.
44891
44892 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
44893 disk/efi/efidisk.c.
44894 (kernel_syms.lst): Remove the target if an error occurs.
44895
44896 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
44897
44898 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
44899 as it was simply too buggy.
44900
44901 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
44902
44903 * kern/misc.c (grub_lltoa): New function.
44904 (grub_vsprintf): Added support for the long long suffix,
44905 i.e. "ll".
44906
44907 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
44908
44909 * Makefile.in (LDFLAGS): Add variable.
44910 (LD): Remove variable.
44911 * configure.ac: Add -m32 to LDFLAGS.
44912 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
44913 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
44914 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
44915 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
44916 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
44917 variables.
44918 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
44919 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
44920 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
44921
44922 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
44923
44924 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
44925 length for unknown glyph.
44926
44927 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44928
44929 Add support for pre-loaded modules into the EFI port.
44930
44931 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
44932 completely. Accept one more argument DIR. The caller has changed.
44933
44934 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
44935
44936 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
44937 (grub_efi_loaded_image_guid): New variable.
44938 (grub_efi_get_loaded_image): New function.
44939 (grub_arch_modules_addr): Likewise.
44940
44941 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
44942 prototype.
44943
44944 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
44945 (struct grub_efi_loaded_image): New structure.
44946 (grub_efi_loaded_image_t): New type.
44947
44948 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44949
44950 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
44951 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
44952 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
44953
44954 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
44955
44956 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
44957
44958 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
44959
44960 * DISTLIST: Added include/grub/efi/console.h,
44961 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
44962 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44963
44964 * include/grub/efi/console.h: New file.
44965 * include/grub/efi/time.h: Likewise.
44966 * include/grub/i386/efi/kernel.h: Likewise.
44967 * kern/efi/init.c: Likewise.
44968 * kern/efi/mm.c: Likewise.
44969 * term/efi/console.c: Likewise.
44970
44971 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
44972 (grub_stop): Removed.
44973 (grub_get_rtc): Likewise.
44974 (grub_machine_init): Simply call grub_efi_init.
44975 (grub_machine_fini): Call grub_efi_fini.
44976
44977 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
44978 (grub_efi_output_string): Removed.
44979 (grub_efi_stall): New function.
44980 (grub_stop): Likewise.
44981 (grub_get_rtc): Likewise.
44982
44983 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
44984 (grub_efi_stall): New prototype.
44985 (grub_efi_allocate_pages): Likewise.
44986 (grub_efi_free_pages): Likewise.
44987 (grub_efi_get_memory_map): Likewise.
44988 (grub_efi_mm_init): Likewise.
44989 (grub_efi_mm_fini): Likewise.
44990 (grub_efi_init): Likewise.
44991 (grub_efi_fini): Likewise.
44992
44993 * include/grub/i386/efi/time.h: Do not include
44994 grub/symbol.h. Include grub/efi/time.h.
44995 (GRUB_TICKS_PER_SECOND): Removed.
44996 (grub_get_rtc): Likewise.
44997
44998 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
44999 Added padding. The EFI spec is buggy.
45000 (GRUB_EFI_BLACK): New macro.
45001 (GRUB_EFI_BLUE): Likewise.
45002 (GRUB_EFI_GREEN): Likewise.
45003 (GRUB_EFI_CYAN): Likewise.
45004 (GRUB_EFI_RED): Likewise.
45005 (GRUB_EFI_MAGENTA): Likewise.
45006 (GRUB_EFI_BROWN): Likewise.
45007 (GRUB_EFI_LIGHTGRAY): Likewise.
45008 (GRUB_EFI_BRIGHT): Likewise.
45009 (GRUB_EFI_DARKGRAY): Likewise.
45010 (GRUB_EFI_LIGHTBLUE): Likewise.
45011 (GRUB_EFI_LIGHTGREEN): Likewise.
45012 (GRUB_EFI_LIGHTCYAN): Likewise.
45013 (GRUB_EFI_LIGHTRED): Likewise.
45014 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45015 (GRUB_EFI_YELLOW): Likewise.
45016 (GRUB_EFI_WHITE): Likewise.
45017 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45018 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45019 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45020 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45021 (GRUB_EFI_BACKGROUND_RED): Likewise.
45022 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45023 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45024 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45025 (GRUB_EFI_TEXT_ATTR): Likewise.
45026
45027 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45028 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45029 (kernel_mod_HEADERS): Added efi/time.h.
45030
45031 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45032
45033 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45034 include/grub/efi/api.h, include/grub/efi/console_control.h,
45035 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45036 include/grub/i386/efi/time.h, kern/efi/efi.c,
45037 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45038 and util/i386/efi/grub-mkimage.c.
45039
45040 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45041
45042 * genmk.rb (PModule#rule): Do not export symbols if
45043 #{prefix}_EXPORTS is set to "no".
45044
45045 * conf/i386-efi.mk: New file.
45046 * conf/i386-efi.rmk: Likewise.
45047 * include/grub/efi/api.h: Likewise.
45048 * include/grub/efi/console_control.h: Likewise.
45049 * include/grub/efi/efi.h: Likewise.
45050 * include/grub/efi/pe32.h: Likewise.
45051 * include/grub/i386/efi/time.h: Likewise.
45052 * kern/efi/efi.c: Likewise.
45053 * kern/i386/efi/init.c: Likewise.
45054 * kern/i386/efi/startup.S: Likewise.
45055 * util/i386/efi/grub-mkimage.c: Likewise.
45056
45057 2006-04-17 Marco Gerards <marco@gnu.org>
45058
45059 * include/grub/script.h: Include <grub/parser.h> and
45060 "grub_script.tab.h".
45061 (struct grub_lexer_param): New struct.
45062 (struct grub_parser_param): Likewise.
45063 (grub_script_create_arglist): Pass the state in an argument.
45064 (grub_script_add_arglist): Likewise.
45065 (grub_script_create_cmdline): Likewise.
45066 (grub_script_create_cmdblock): Likewise.
45067 (grub_script_create_cmdif): Likewise.
45068 (grub_script_create_cmdmenu): Likewise.
45069 (grub_script_add_cmd): Likewise.
45070 (grub_script_arg_add): Likewise.
45071 (grub_script_lexer_ref): Likewise.
45072 (grub_script_lexer_deref): Likewise.
45073 (grub_script_lexer_record_start): Likewise.
45074 (grub_script_lexer_record_stop): Likewise.
45075 (grub_script_mem_record): Likewise.
45076 (grub_script_mem_record_stop): Likewise.
45077 (grub_script_malloc): Likewise.
45078 (grub_script_yylex): Likewise.
45079 (grub_script_yyparse): Likewise.
45080 (grub_script_yyerror): Likewise.
45081 (grub_script_yylex): Likewise.
45082 (grub_script_lexer_init): Return the state.
45083
45084 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45085 (grub_script_lexer_done): Likewise.
45086 (grub_script_lexer_getline): Likewise.
45087 (grub_script_lexer_refs): Likewise.
45088 (script): Likewise.
45089 (newscript): Likewise.
45090 (record): Likewise.
45091 (recording): Likewise.
45092 (recordpos): Likewise.
45093 (recordlen): Likewise.
45094 (grub_script_lexer_init): Return the state instead of setting
45095 global variables.
45096 (grub_script_lexer_ref): Use the newly added argument for state
45097 instead of globals.
45098 (grub_script_lexer_deref): Likewise.
45099 (grub_script_lexer_record_start): Likewise.
45100 (grub_script_lexer_record_stop): Likewise.
45101 (recordchar): Likewise.
45102 (nextchar): Likewise.
45103 (grub_script_yylex2): Likewise.
45104 (grub_script_yylex): Likewise.
45105 (grub_script_yyerror): Likewise.
45106
45107 * normal/parser.y (func_mem): Removed variable.
45108 (menu_entry): Likewise.
45109 (err): Likewise.
45110 (%lex-param): New parser option.
45111 (%parse-param): Likewise.
45112 (script): Always return the AST.
45113 (argument): Pass the state around.
45114 (arguments): Likewise.
45115 (grubcmd): Likewise.
45116 (commands): Likewise.
45117 (function): Likewise.
45118 (menuentry): Likewise.
45119 (if_statement): Likewise.
45120 (if): Likewise.
45121
45122 * normal/script.c (grub_script_memused): Removed variable.
45123 (grub_script_parsed): Likewise.
45124 (grub_script_malloc): Added a state argument. Use that instead of
45125 global variables.
45126 (grub_script_mem_record): Likewise.
45127 (grub_script_mem_record_stop): Likewise.
45128 (grub_script_arg_add): Likewise.
45129 (grub_script_add_arglist): Likewise.
45130 (grub_script_create_cmdline): Likewise.
45131 (grub_script_create_cmdif): Likewise.
45132 (grub_script_create_cmdmenu): Likewise.
45133 (grub_script_add_cmd): Likewise.
45134 (grub_script_parse): Setup the state before calling the parser.
45135
45136 2006-04-16 Marco Gerards <marco@gnu.org>
45137
45138 * normal/command.c (grub_command_init): Remove the title command.
45139
45140 * normal/lexer.c (grub_script_yylex): Renamed from this...
45141 (grub_script_yylex2): ... to this.
45142 (grub_script_yylex): New function. Temporary
45143 introduced to filter some tokens.
45144 (grub_script_yyerror): Print a newline.
45145
45146 * normal/main.c (read_config_file): Output information about the
45147 lines that contain errors. Wait for a key after all lines have
45148 been processed. Don't return an empty menu.
45149
45150 * normal/parser.y (func_mem): Don't initialize.
45151 (menu_entry): Likewise.
45152 (err): New variable.
45153 (script): Don't return anything when an error was encountered.
45154 (ws, returns): Removed rules.
45155 (argument): Disabled concatenated variable support.
45156 (arguments): Remove explicit separators.
45157 (grubcmd): Likewise.
45158 (function): Likewise.
45159 (menuentry): Likewise.
45160 (if): Likewise.
45161 (commands): Likewise. Add error handling.
45162
45163 * normal/script.c (grub_script_create_cmdline): If
45164 `grub_script_parsed' is 0, assume the parser encountered an error.
45165
45166 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45167
45168 * configure.ac: Add support for EFI. Fix the typo
45169 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45170
45171 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45172
45173 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45174 foreign multibyte characters should be shown correctly.
45175
45176 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45177
45178 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45179 calculation.
45180 (read_config_file): Made it to close file before returning.
45181
45182 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45183
45184 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45185 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45186 video/i386/pc/vbefill.c.
45187
45188 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45189 video/i386/pc/vbefill.c.
45190
45191 * include/grub/video.h (grub_video_blit_format): New enum.
45192 (grub_video_mode_info): Added new member blit_format.
45193 (grub_video_get_blit_format): New function prototype.
45194
45195 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45196 function prototype.
45197 (grub_video_vbe_map_rgb): Likewise.
45198 (grub_video_vbe_unmap_color): Likewise.
45199
45200 * include/grub/i386/pc/vbeblit.h: New file.
45201
45202 * include/grub/i386/pc/vbefill.h: New file.
45203
45204 * video/video.c (grub_video_get_blit_format): New function.
45205 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45206 (grub_video_vbe_map_rgb): Likewise.
45207 (grub_video_vbe_unmap_color): Likewise.
45208
45209 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45210 optimized fills.
45211 (grub_video_vbe_blit_render_target): Changed to use more optimized
45212 blits.
45213 (grub_video_vbe_setup): Added detection for optimized settings.
45214 (grub_video_vbe_create_render_target): Likewise.
45215
45216 * video/i386/pc/vbeblit.c: New file.
45217
45218 * video/i386/pc/vbefill.c: New file.
45219
45220 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45221
45222 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45223 here...
45224
45225 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45226 parsing to support both hex and dec ranges. If filename was missing
45227 show usage information.
45228
45229 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45230
45231 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45232 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45233
45234 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45235 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45236 (video_mod_SOURCES): Added.
45237 (video_mod_CFLAGS): Likewise.
45238 (video_mod_LDFLAGS): Likewise.
45239 (gfxterm_mod_SOURCES): Likewise.
45240 (gfxterm_mod_CFLAGS): Likewise.
45241 (gfxterm_mod_LDFLAGS): Likewise.
45242 (videotest_mod_SOURCES): Likewise.
45243 (videotest_mod_CFLAGS): Likewise.
45244 (videotest_mod_LDFLAGS): Likewise.
45245 (vesafb_mod_SOURCES): Removed.
45246 (vesafb_mod_CFLAGS): Likewise.
45247 (vesafb_mod_LDFLAGS): Likewise.
45248 (vga_mod_SOURCES): Likewise.
45249 (vga_mod_CFLAGS): Likewise.
45250 (vga_mod_LDFLAGS): Likewise.
45251
45252 * commands/videotest.c: New file.
45253
45254 * font/manager.c (fill_with_default_glyph): Modified to use
45255 grub_font_glyph.
45256 (grub_font_get_glyph): Likewise.
45257 (fontmanager): Renamed from this...
45258 (font_manager): ... to this.
45259
45260 * include/grub/font.h (grub_font_glyph): Added new structure.
45261 (grub_font_get_glyph): Modified to use grub_font_glyph.
45262
45263 * include/grub/misc.h (grub_abs): Added as inline function.
45264
45265 * include/grub/video.h: New file.
45266
45267 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45268 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45269 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45270 (grub_vbe_get_controller_info): Renamed from this...
45271 (grub_vbe_bios_get_controller_info): ... to this.
45272 (grub_vbe_get_mode_info): Renamed from this...
45273 (grub_vbe_bios_get_mode_info): ... to this.
45274 (grub_vbe_set_mode): Renamed from this...
45275 (grub_vbe_bios_set_mode): ... to this.
45276 (grub_vbe_get_mode): Renamed from this...
45277 (grub_vbe_bios_get_mode): ... to this.
45278 (grub_vbe_set_memory_window): Renamed from this...
45279 (grub_vbe_bios_set_memory_window): ... to this.
45280 (grub_vbe_get_memory_window): Renamed from this...
45281 (grub_vbe_bios_get_memory_window): ... to this.
45282 (grub_vbe_set_scanline_length): Renamed from this...
45283 (grub_vbe_set_scanline_length): ... to this.
45284 (grub_vbe_get_scanline_length): Renamed from this...
45285 (grub_vbe_bios_get_scanline_length): ... to this.
45286 (grub_vbe_set_display_start): Renamed from this...
45287 (grub_vbe_bios_set_display_start): ... to this.
45288 (grub_vbe_get_display_start): Renamed from this...
45289 (grub_vbe_bios_get_display_start): ... to this.
45290 (grub_vbe_set_palette_data): Renamed from this...
45291 (grub_vbe_bios_set_palette_data): ... to this.
45292 (grub_vbe_set_pixel_rgb): Removed.
45293 (grub_vbe_set_pixel_index): Likewise.
45294
45295 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45296 from this...
45297 (grub_vbe_bios_get_controller_info): ... to this.
45298 (grub_vbe_get_mode_info): Renamed from this...
45299 (grub_vbe_bios_get_mode_info): ... to this.
45300 (grub_vbe_set_mode): Renamed from this...
45301 (grub_vbe_bios_set_mode): ... to this.
45302 (grub_vbe_get_mode): Renamed from this...
45303 (grub_vbe_bios_get_mode): ... to this.
45304 (grub_vbe_set_memory_window): Renamed from this...
45305 (grub_vbe_bios_set_memory_window): ... to this.
45306 (grub_vbe_get_memory_window): Renamed from this...
45307 (grub_vbe_bios_get_memory_window): ... to this.
45308 (grub_vbe_set_scanline_length): Renamed from this...
45309 (grub_vbe_set_scanline_length): ... to this.
45310 (grub_vbe_get_scanline_length): Renamed from this...
45311 (grub_vbe_bios_get_scanline_length): ... to this.
45312 (grub_vbe_set_display_start): Renamed from this...
45313 (grub_vbe_bios_set_display_start): ... to this.
45314 (grub_vbe_get_display_start): Renamed from this...
45315 (grub_vbe_bios_get_display_start): ... to this.
45316 (grub_vbe_set_palette_data): Renamed from this...
45317 (grub_vbe_bios_set_palette_data): ... to this.
45318 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45319 getting corrupted after calling it. Added more pushes and pops.
45320 (grub_vbe_bios_set_mode): Likewise.
45321 (grub_vbe_bios_get_mode): Likewise.
45322 (grub_vbe_bios_get_memory_window): Likewise.
45323 (grub_vbe_bios_set_scanline_length): Likewise.
45324 (grub_vbe_bios_get_scanline_length): Likewise.
45325 (grub_vbe_bios_get_display_start): Likewise.
45326 (grub_vbe_bios_set_palette_data): Likewise.
45327
45328 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45329 (cl_insert): Likewise.
45330 (cl_delete): Likewise.
45331
45332 * term/gfxterm.c: New file.
45333
45334 * term/i386/pc/vesafb.c: Removed file.
45335
45336 * video/video.c: New file.
45337
45338 * video/i386/pc/vbe.c (real2pm): Added new function.
45339 (grub_video_vbe_draw_pixel): Likewise.
45340 (grub_video_vbe_get_video_ptr): Likewise.
45341 (grub_video_vbe_get_pixel): Likewise
45342 (grub_video_vbe_init): Likewise.
45343 (grub_video_vbe_fini): Likewise.
45344 (grub_video_vbe_setup): Likewise.
45345 (grub_video_vbe_get_info): Likewise.
45346 (grub_video_vbe_set_palette): Likewise.
45347 (grub_video_vbe_get_palette): Likewise.
45348 (grub_video_vbe_set_viewport): Likewise.
45349 (grub_video_vbe_get_viewport): Likewise.
45350 (grub_video_vbe_map_color): Likewise.
45351 (grub_video_vbe_map_rgb): Likewise.
45352 (grub_video_vbe_map_rgba): Likewise.
45353 (grub_video_vbe_unmap_color): Likewise.
45354 (grub_video_vbe_fill_rect): Likewise.
45355 (grub_video_vbe_blit_glyph): Likewise.
45356 (grub_video_vbe_blit_bitmap): Likewise.
45357 (grub_video_vbe_blit_render_target): Likewise.
45358 (grub_video_vbe_scroll): Likewise.
45359 (grub_video_vbe_swap_buffers): Likewise.
45360 (grub_video_vbe_create_render_target): Likewise.
45361 (grub_video_vbe_delete_render_target): Likewise.
45362 (grub_video_vbe_set_active_render_target): Likewise.
45363 (grub_vbe_set_pixel_rgb): Remove function.
45364 (grub_vbe_set_pixel_index): Likewise.
45365 (index_color_mode): Remove static variable.
45366 (active_mode): Likewise.
45367 (framebuffer): Likewise.
45368 (bytes_per_scan_line): Likewise.
45369 (grub_video_vbe_adapter): Added new static variable.
45370 (framebuffer): Likewise.
45371 (render_target): Likewise.
45372 (initial_mode): Likewise.
45373 (mode_in_use): Likewise.
45374 (mode_list): Likewise.
45375
45376 2006-03-10 Marco Gerards <marco@gnu.org>
45377
45378 * configure.ac (AC_INIT): Bumped to 1.93.
45379
45380 * DISTLIST: Added `include/grub/hfs.h'.
45381
45382 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45383
45384 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45385 18H, which might help the BIOS falling back to next boot media.
45386
45387 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45388
45389 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45390 Poe Chen <poe.poechen@gmail.com>.
45391
45392 2006-01-17 Marco Gerards <marco@gnu.org>
45393
45394 * include/grub/normal.h: Include <grub/script.h>.
45395 (grub_command_list): Removed struct.
45396 (grub_command_list_t): Removed type.
45397 (grub_menu_entry): Remove members `num' and `command_list'. Add
45398 members `commands' and `sourcecode'.
45399 * include/grub/script.h: Add inclusion guards.
45400 (grub_script_cmd_menuentry): New struct.
45401 (grub_script_execute_menuentry): New prototype.
45402 (grub_script_lexer_record_start): Likewise.
45403 (grub_script_lexer_record_stop): Likewise.
45404 * normal/execute.c (grub_script_execute_menuentry): New function.
45405 * normal/lexer.c (record, recording, recordpos, recordlen): New
45406 variables.
45407 (grub_script_lexer_record_start): New function.
45408 (grub_script_lexer_record_stop): Likewise.
45409 (recordchar): Likewise.
45410 (nextchar): Likewise.
45411 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45412 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45413 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45414 (current_menu): New variable.
45415 (free_menu): Mainly rewritten.
45416 (grub_normal_menu_addentry): New function.
45417 (read_config_file): Rewritten.
45418 * normal/menu.c (run_menu_entry): Mainly rewritten.
45419 * normal/menu_entry.c (make_screen): Rewritten the code to insert
45420 the menu entry.
45421 (run): Mainly rewritten.
45422 * normal/parser.y (menu_entry): New variable.
45423 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45424 (menuentry): New rule.
45425 (command): Add `menuentry'.
45426 (if_statement): Allow additional returns before `fi'.
45427 * normal/script.c (grub_script_create_cmdmenu): New function.
45428
45429 2006-01-03 Marco Gerards <marco@gnu.org>
45430
45431 * INSTALL: GNU Bison is required.
45432 * configure.ac: Rewritten the test to detect Bison.
45433 * Makefile.in (YACC): New variable. Reported by Xun Sun
45434 <xun.sun.cn@gmail.com>.
45435
45436 2006-01-03 Marco Gerards <marco@gnu.org>
45437
45438 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45439 the HFS+ filesystem to filesystem blocks.
45440 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45441 GCC warning is silenced.
45442
45443 2006-01-03 Marco Gerards <marco@gnu.org>
45444
45445 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45446 read from disk from big endian to host byte order.
45447
45448 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45449
45450 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45451 documentation.
45452 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45453 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45454 embedded HFS+ filesystem.
45455 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45456 (grub_hfs_sblock): Move from here...
45457 * include/grub/hfs.h: To here... New file.
45458 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45459 documentation.
45460 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45461 New macros.
45462 (grub_hfsplus_volheader): Change type of member `magic' to
45463 `grub_uint16_t'.
45464 (grub_hfsplus_data): Add new member `embedded_offset'.
45465 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45466 returned block.
45467 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45468 Calculate the offset.
45469
45470 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45471
45472 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45473 Removed.
45474 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45475
45476 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45477
45478 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45479 ENV->NAME is NULL after allocating ENV->VALUE.
45480
45481 2005-12-25 Marco Gerards <marco@gnu.org>
45482
45483 * kern/env.c (grub_env_set): Rewritten the error handling code.
45484
45485 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45486
45487 * geninit.sh: Made more robust, and more portable.
45488
45489 2005-12-25 Marco Gerards <marco@gnu.org>
45490
45491 Add support for Apple HFS+ filesystems.
45492
45493 * fs/hfsplus.c: New file.
45494
45495 * DISTLIST: Added `fs/hfsplus.c'.
45496
45497 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45498 (hfsplus_mod_SOURCES): New variable.
45499 (hfsplus_mod_CFLAGS): Likewise.
45500 (hfsplus_mod_LDFLAGS): Likewise.
45501 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45502 (grub_setup_SOURCES): Likewise.
45503 (grub_mkdevicemap_SOURCES): Likewise.
45504 (grub_emu_SOURCES): Likewise.
45505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45506
45507 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45508
45509 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45510
45511 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45512
45513 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45514 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45515 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45516 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45517 normal/lexer.c, normal/parser.y, normal/script.c, and
45518 partmap/gpt.c.
45519 Removed kern/sparc64/cache.c.
45520
45521 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45522 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45523 grub_emu_init.c.
45524
45525 * configure.ac (AC_INIT): Bumped to 1.92.
45526
45527 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45528
45529 * kern/err.c (grub_error_push): Added new function to support error
45530 stacks.
45531 (grub_error_pop): Likewise.
45532 (grub_error_stack_items): New local variable to support error stacks.
45533 (grub_error_stack_pos): Likewise.
45534 (grub_error_stack_assert): Likewise.
45535 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45536 stack depth.
45537 (grub_print_error): Added support to print errors from error stack.
45538
45539 * include/grub/err.h (grub_error_push): Added function prototype.
45540 (grub_error_pop): Likewise.
45541
45542 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45543
45544 * configure.ac: Accept `powerpc64' as host_cpu.
45545 (amd64): Rename to `biarch32'.
45546
45547 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45548 non-cacheline-aligned addresses.
45549
45550 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45551 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45552 if `size' is non-zero.
45553
45554 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
45555
45556 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45557 and `cd' to make sure the filename is not prefixed with a
45558 directory name.
45559 (pkgdata_MODULES): Add `gpt.mod'.
45560 (gpt_mod_SOURCES): New variable.
45561 (gpt_mod_CFLAGS): Likewise.
45562 (gpt_mod_LDFLAGS): Likewise.
45563
45564 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45565
45566 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45567 New macro.
45568
45569 * partmap/gpt.c: New file.
45570
45571 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45572 GPT partition map is detected.
45573
45574 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45575
45576 * commands/i386/pc/play.c: New file.
45577 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45578 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45579 macros.
45580
45581 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
45582
45583 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45584 ((unused))' to silence gcc warning.
45585
45586 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45587
45588 * configure.ac: Correct `AC_PROG_YACC' test.
45589
45590 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45591
45592 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45593 check before installing files.
45594
45595 2005-11-22 Mike Small <smallm@panix.com>
45596
45597 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
45598 number regex so multidigit numbers are recognized correctly.
45599
45600 2005-11-22 Mike Small <smallm@panix.com>
45601
45602 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
45603 debugging message before attempting to claim memory.
45604 (grub_rescue_cmd_initrd): Add a claim debugging message and try
45605 multiple addresses in case of failure.
45606
45607 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45608
45609 * term/tparm.c (get_space): Remove empty `if' statement.
45610
45611 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
45612
45613 * kern/parser.c (check_varstate): Rename `state' to 's'.
45614
45615 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45616
45617 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
45618 variable definitions to the beginning of each function. Sort stack
45619 variables by size.
45620 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
45621 `buf' argument to `char *'.
45622
45623 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45624
45625 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
45626 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
45627 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
45628 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45629 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45630 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45631 configfile.mod, search.mod, gzio.mod and test.mod.
45632 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45633 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45634 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45635 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45636 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45637 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45638 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45639 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45640 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45641 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45642 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45643 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45644 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45645 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45646 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45647 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45648 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45649 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45650 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45651 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45652 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45653 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45654 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
45655
45656 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
45657 `grep --include'.
45658 (pkgdata_MODULES): Add test.mod.
45659
45660 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45661
45662 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
45663 appending to variables with "+=".
45664 (PModule): Use full pathname to generate *.lst filenames.
45665
45666 * Makefile.in: Fixed list rules moved from genmk.rb.
45667 (.DELETE_ON_ERROR): New special target.
45668 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
45669
45670 * conf/i386-pc.rmk: Include conf/common.mk.
45671 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
45672 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
45673 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45674 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45675 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45676 configfile.mod, search.mod, gzio.mod and test.mod.
45677 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45678 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45679 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45680 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45681 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45682 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45683 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45684 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45685 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45686 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45687 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45688 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45689 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45690 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45691 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45692 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45693 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45694 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45695 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45696 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45697 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45698 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45699 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
45700 here...
45701 * conf/common.rmk: ... to here. New file.
45702
45703 * conf/common.mk: New file.
45704
45705 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
45706
45707 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
45708 (grub_script.tab.c): ... here.
45709
45710 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
45711 (grub_script.tab.c): ... here.
45712
45713 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
45714 (grub_script.tab.c): ... here.
45715
45716 * normal/command.c (grub_command_find): Fixed a memory leak of
45717 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
45718
45719 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45720
45721 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
45722 "@" which marks the start of a comment on ARM.
45723 (VARIABLE): Likewise.
45724
45725 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45726
45727 Add support for Linux/ADFS partition tables.
45728
45729 * partmap/acorn.c: New file.
45730
45731 * include/grub/acorn_filecore.h: Likewise.
45732
45733 * DISTLIST: Added `partmap/acorn.c' and
45734 `include/grub/acorn_filecore.h'.
45735
45736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45737 `partmap/acorn.c'.
45738 (pkgdata_MODULES): Add `acorn.mod'.
45739 (acorn_mod_SOURCES): New variable.
45740 (acorn_mod_CFLAGS): Likewise.
45741
45742 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45743 `partmap/acorn.c'.
45744 (pkgdata_MODULES): Add `acorn.mod'.
45745 (acorn_mod_SOURCES): New variable.
45746 (acorn_mod_CFLAGS): Likewise.
45747
45748 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
45749 (pkgdata_MODULES): Add `acorn.mod'.
45750 (acorn_mod_SOURCES): New variable.
45751 (acorn_mod_CFLAGS): Likewise.
45752 (acorn_mod_LDFLAGS): Likewise.
45753
45754 * include/types.h (grub_disk_addr_t): New typedef.
45755
45756 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
45757
45758 * geninit.sh: New file.
45759
45760 * geninitheader.sh: Likewise.
45761
45762 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
45763 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
45764 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
45765 * commands/configfile.c (grub_configfile_init)
45766 (grub_configfile_fini): Likewise.
45767 * commands/default.c (grub_default_init, grub_default_fini):
45768 Likewise.
45769 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
45770 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
45771 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
45772 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
45773 Likewise.
45774 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
45775 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
45776 Likewise.
45777 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
45778 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
45779 Likewise.
45780 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
45781 Likewise.
45782 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
45783 Likewise.
45784 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
45785 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
45786 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
45787 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
45788 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
45789 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
45790 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
45791 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
45792 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
45793 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
45794 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
45795 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
45796 * partmap/amiga.c (grub_amiga_partition_map_init)
45797 (grub_amiga_partition_map_fini): Likewise.
45798 * partmap/apple.c (grub_apple_partition_map_init)
45799 (grub_apple_partition_map_fini): Likewise.
45800 * partmap/pc.c (grub_pc_partition_map_init)
45801 (grub_pc_partition_map_fini): Likewise.
45802 * partmap/sun.c (grub_sun_partition_map_init,
45803 grub_sun_partition_map_fini): Likewise.
45804 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
45805 Likewise.
45806
45807 * util/grub-emu.c: Include <grub_modules_init.h>.
45808 (main): Don't initialize and de-initialize any modules directly,
45809 use `grub_init_all' and `grub_fini_all' instead.
45810
45811 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
45812 `grub_vesafb_mod_init'.
45813 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
45814 all users.
45815 * term/i386/pc/vga.c (grub_vga_init): Renamed to
45816 `grub_vga_mod_init'. Updated all users.
45817 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
45818
45819 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
45820 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
45821 rules.
45822
45823 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
45824 Generate a function to initialize the module in utilities.
45825 Updated all callers.
45826 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
45827 initialize the module in utilities. Updated all callers.
45828
45829 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45830
45831 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
45832 escape sequence and a literal ^L to clear the screen.
45833
45834 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
45835 when returning from Open Firmware.
45836
45837 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45838
45839 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
45840 (grub_ofconsole_height): Likewise.
45841 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
45842 manually insert a '\n'.
45843 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
45844 `grub_ofconsole_height'. Return early if these are already set.
45845
45846 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
45847
45848 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45849 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
45850 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
45851 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
45852 and `normal/script.c'.
45853 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45854 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45855 (test_mod_SOURCES): New variable.
45856 (test_mod_CFLAGS): Likewise.
45857 (test_mod_LDFLAGS): Likewise.
45858 (pkgdata_MODULES): Add `test.mod'.
45859 (grub_script.tab.c): New rule.
45860 (grub_script.tab.h): Likewise.
45861
45862 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
45863
45864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45865 `commands/test.c', `normal/execute.c', `normal/lexer.c',
45866 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45867 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45868 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45869 (test_mod_SOURCES): New variable.
45870 (test_mod_CFLAGS): Likewise.
45871 (pkgdata_MODULES): Add `test.mod'.
45872 (grub_script.tab.c): New rule.
45873 (grub_script.tab.h): Likewise.
45874
45875 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
45876
45877 Add initial scripting support.
45878
45879 * commands/test.c: New file.
45880 * include/grub/script.h: Likewise.
45881 * normal/execute.c: Likewise.
45882 * normal/function.c: Likewise.
45883 * normal/lexer.c: Likewise.
45884 * normal/parser.y: Likewise.
45885 * normal/script.c: Likewise.
45886
45887 * configure.ac: Add `AC_PROG_YACC' test.
45888
45889 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
45890 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
45891 `normal/function.c' and `normal/script.c'.
45892 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45893 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45894 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
45895 variables.
45896 (pkgdata_MODULES): Add `test.mod'.
45897 (grub_script.tab.c): New rule.
45898 (grub_script.tab.h): Likewise.
45899
45900 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
45901
45902 * include/grub/normal.h (grub_test_init): New prototype.
45903 (grub_test_fini): Likewise.
45904
45905 * normal/command.c: Include <grub/script.h>.
45906 (grub_command_execute): Rewritten.
45907
45908 * util/grub-emu.c (main): Call `grub_test_init' and
45909 `grub_test_fini'.
45910
45911 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45912
45913 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
45914 to 0.
45915 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
45916 there are no pending characters.
45917
45918 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45919
45920 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
45921 `grub_strndup' to drop device arguments. Replace unnecessary
45922 `grub_strndup' with `grub_strdup'.
45923
45924 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45925
45926 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
45927 `debug' environment variable has been set.
45928
45929 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
45930
45931 * Makefile.in (install-local): Use $(DATA).
45932 (uninstall): Likewise.
45933 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
45934 (sbin_UTILITIES): ... to here.
45935 (sbin_SCRIPTS): New variable.
45936 (grub_install_SOURCES): New variable.
45937 * util/powerpc/ieee1275/grub-install.in: New file.
45938 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
45939 variable.
45940 (add_segments): Call `grub_util_get_path'.
45941
45942 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45943
45944 From Timothy Baldwin:
45945 * commands/ls.c (grub_ls_list_files): Close FILE with
45946 grub_file_close.
45947 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
45948
45949 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
45950
45951 * include/grub/parser.h: New file.
45952
45953 * kern/parser.c: Likewise.
45954
45955 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
45956 (grub_setup_SOURCES): Likewise.
45957 (grub_probefs_SOURCES): Likewise.
45958 (grub_emu_SOURCES): Likewise.
45959 (kernel_img_HEADERS): Add `parser.h'.
45960
45961 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45962 (grub_emu_SOURCES): Add `kern/parser.c'.
45963 (grubof_SOURCES): Likewise.
45964
45965 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45966 (grubof_SOURCES): Add `kern/parser.c'.
45967
45968 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
45969
45970 * kern/misc.c (grub_split_cmdline): Removed function.
45971
45972 * kern/rescue.c: Include <grub/parser.h>.
45973 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
45974 of `grub_split_cmdline'.
45975
45976 * normal/command.c: Include <grub/parser.h>.
45977 (grub_command_execute): Use `grub_parser_split_cmdline' instead
45978 of `grub_split_cmdline'.
45979
45980 * normal/completion.c: Include <grub/parser.h>.
45981 (cmdline_state): New variable.
45982 (iterate_dir): End the filename with a quote depending on the
45983 command line state.
45984 (get_state): new function.
45985 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
45986 split the arguments and determine the current argument. When the
45987 argument string is not quoted, escape all spaces.
45988
45989 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45990
45991 * normal/sparc64/setjmp.S: New file.
45992
45993 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45994
45995 * include/grub/sparc64/libgcc.h: New file.
45996 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
45997 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
45998 normal/sparc64/setjmp.c.
45999
46000 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46001
46002 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46003 * kern/sparc64/cache.S: New file.
46004 * kern/sparc64/cache.c: Removed.
46005 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46006 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46007 -mtune=ultrasparc.
46008 (COMMON_LDFLAGS): Add -melf64_sparc.
46009 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46010 (grubof_SOURCES): Use cache.S instead of cache.c.
46011 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46012 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46013 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46014 commented though.
46015 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46016 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46017 (linux_mod_CFLAGS): Commented out.
46018 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46019 out because module isn't built.
46020 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46021 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46022 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46023 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46024 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46025 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46026 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46027 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46028 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46029 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46030 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46031 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46032 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46033 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46034
46035 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46036
46037 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46038 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46039 longer, because HFS should not be used on PC.
46040
46041 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46042
46043 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46044 consistently within the loop.
46045
46046 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
46047
46048 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46049 directory can not be read.
46050
46051 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46052
46053 * configure.ac (AC_INIT): Increase the version number to 1.91.
46054
46055 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46056 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46057 term/i386/pc/serial.c.
46058
46059 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46060
46061 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46062 file size must be permitted.
46063
46064 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46065 between %ah and %al.
46066
46067 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46068
46069 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46070 grub_uint64_t.
46071 Call the hook with a NUL-terminated filename.
46072 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46073 grub_cpu_to_be32.
46074
46075 * kern/term.c (cursor_state): New variable.
46076 (grub_term_set_current): Reset the cursor state on a new
46077 terminal.
46078 (grub_setcursor): Rewritten to use CURSOR_STATE.
46079 (grub_getcursor): New function.
46080
46081 * include/grub/term.h (grub_getcursor): New prototype.
46082
46083 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46084 integers on ARM. Reported by Timothy Baldwin
46085 <T.E.Baldwin99@members.leeds.ac.uk>.
46086
46087 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
46088
46089 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46090 allocated.
46091 (grub_sfs_dir): Likewise.
46092
46093 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
46094
46095 Add support for the SFS filesystem.
46096
46097 * fs/sfs.c: New file.
46098
46099 * DISTLIST: Added `fs/sfs.c'.
46100
46101 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46102 (grub_probefs_SOURCES): Likewise.
46103 (grub_emu_SOURCES): Likewise.
46104 (pkgdata_MODULES): Add `sfs.mod'.
46105 (sfs_mod_SOURCES): New variable.
46106 (sfs_mod_CFLAGS): Likewise.
46107 (sfs_mod_LDFLAGS): Likewise.
46108
46109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46110 (pkgdata_MODULES): Add `sfs.mod'.
46111 (sfs_mod_SOURCES): New variable.
46112 (sfs_mod_CFLAGS): Likewise.
46113
46114 * util/grub-emu.c (main): Call `grub_sfs_init' and
46115 `grub_sfs_fini'.
46116
46117 * include/grub/fs.h (grub_sfs_init): New prototype.
46118 (grub_sfs_fini): Likewise.
46119
46120 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
46121
46122 Add support for the AFFS filesystem.
46123
46124 * fs/affs.c: New file.
46125
46126 * DISTLIST: Added `fs/affs.c'.
46127
46128 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46129 (grub_probefs_SOURCES): Likewise.
46130 (grub_emu_SOURCES): Likewise.
46131 (pkgdata_MODULES): Add `affs.mod'.
46132 (affs_mod_SOURCES): New variable.
46133 (affs_mod_CFLAGS): Likewise.
46134 (affs_mod_LDFLAGS): Likewise.
46135
46136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46137 (pkgdata_MODULES): Add `affs.mod'.
46138 (affs_mod_SOURCES): New variable.
46139 (affs_mod_CFLAGS): Likewise.
46140
46141 * util/grub-emu.c (main): Call `grub_affs_init' and
46142 `grub_affs_fini'.
46143
46144 * include/grub/fs.h (grub_affs_init): New prototype.
46145 (grub_affs_fini): Likewise.
46146
46147 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
46148
46149 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46150
46151 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
46152
46153 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46154 `-m32' to CFLAGS.
46155
46156 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46157 linking.
46158
46159 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46160 (COMMON_LDFLAGS): New variable.
46161 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46162 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46163 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46164 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46165 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46166 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46167 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46168 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46169 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46170 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46171 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46172 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46173 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46174 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46175 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46176 variables.
46177 (normal_mod_ASFLAGS): Add `-m32'.
46178
46179 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46180 (grub_host_size_t, grub_host_ssize_t): New types.
46181 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
46182 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
46183 `GRUB_HOST_SIZEOF_VOID_P'.
46184
46185 * include/grub/kernel.h (struct grub_module_header): Type of
46186 member offset changed to `grub_host_off_t'. Type of member size
46187 changed to `grub_host_size_t'.
46188 (struct grub_module_info): Type of member offset changed to
46189 `grub_host_off_t'. Type of member size changed to
46190 `grub_host_size_t'.
46191
46192 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46193
46194 Make GRUB's kernel compliant to Multiboot Specification.
46195
46196 * kern/i386/pc/startup.S (multiboot_header): New label.
46197 (multiboot_entry): Likewise.
46198 (multiboot_trampoline): Likewise.
46199
46200 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46201 Increased to 0x4A0.
46202
46203 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46204 put parentheses after a question mark.
46205 [!GRUB_UTIL] (my_mod): New variable.
46206
46207 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46208
46209 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
46210
46211 Adds support for the XFS filesystem. Btrees are not supported
46212 yet.
46213
46214 * fs/xfs.c: New file.
46215
46216 * DISTLIST: Added `fs/xfs.c'.
46217
46218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46219 (grub_probefs_SOURCES): Likewise.
46220 (grub_emu_SOURCES): Likewise.
46221 (pkgdata_MODULES): Add `xfs.mod'.
46222 (xfs_mod_SOURCES): New variable.
46223 (xfs_mod_CFLAGS): Likewise.
46224
46225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46226 (pkgdata_MODULES): Add `xfs.mod'.
46227 (xfs_mod_SOURCES): New variable.
46228 (xfs_mod_CFLAGS): Likewise.
46229
46230 * util/grub-emu.c (main): Call `grub_xfs_init' and
46231 `grub_xfs_fini'.
46232
46233 * include/grub/fs.h (grub_xfs_init): New prototype.
46234 (grub_xfs_fini): Likewise.
46235
46236
46237 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46238
46239 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46240 color modes, allow greater than 16 colors to be configured as
46241 a default palette.
46242
46243 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46244
46245 * normal/completion.c (complete_arguments): Add the qualifier
46246 const into OPTIONS.
46247
46248 From Omniflux <omniflux+lists@omniflux.com>:
46249 * include/grub/terminfo.h: New file.
46250 * include/grub/tparm.h: Likewise.
46251 * include/grub/i386/pc/serial.h: Likewise.
46252 * term/terminfo.c: Likewise.
46253 * term/tparm.c: Likewise.
46254 * term/i386/pc/serial.c: Likewise.
46255 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46256 serial.mod.
46257 (terminfo_mod_SOURCES): New variable.
46258 (terminfo_mod_CFLAGS): Likewise.
46259 (serial_mod_SOURCES): Likewise.
46260 (serial_mod_CFLAGS): Likewise.
46261
46262 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46263
46264 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46265 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46266 and kern/powerpc/ieee1275/cmain.c, respectively.
46267
46268 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46269 * kern/powerpc/ieee1275/crt0.S: ... here.
46270
46271 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46272 * kern/powerpc/ieee1275/cmain.c: ... here.
46273
46274 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46275 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46276 instead of boot/powerpc/ieee1275/crt0.S and
46277 boot/powerpc/ieee1275/cmain.c, respectively.
46278
46279 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46280 sectors. It was not used anyway.
46281
46282 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46283
46284 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46285 `unused parameter' warning.
46286
46287 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46288
46289 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46290 function.
46291 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46292 getcharwidth.
46293
46294 2005-08-28 Marco Gerards <metgerards@student.han.nl>
46295
46296 * include/grub/normal.h (enum grub_completion_type): Added
46297 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46298
46299 * normal/cmdline.c (print_completion): Handle
46300 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46301 * normal/menu_entry.c (store_completion): Likewise.
46302
46303 * normal/completion.c (complete_arguments): New function.
46304 (grub_normal_do_completion): Call `complete_arguments' when the
46305 current words start with a dash.
46306
46307 2005-08-27 Marco Gerards <metgerards@student.han.nl>
46308
46309 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46310 `gzio.mod' instead of `io.mod').
46311
46312 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46313
46314 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46315 (DISTDIRS): Added io and video.
46316 Rewrite the search routine to make an output consistently.
46317
46318 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46319 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46320 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46321 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46322 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46323 util/powerpc/ieee1275/misc.c.
46324
46325 * include/grub/gzio.h: New file.
46326 * io/gzio.c: Likewise.
46327
46328 * kern/file.c (grub_file_close): Call grub_device_close only if
46329 FILE->DEVICE is not NULL.
46330
46331 * include/grub/mm.h [!NULL] (NULL): New macro.
46332
46333 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46334
46335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46336 (pkgdata_MODULES): Added gzio.mod.
46337 (gzio_mod_SOURCES): New variable.
46338 (gzio_mod_CFLAGS): Likewise.
46339
46340 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46341 (pkgdata_MODULES): Added gzio.mod.
46342 (gzio_mod_SOURCES): New variable.
46343 (gzio_mod_CFLAGS): Likewise.
46344
46345 * commands/cat.c: Include grub/gzio.h.
46346 (grub_cmd_cat): Use grub_gzfile_open instead of
46347 grub_file_open.
46348
46349 * commands/cmp.c: Include grub/gzio.h.
46350 (grub_cmd_cmp): Use grub_gzfile_open instead of
46351 grub_file_open.
46352
46353 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46354 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46355 grub_file_open.
46356 (grub_rescue_cmd_module): Likewise.
46357
46358 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46359
46360 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46361 kern/sparc64/ieee1275/init.c because it contains _start.
46362 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46363
46364 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46365
46366 * configure.ac: Add support for sparc64 host with ieee1275
46367 firmware.
46368 * configure: Generated from configure.ac.
46369 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46370 instead of int.
46371 (grub_ofdisk_read): Likewise.
46372 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46373 pointers as (void *) to remove a warning.
46374 (grub_ofdisk_close): Likewise.
46375 (grub_ofdisk_read): Likewise.
46376 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46377 returns, so make it return void to remove a warning.
46378 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46379 Corresponding prototype change.
46380 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46381 values, and cast the pointers as (void *) to remove a warning.
46382 (grub_mm_dump): Likewise.
46383 * conf/sparc64-ieee1275.mk: New file.
46384 * conf/sparc64-ieee1275.rmk: Likewise.
46385 * include/grub/sparc64/setjmp.h: Likewise.
46386 * include/grub/sparc64/types.h: Likewise.
46387 * include/grub/sparc64/ieee1275/console.h: Likewise.
46388 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46389 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46390 * include/grub/sparc64/ieee1275/time.h: Likewise.
46391 * kern/sparc64/cache.c: Likewise.
46392 * kern/sparc64/dl.c: Likewise.
46393 * kern/sparc64/ieee1275/init.c: Likewise.
46394 * kern/sparc64/ieee1275/openfw.c: Likewise.
46395
46396 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46397
46398 * util/console.c (grub_ncurses_putchar): If C is greater than
46399 0x7f, set C to a question mark.
46400 (grub_ncurses_getcharwidth): New function.
46401 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46402 getcharwidth.
46403
46404 * normal/menu.c (print_entry): Made aware of Unicode. First,
46405 convert TITLE to UCS-4, and predict the cursor position by
46406 grub_getcharwidth.
46407
46408 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46409 const to SRC.
46410 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46411
46412 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46413
46414 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46415 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46416 grub_strcat.
46417
46418 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46419 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46420 grub_strcpy and grub_strlen. Take it into account that a space
46421 character is inserted as a delimiter.
46422
46423 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46424
46425 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
46426 invalid magic in the error.
46427
46428 * commands/search.c: New file.
46429
46430 * util/grub-emu.c (main): Call grub_search_init and
46431 grub_search_fini.
46432
46433 * kern/rescue.c (grub_rescue_print_disks): Removed.
46434 (grub_rescue_print_devices): New function.
46435 (grub_rescue_cmd_ls): Use grub_device_iterate with
46436 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46437 grub_rescue_print_disks.
46438
46439 * kern/partition.c (grub_partition_iterate): Return the result of
46440 PARTMAP->ITERATE instead of GRUB_ERRNO.
46441
46442 * kern/device.c: Include grub/partition.h.
46443 (grub_device_iterate): New function.
46444
46445 * include/grub/partition.h (grub_partition_iterate): Return int
46446 instead of grub_err_t.
46447
46448 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46449 prototype.
46450 [GRUB_UTIL] (grub_search_fini): Likewise.
46451
46452 * include/grub/device.h (grub_device_iterate): New prototype.
46453
46454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46455 commands/search.c.
46456 (pkgdata_MODULES): Added search.mod.
46457 (search_mod_SOURCES): New variable.
46458 (search_mod_CFLAGS): Likewise.
46459
46460 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46461 (pkgdata_MODULES): Added search.mod.
46462 (search_mod_SOURCES): New variable.
46463 (search_mod_CFLAGS): Likewise.
46464
46465 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46466 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46467 All callers changed.
46468
46469 * DISTLIST: Added commands/search.c.
46470
46471 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46472
46473 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46474 conversion.
46475 (grub_getcharwidth): New function.
46476
46477 * kern/misc.c (grub_utf8_to_ucs4): New function.
46478
46479 * include/grub/term.h (struct grub_term): Added a new member
46480 "getcharwidth".
46481 (grub_getcharwidth): New prototype.
46482
46483 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46484
46485 * term/i386/pc/console.c (map_char): New function. Segregated from
46486 grub_console_putchar.
46487 (grub_console_putchar): Use map_char.
46488 (grub_console_getcharwidth): New function.
46489 (grub_console_term): Specified grub_console_getcharwidth as
46490 getcharwidth.
46491
46492 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46493 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46494
46495 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46496 GRUB_ERRNO.
46497 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46498 on grub_strtoul completely.
46499 (write_char): Declare local variables in the beginning of the
46500 function.
46501 (grub_vesafb_getcharwidth): New function.
46502 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46503 getcharwidth.
46504
46505 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46506
46507 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46508 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46509 commands/i386/pc/vbetest.c.
46510
46511 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46512 call grub_vbe_get_controller_info again, because the returned
46513 information is volatile.
46514 (grub_vbe_set_video_mode): Mostly rewritten.
46515 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46516 grub_vbe_status_t correctly.
46517 (grub_vbe_get_video_mode_info): Likewise.
46518 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46519 several if statements.
46520
46521 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46522 * commands/i386/pc/vbeinfo.c: ... this.
46523
46524 * commands/i386/pc/vbe_test.c: Renamed to ...
46525 * commands/i386/pc/vbetest.c: ... this.
46526
46527 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46528 ...
46529 (grub_cmd_vbeinfo): ... this. Save video modes before
46530 iterating. Skip a video mode, if it is not available, not enough
46531 information is given or it is monochrome. Show the memory
46532 model. Leave the interpretation of MODEVAR to grub_strtoul
46533 completely.
46534 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46535 (GRUB_MOD_FINI): Likewise.
46536
46537 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46538 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46539 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46540 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46541 grub_strtoul completely.
46542 (real2pm): Removed.
46543 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46544 (GRUB_MOD_FINI): Likewise.
46545
46546 * normal/misc.c: Include grub/mm.h.
46547
46548 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46549 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46550 (vbe_list_modes_mod_SOURCES): Removed.
46551 (vbe_list_modes_mod_CFLAGS): Likewise.
46552 (vbe_test_mod_SOURCES): Likewise.
46553 (vbe_test_mod_CFLAGS): Likewise.
46554 (vbeinfo_mod_SOURCES): New variable.
46555 (vbeinfo_mod_CFLAGS): Likewise.
46556 (vbetest_mod_SOURCES): Likewise.
46557 (vbetest_mod_CFLAGS): Likewise.
46558
46559 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46560
46561 * normal/misc.c: New file.
46562
46563 * DISTLIST: Added normal/misc.c.
46564
46565 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46566 DISK to HOOK. Call HOOK with DISK.
46567 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46568 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46569 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46570
46571 * normal/menu_entry.c (struct screen): Added a new member
46572 "completion_shown".
46573 (completion_buffer): New global variable.
46574 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46575 (store_completion): New function.
46576 (complete): Likewise.
46577 (clear_completions): Likewise.
46578 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46579 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46580 a tab, call complete.
46581
46582 * normal/completion.c (disk_dev): Removed.
46583 (print_simple_completion): Likewise.
46584 (print_partition_completion): Likewise.
46585 (print_func): New global variable.
46586 (add_completion): Do not take the arguments WHAT or PRINT any
46587 longer. Added a new argument TYPE. Instead of printing directly,
46588 call PRINT_FUNC if not NULL.
46589 All callers changed.
46590 (complete_device): Use a local variable DEV instead of
46591 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46592 (grub_normal_do_completion): Take a new argument HOOK. Do not
46593 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46594 empty string, return NULL instead.
46595 All callers changed.
46596
46597 * normal/cmdline.c (print_completion): New function.
46598
46599 * kern/partition.c (grub_partition_iterate): Add an argument DISK
46600 to HOOK.
46601 All callers changed.
46602
46603 * kern/disk.c (grub_print_partinfo): Removed.
46604
46605 * include/grub/partition.h (struct grub_partition_map): Add a new
46606 argument DISK into HOOK of ITERATE.
46607 (grub_partition_iterate): Add a new argument DISK to HOOK.
46608
46609 * include/grub/normal.h (enum grub_completion_type): New enum.
46610 (grub_completion_type_t): New type.
46611 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
46612 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
46613 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
46614 (GRUB_COMPLETION_TYPE_FILE): Likewise.
46615 (grub_normal_do_completion): Added a new argument HOOK.
46616 (grub_normal_print_device_info): New prototype.
46617
46618 * include/grub/disk.h (grub_print_partinfo): Removed.
46619
46620 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
46621 (normal_mod_SOURCES): Likewise.
46622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46623 (normal_mod_SOURCES): Likewise.
46624
46625 * commands/ls.c (grub_ls_list_disks): Use
46626 grub_normal_print_device_info instead of grub_print_partinfo. Free
46627 PNAME.
46628 (grub_ls_list_files): Use grub_normal_print_device_info instead of
46629 duplicating the code.
46630
46631 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46632
46633 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
46634 follow GCS more precisely.
46635 * commands/i386/pc/vbe_test.c: Likewise.
46636 * include/grub/i386/pc/vbe.h: Likewise.
46637 * term/i386/pc/vesafb.c: Likewise.
46638 * video/i386/pc/vbe.c: Likewise.
46639
46640 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46641
46642 * DISTLIST: Added term/i386/pc/vesafb.c
46643 DISTLIST: Added video/i386/pc/vbe.c
46644 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
46645 DISTLIST: Added commands/i386/pc/vbe_test.c.
46646 * commands/i386/pc/vbe_list_modes.c: New file.
46647 * commands/i386/pc/vbe_test.c: Likewise.
46648 * term/i386/pc/vesafb.c: Likewise.
46649 * video/i386/pc/vbe.c: Likewise.
46650 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
46651 (grub_vbe_probe) Added prototype.
46652 (grub_vbe_set_video_mode) Likewise.
46653 (grub_vbe_get_video_mode) Likewise.
46654 (grub_vbe_get_video_mode_info) Likewise.
46655 (grub_vbe_set_pixel_rgb) Likewise.
46656 (grub_vbe_set_pixel_index) Likewise.
46657 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
46658 (pkgdata_MODULES): Added vesafb.mod.
46659 (pkgdata_MODULES): Added vbe_list_modes.mod.
46660 (pkgdata_MODULES): Added vbe_test.mod.
46661 (vbe_mod_SOURCES): Added.
46662 (vbe_mod_CFLAGS): Likewise.
46663 (vesafb_mod_SOURCES): Likewise.
46664 (vesafb_mod_CFLAGS): Likewise.
46665 (vbe_list_modes_mod_SOURCES): Likewise.
46666 (vbe_list_modes_mod_CFLAGS): Likewise.
46667 (vbe_test_mod_SOURCES): Likewise.
46668 (vbe_test_mod_CFLAGS): Likewise.
46669
46670 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
46671
46672 * normal/command.c (grub_command_execute): If INTERACTIVE is
46673 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
46674 CMDLINE. Disable the pager if INTERACTIVE is true.
46675 All callers are changed.
46676
46677 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
46678 before reading a config file.
46679 * normal/main.c (read_config_file): Even if a command is not
46680 found, register it if it is within an entry.
46681
46682 * util/grub-emu.c: Include sys/types.h and unistd.h.
46683 (options): Added --hold.
46684 (struct arguments): Added a new member "hold".
46685 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
46686 missing.
46687 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
46688 cleared by a debugger, if it is not zero.
46689
46690 * include/grub/normal.h (grub_command_execute): Add an argument
46691 INTERACTIVE.
46692
46693 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
46694
46695 * DISTLIST: Added include/grub/i386/pc/vbe.h.
46696
46697 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
46698
46699 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
46700 program with another one, because the old one didn't detect a bug
46701 in gcc-3.4. Always use regparm 2, because the new test is still
46702 not enough for gcc-4.0. Someone must investigate a simple test
46703 case which detects a bug in gcc-4.0.
46704
46705 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
46706
46707 * DISTLIST: Added normal/completion.c.
46708
46709 * normal/completion.c: New file.
46710
46711 * term/i386/pc/console.c (grub_console_getwh): New function.
46712 (grub_console_term): Assign grub_console_getwh to getwh.
46713
46714 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
46715 function is defined in normal/completion.c as
46716 grub_normal_do_completion.
46717 (grub_cmdline_get): Use grub_normal_do_completion instead of
46718 grub_tab_complete.
46719
46720 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
46721 returns non-zero, otherwise return 0.
46722 (grub_partition_iterate): First, probe the partition map. Then,
46723 call ITERATE only for this partition map.
46724
46725 * kern/misc.c (grub_strncmp): Rewritten.
46726
46727 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
46728 returns non-zero. Otherwise return 0.
46729
46730 * include/grub/partition.h (grub_partition_map_iterate): Return
46731 int instead of void.
46732
46733 * include/grub/normal.h (grub_normal_do_completion): New prototype.
46734
46735 * include/grub/misc.h (grub_strncmp): Change the type of N to
46736 grub_size_t.
46737
46738 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
46739 of void.
46740
46741 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
46742 unsigned explicitly before comparing it with I.
46743
46744 * kern/main.c (grub_env_write_root): Add the attribute unused into
46745 VAR.
46746
46747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46748 normal/completion.c.
46749 (normal_mod_SOURCES): Likewise.
46750 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46751 (normal_mod_SOURCES): Likewise.
46752
46753 * normal/command.c (grub_iterate_commands): If ITERATE returns
46754 non-zero, return one immediately.
46755
46756 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
46757
46758 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
46759 * kern/i386/pc/startup.S: Updated Global Descriptor table's
46760 descriptions.
46761 (grub_vbe_get_controller_info): New function.
46762 (grub_vbe_get_mode_info): Likewise.
46763 (grub_vbe_set_mode): Likewise.
46764 (grub_vbe_get_mode): Likewise.
46765 (grub_vbe_set_memory_window): Likewise.
46766 (grub_vbe_get_memory_window): Likewise.
46767 (grub_vbe_set_scanline_length): Likewise.
46768 (grub_vbe_get_scanline_length): Likewise.
46769 (grub_vbe_set_display_start): Likewise.
46770 (grub_vbe_get_display_start): Likewise.
46771 (grub_vbe_set_palette_data): Likewise.
46772 * include/grub/i386/pc/vbe.h: New file.
46773
46774 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46775
46776 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46777 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
46778 * DISTLIST: Likewise.
46779 * kern/ieee1275/of.c: Moved to ...
46780 * kern/ieee1275/ieee1275.c: ... here.
46781
46782 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46783
46784 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
46785 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
46786 Pass 0 as `end' parameter to grub_strtoul().
46787
46788 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46789
46790 * include/grub/powerpc/ieee1275/console.h: Do not include
46791 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
46792 ifdef.
46793 (grub_console_cur_color): Remove i386-specific prototype.
46794 (grub_console_real_putchar): Likewise.
46795 (grub_console_checkkey): Likewise.
46796 (grub_console_getkey): Likewise.
46797 (grub_console_getxy): Likewise.
46798 (grub_console_gotoxy): Likewise.
46799 (grub_console_cls): Likewise.
46800 (grub_console_setcursor): Likewise.
46801 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
46802 Include <grub/machine/console.h>.
46803 * term/ieee1275/ofconsole.c: Likewise.
46804
46805 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
46806
46807 * Makefile.in (LIBLZO): New variable.
46808
46809 * configure.ac: Check for LZO version 2.
46810
46811 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
46812 lzo/lzo1x.h instead of lzo1x.h.
46813
46814 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
46815 of -llzo.
46816
46817 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
46818 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
46819
46820 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
46821 copying the data from PARTITION to P.
46822
46823 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46824
46825 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
46826 negative, unload the module.
46827
46828 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
46829 map is "pc_partition_map" but not "pc".
46830 (usage): Fix the description. The options are --boot-image and
46831 --core-image but not --boot-file or --core-file.
46832 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
46833 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
46834 DEFAULT_DIRECTORY.
46835
46836 * util/i386/pc/grub-install.in: Do not specify --boot-file or
46837 --core-file. Specify INSTALL_DEVICE as an argument.
46838
46839 * util/console.c: Include config.h.
46840 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
46841 [HAVE_NCURSES_H]: Include ncurses.h.
46842 [HAVE_CURSES_H]: Include curses.h.
46843 [!A_NORMAL] (A_NORMAL): Defined as zero.
46844 [!A_STANDOUT] (A_STANDOUT): Likewise.
46845
46846 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
46847 -lncurses.
46848 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
46849
46850 * configure.ac: Check for curses libraries and headers.
46851
46852 * Makefile.in (LIBCURSES): New variable.
46853
46854 * genmk.rb (Script::rule): Set the executable bits.
46855
46856 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
46857 name of the PC partition map is "pc_partition_map" but not "pc".
46858
46859 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46860
46861 * util/i386/pc/grub-install.in (grub_probefs): New variable.
46862 (modules): Likewise.
46863 (usage): Added descriptions for --modules and --grub-probefs.
46864 Handle --modules and --grub-probefs. Save the arguments in MODULES
46865 and GRUB_PROBEFS, respectively.
46866 Auto-detect a filesystem module against GRUBDIR. If the result is
46867 empty and modules are not specified explicitly, abort the
46868 installation. Add the result to MODULES.
46869
46870 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
46871 disk/powerpc/ieee1275/ofdisk.c,
46872 include/grub/powerpc/ieee1275/init.h and
46873 term/powerpc/ieee1275/ofconsole.c.
46874 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
46875 term/ieee1275/ofconsole.c.
46876
46877 * include/grub/powerpc/ieee1275/console.h: Resurrected.
46878
46879 * COPYING: Upgraded to the latest version. Only the address of the
46880 FSF office has changed.
46881
46882 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46883
46884 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46885 kern/ieee1275.c with kern/ieee1275/of.c.
46886
46887 * kern/ieee1275.c: Moved to ...
46888 * kern/ieee1275/of.c: ... here.
46889
46890 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
46891
46892 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
46893 readability.
46894
46895 * config.guess: Updated to the latest version from gnulib.
46896 * config.sub: Likewise.
46897 * install.sh: Likewise.
46898 * mkinstalldirs: Likewise.
46899
46900 * include/grub/console.h: Removed. This file is arch-specific. Do
46901 not put this in include/grub.
46902
46903 * include/grub/i386/pc/console.h: Resurrected.
46904
46905 * util/console.c: Include grub/machine/console.h instead of
46906 grub/console.h.
46907 * util/grub-emu.c: Likewise.
46908
46909 2005-08-04 Marco Gerards <metgerards@student.han.nl>
46910
46911 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
46912 hardcoded value.
46913
46914 From Vincent Pelletier <subdino2004@yahoo.fr>
46915 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
46916 Redefined to use grub_getwh.
46917 (grub_term): New member named getwh.
46918 (grub_getwh): New prototype.
46919 * kern/term.c (grub_getwh): New function.
46920 * term/i386/pc/console.c (grub_console_getwh): New function.
46921 (grub_console_term): New member `getwh'.
46922 * term/i386/pc/vga.c (grub_vga_getwh): New function.
46923 (grub_vga_term): New member `getwh'.
46924 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
46925 grub_ssize_t.
46926 (grub_ofconsole_getw): New function.
46927 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
46928 (grub_ofconsole_term): New field named getwh and new initial
46929 value.
46930
46931 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
46932
46933 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
46934 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
46935 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
46936 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
46937 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
46938 of <grub/machine/ieee1275.h>.
46939 * commands/ieee1275/reboot.c: Likewise.
46940 * boot/powerpc/ieee1275/ieee1275.c: Move ...
46941 * kern/ieee1275.c: ... to here. All users updated. Change all
46942 parameter structs to use new type `grub_ieee1275_cell_t'.
46943 * term/powerpc/ieee1275/ofconsole.c: Move ...
46944 * term/ieee1275/ofconsole.c: ... to here. All users updated.
46945 * disk/powerpc/ieee1275/ofdisk.c: Move ...
46946 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
46947 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
46948 to return int.
46949 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
46950 Remove unused prototypes. All users updated.
46951 * include/grub/powerpc/ieee1275/console.h: Removed.
46952 * include/grub/powerpc/ieee1275/ieee1275.h: Define
46953 `grub_ieee1275_cell_t'.
46954 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
46955 Cast comparisons with -1 to the correct type.
46956 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
46957 type to match `grub_ieee1275_entry_fn'.
46958
46959 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
46960
46961 * DISTLIST: Added util/i386/pc/grub-probefs.c.
46962
46963 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
46964 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
46965 partmap/sun.c.
46966 (grub_probefs_SOURCES): New variable.
46967
46968 * util/i386/pc/grub-probefs.c: New file.
46969
46970 * util/i386/pc/grub-setup.c (main): Call
46971 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
46972 grub_hfs_init and grub_jfs_init to initialize the system. Call
46973 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
46974 grub_pc_partition_map_fini to finish the system.
46975
46976 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
46977
46978 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
46979 function.
46980 (grub_multiboot_load_elf32): Likewise.
46981 (grub_multiboot_is_elf64): Likewise.
46982 (grub_multiboot_load_elf64): Likewise.
46983 (grub_multiboot_load_elf): Likewise.
46984 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
46985 an ELF32 or ELF64 file.
46986 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
46987
46988 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
46989 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
46990 NULL before calling FS->LABEL.
46991 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
46992 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
46993 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
46994 before calling FS->LABEL.
46995
46996 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
46997
46998 * util/i386/pc/grub-install.in (datadir): New variable.
46999 (libdir): Removed.
47000 (pkgdatadir): New variable.
47001 (pkglibdir): Removed.
47002
47003 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47004
47005 * DISTLIST: Added util/i386/pc/grub-install.in.
47006
47007 * util/i386/pc/grub-install.in: New file.
47008
47009 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47010 (grub_install_SOURCES): Likewise.
47011
47012 * genmk.rb: Added support for scripts.
47013 (Script): New class.
47014 (scripts): New variable.
47015
47016 * Makefile.in (install-local): Install sbin_SCRIPTS by
47017 INSTALL_SCRIPT.
47018 (uninstall): Remove sbin_SCRIPTS.
47019
47020 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47021 device, try to get a GRUB device by
47022 grub_util_biosdisk_get_grub_dev.
47023 Free DEST_DEV.
47024
47025 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47026 description for --device-map.
47027
47028 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47029
47030 Change the semantics of variable hooks. They now return strings
47031 instead of error values.
47032
47033 * util/i386/pc/grub-setup.c: Include grub/env.h.
47034 (setup): Use grub_device_set_root instead of grub_env_set.
47035
47036 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47037 grub_env_get instead of grub_device_set_root and
47038 grub_device_get_root, respectively.
47039
47040 * kern/main.c (grub_env_write_root): New function.
47041 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47042 grub_env_set instead of grub_device_set_root.
47043
47044 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47045 many variables.
47046 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47047 rather than calling ENV->WRITE_HOOK afterwards.
47048 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47049 passing a pointer of a pointer.
47050 (grub_register_variable_hook): Change the types of "read_hook" and
47051 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47052 respectively.
47053 Allocate the default empty string on the heap, because this string
47054 may be freed later.
47055
47056 * kern/device.c: Include grub/env.h.
47057 (grub_device_set_root): Removed.
47058 (grub_device_get_root): Likewise.
47059 (grub_device_open): Use grub_env_get instead of
47060 grub_device_get_root.
47061
47062 * include/grub/env.h (grub_env_read_hook_t): New type.
47063 (grub_env_write_hook_t): Likewise.
47064 (grub_env_var): Change the types of "read_hook" and "write_hook"
47065 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47066 (grub_register_variable_hook): Likewise.
47067
47068 * include/grub/device.h (grub_device_set_root): Removed.
47069 (grub_device_set_root): Likewise.
47070
47071 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47072 make sure that DIRNAME terminates with '/', so that
47073 grub_fat_find_dir will fail if PATH is not a directory.
47074
47075 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47076 from DIRNAME.
47077 Use the qualifier auto for print_files and print_files_long.
47078 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47079 as a regular file.
47080 Put a newline only if there is no error.
47081 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47082 used.
47083
47084 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47085
47086 * kern/partition.c (grub_partition_probe): Initialize PART to
47087 NULL. Otherwise, when no partition map is registered, this returns
47088 a garbage.
47089
47090 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47091
47092 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47093 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47094 valid.
47095
47096 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47097
47098 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47099 information on each device, if it does not have partitions. Print
47100 "Device" instead of "Disk", because this function is not specific
47101 to disk devices.
47102
47103 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47104 static to ensure that it is put on the memory rather than a
47105 register.
47106
47107 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
47108
47109 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47110 (grub_cat_init): Likewise.
47111 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47112 (options): Likewise.
47113 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47114 (grub_configfile_init): Likewise.
47115 * font/manager.c (GRUB_MOD_INIT): Likewise.
47116 * commands/help.c (GRUB_MOD_INIT): Likewise.
47117 (grub_help_init): Likewise.
47118 * normal/command.c (grub_command_init): Likewise.
47119 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47120 * disk/loopback.c (grub_loop_init): Likewise.
47121 (GRUB_MOD_INIT): Likewise.
47122 * commands/ls.c (grub_ls_init): Likewise.
47123 (GRUB_MOD_INIT): Likewise.
47124 (options): Likewise.
47125 * commands/boot.c (grub_boot_init): Likewise.
47126 (GRUB_MOD_INIT): Likewise.
47127 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47128 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47129 (GRUB_MOD_INIT): Likewise.
47130 * commands/cmp.c (grub_cmp_init): Likewise.
47131 (GRUB_MOD_INIT): Likewise.
47132
47133 * normal/arg.c: Use <> instead of "" to include header files.
47134 (SHORT_ARG_HELP): New macro.
47135 (SHORT_ARG_USAGE): Likewise.
47136 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47137 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47138 descriptions.
47139 (find_short): Check if C is 'h' or 'u' explicitly.
47140 (grub_arg_show_help): Use space characters instead of tabs. Treat
47141 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47142 are shown with --help and --usage only if they are not used for
47143 the command itself.
47144 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47145 'h' and 'u'.
47146
47147 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47148 const into "longarg". Change the type of "shortarg" to int.
47149
47150 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
47151
47152 * boot/i386/pc/boot.S (boot_drive_check): New label.
47153
47154 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47155 macro.
47156
47157 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47158 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47159
47160 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
47161
47162 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47163 When turning off Gate A20, skip the check and return immediately,
47164 because this is not fatal usually.
47165
47166 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
47167
47168 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47169 be 0x7C00 instead of 0x8000.
47170
47171 * boot/i386/pc/pxeboot.S: Rewritten.
47172
47173 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47174 EXT_C.
47175 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47176 result.
47177
47178 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47179
47180 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47181 robustness. This routine now supports a BIOS call and System
47182 Control Port A to modify the gate A20.
47183
47184 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47185 Increased to 0x440.
47186
47187 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47188
47189 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47190 device path and resulting ihandle.
47191 (grub_ofdisk_close): dprintf the ihandle being closed.
47192 (grub_ofdisk_read): dprintf function parameters.
47193 * kern/mm.c (grub_mm_init_region): Likewise.
47194 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47195 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47196 size, and boot arguments.
47197 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47198 before loading into memory.
47199 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47200 before loading into memory.
47201
47202 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47203
47204 * kern/mm.c: Added much documentation.
47205 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47206 8, set to 5 instead of 8.
47207
47208 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
47209
47210 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47211
47212 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47213 (grub_mkdevicemap_SOURCES): New variable.
47214
47215 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47216 lib/device.c of GRUB Legacy.
47217
47218 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
47219
47220 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47221 instead of PATH is NULL.
47222
47223 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47224
47225 * commands/cmp.c (BUFFER_SIZE): New macro.
47226 (grub_cmd_cmp): Close the right file at the right time. Compare
47227 only data just read. Don't report files of different size as
47228 identical. Dynamically allocate buffers. Move variable
47229 declarations at the beginning of function.
47230
47231 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
47232
47233 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47234 reverse.
47235
47236 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47237
47238 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47239 when backspace is pressed at beginning of line.
47240
47241 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
47242
47243 * DISTLIST: Added genfslist.sh.
47244
47245 * normal/main.c (fs_module_list): New variable.
47246 (autoload_fs_module): New function.
47247 (read_fs_list): Likewise.
47248 (grub_normal_execute): Call read_fs_list.
47249
47250 * kern/fs.c (grub_fs_autoload_hook): New variable.
47251 (grub_fs_probe): Added support for auto-loading.
47252
47253 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47254 (grub_fs_module_list_t): New type.
47255
47256 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47257 (grub_fs_autoload_hook): New prototype.
47258
47259 * genfslist.sh: New file.
47260
47261 * genmk.rb: Added a rule to generate a filesystem list.
47262
47263 2005-06-30 Marco Gerards <metgerards@student.han.nl>
47264
47265 * configure.ac: Fix the test for cross-compiling.
47266
47267 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47268 define GRUB_UTIL anymore.
47269
47270 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47271 so this function works on other systems than just big endian.
47272 (load_modules): Likewise.
47273 (add_segments): Likewise.
47274
47275 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47276
47277 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47278 contains `l' modifier, get a long from va_arg().
47279
47280 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47281
47282 * kern/mm.c (grub_free): If the next free block which is being
47283 merged is the first free block, set the first block to the block
47284 being freed.
47285 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47286
47287 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47288
47289 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47290 `grub_ieee1275_chosen'.
47291
47292 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47293
47294 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47295 (grub_ieee1275_chosen): New variable.
47296 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47297 `chosen'.
47298 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47299 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47300 Rename first argument to `phandle' for consistency.
47301 (grub_ieee1275_get_property_length): Likewise.
47302 (grub_ieee1275_next_property): Likewise. Change type of first argument
47303 to grub_ieee1275_phandle_t.
47304 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47305 Move export next to declaration.
47306 (grub_ieee1275_chosen): New variable.
47307 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47308 Correct cosmetic typo.
47309 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47310 `grub_ieee1275_chosen'.
47311 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47312 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47313 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47314 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47315 `grub_ieee1275_chosen'.
47316
47317 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47318
47319 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47320 /chosen/bootargs.
47321 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47322 /chosen/bootargs as "variable=value" pairs.
47323
47324 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47325
47326 * include/grub/misc.h (grub_dprintf): New macro.
47327 (grub_real_dprintf): New prototype.
47328 (grub_strword): Likewise.
47329 (grub_iswordseparator): Likewise.
47330 * kern/misc.c (grub_real_dprintf): New function.
47331 (grub_strword): Likewise.
47332 (grub_iswordseparator): Likewise.
47333
47334 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47335
47336 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47337 (roundup): Remove macro.
47338 (grub_ieee1275_flags): Make static.
47339 (grub_ieee1275_realmode): Remove.
47340 (grub_ieee1275_test_flag): New function.
47341 (grub_ieee1275_set_flag): Likewise.
47342 (find_options): Rename to `grub_ieee1275_find_options'; update
47343 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47344 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47345 (cmain): New prototype.
47346 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47347 `grub_ieee1275_flags' directly.
47348 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47349 machine/biosdisk.h.
47350 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47351 Don't include grub/machine/init.h.
47352 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47353 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47354 Remove prototype.
47355 (grub_ieee1275_realmode): Likewise.
47356 (grub_ieee1275_flag): New enum.
47357 (grub_ieee1275_test_flag): New prototype.
47358 (grub_ieee1275_set_flag): New prototype.
47359 * include/grub/powerpc/ieee1275/init.h: Remove file.
47360 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47361 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47362 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47363 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47364 comment.
47365 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47366 `grub_ieee1275_test_flag'.
47367 (grub_ieee1275_encode_devname): Likewise.
47368
47369 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47370
47371 * include/grub/powerpc/ieee1275/ieee1275.h
47372 (grub_ieee1275_encode_devname): New prototype.
47373 (grub_ieee1275_get_filename): Likewise.
47374 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47375 function.
47376 (grub_set_prefix): Likewise.
47377 (grub_machine_init): Call grub_set_prefix.
47378 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47379 (grub_parse_type): New enum.
47380 (grub_ieee1275_get_devargs): New function.
47381 (grub_ieee1275_get_devname): Likewise.
47382 (grub_ieee1275_parse_args): Likewise.
47383 (grub_ieee1275_get_filename): Likewise.
47384 (grub_ieee1275_encode_devname): Likewise.
47385
47386 2005-03-30 Marco Gerards <metgerards@student.han.nl>
47387
47388 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47389 `grub_loader_unset'.
47390
47391 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47392
47393 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47394 instead of grub_ieee1275_interpret.
47395 (grub_halt_init): New function.
47396 (grub_halt_fini): Likewise.
47397 (GRUB_MOD_INIT): Correct message grammar.
47398 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47399 instead of grub_ieee1275_interpret.
47400 (grub_reboot_init): New function.
47401 (grub_reboot_fini): Likewise.
47402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47403 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47404 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47405 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47406 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47407 function.
47408 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47409 Add prototype.
47410 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47411 prototype.
47412 (grub_halt): Likewise.
47413 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47414 (cmain): Remove __attribute__((unused)).
47415 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47416 (grub_heap_len): Likewise.
47417 (grub_machine_fini): New function.
47418 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47419 (grub_halt): Likewise.
47420 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47421 function.
47422 * util/powerpc/ieee1275/misc.c: New file.
47423
47424 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47425
47426 * DISTLIST: New file.
47427 * gendistlist.sh: Likewise.
47428
47429 * Makefile.in (COMMON_DISTFILES): Removed.
47430 (BOOT_DISTFILES): Likewise.
47431 (CONF_DISTFILES): Likewise.
47432 (DISK_DISTFILES): Likewise.
47433 (FS_DISTFILES): Likewise.
47434 (INCLUDE_DISTFILES): Likewise.
47435 (KERN_DISTFILES): Likewise.
47436 (LOADER_DISTFILES): Likewise.
47437 (TERM_DISTFILES): Likewise.
47438 (UTIL_DISTFILES): Likewise.
47439 (DISTFILES): Likewise.
47440 (uninstall): Uninstall files in $(pkgdata_DATA).
47441 (DISTLIST): New target.
47442 (distdir): Use the contents of the file DISTLIST to get a list of
47443 distributed files.
47444
47445 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47446
47447 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47448 descriptor. This is ported from GRUB Legacy.
47449
47450 * gencmdlist.sh: Added an extra semicolon to make it work with
47451 old sed versions. Reported by Robert Bihlmeyer
47452 <robbe@orcus.priv.at>.
47453
47454 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
47455
47456 Automatic loading of commands is supported.
47457
47458 * normal/main.c (read_command_list): New function.
47459 (grub_normal_execute): Call read_command_list.
47460
47461 * normal/command.c (grub_register_command): Return zero or CMD.
47462 Allocate CMD->NAME from the heap.
47463 Initialize CMD->MODULE_NAME to zero.
47464 Find the same name as well. If the same command is found and it is
47465 a dummy command, overwrite members. If it is not a dummy command,
47466 return zero.
47467 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47468 (grub_command_find): If a dummy command is found, load a module
47469 and retry to find a command only once.
47470
47471 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47472 make sure that each command is loaded.
47473
47474 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47475 macro.
47476 (struct grub_command): Remove const from the member `name'.
47477 Add a new member `module_name'.
47478 (grub_register_command): Return grub_command_t.
47479
47480 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47481 sure that each command is loaded.
47482
47483 * genmk.rb (PModule::rule): Specify a module name without the
47484 suffix ".mod" to gencmdlist.sh.
47485
47486 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47487
47488 * gencmdlist.sh: New file.
47489
47490 * genmk.rb (PModule::rule): Generate a rule for a command list.
47491 Clean command.lst.
47492 Generate command.lst from $(COMMANDFILES).
47493
47494 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47495 (DATA): Added $(pkgdata_DATA).
47496 (install-local): Install files in $(pkgdata_DATA).
47497
47498 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47499
47500 * term/i386/pc/vga.c (debug_command): Removed.
47501 (GRUB_MOD_INIT): Do not register the command "debug".
47502
47503 From Hollis Blanchard:
47504 * commands/configfile.c: New file.
47505 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47506 commands/configfile.c.
47507 (pkgdata_MODULES): Added configfile.mod.
47508 (configfile_mod_SOURCES): New variable.
47509 (configfile_mod_CFLAGS): Likewise.
47510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47511 commands/configfile.c.
47512 (pkgdata_MODULES): Added configfile.mod.
47513 (configfile_mod_SOURCES): New variable.
47514 (configfile_mod_CFLAGS): Likewise.
47515 * util/grub-emu.c (main): Call grub_configfile_init and
47516 grub_configfile_fini.
47517 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47518 prototype.
47519 [GRUB_UTIL] (grub_configfile_fini): Likewise.
47520
47521 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47522
47523 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47524 address.
47525
47526 * commands/help.c (grub_cmd_help): Do not print newlines after
47527 the last command in print_command_help.
47528
47529 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47530
47531 * commands/default.h: New file.
47532 * commands/timeout.h: Likewise.
47533 * normal/context.c: Likewise.
47534
47535 * util/misc.c: Do not include sys/times.h.
47536 Include sys/time.h and grub/machine/time.h.
47537 (grub_get_rtc): Rewritten with gettimeofday.
47538
47539 * util/grub-emu.c (main): Call grub_default_init and
47540 grub_timeout_init before grub_normal_init, and call
47541 grub_timeout_fini and grub_default_fini after grub_main.
47542
47543 * util/console.c (grub_ncurses_checkkey): Return the read
47544 character or -1.
47545
47546 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47547 timeouts.
47548
47549 * normal/main.c (read_config_file): Push MENU. If this fails,
47550 print an error and wait for a user input.
47551 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47552 If a menu is empty or an error occurs, pop MENU.
47553 (grub_normal_execute): Pop and free MENU after grub_menu_run
47554 returns.
47555
47556 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47557
47558 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47559 include time.h.
47560 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47561 without GRUB_UTIL.
47562 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47563 time.h.
47564 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47565 without GRUB_UTIL.
47566
47567 * include/grub/normal.h (struct grub_menu_list): New struct.
47568 (grub_menu_list_t): New type.
47569 (struct grub_context): New struct.
47570 (grub_context_t): New type.
47571 (grub_register_command): Got rid of EXPORT_FUNC.
47572 (grub_unregister_command): Likewise.
47573 (grub_context_get): New prototype.
47574 (grub_context_get_current_menu): Likewise.
47575 (grub_context_push_menu): Likewise.
47576 (grub_context_pop_menu): Likewise.
47577 [GRUB_UTIL] (grub_default_init): Likewise.
47578 [GRUB_UTIL] (grub_default_fini): Likewise.
47579 [GRUB_UTIL] (grub_timeout_init): Likewise.
47580 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47581
47582 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47583 commands/timeout.c and normal/context.c.
47584 (pkgdata_MODULES): Added default.mod and timeout.mod.
47585 (normal_mod_SOURCES): Added normal/context.c.
47586 (default_mod_SOURCES): New variable.
47587 (default_mod_CFLAGS): Likewise.
47588 (timeout_mod_SOURCES): Likewise.
47589 (timeout_mod_CFLAGS): Likewise.
47590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47591 conf/i386-pc.rmk.
47592 (pkgdata_MODULES): Added default.mod and timeout.mod.
47593 (normal_mod_SOURCES): Added normal/context.c.
47594 (default_mod_SOURCES): New variable.
47595 (default_mod_CFLAGS): Likewise.
47596 (timeout_mod_SOURCES): Likewise.
47597 (timeout_mod_CFLAGS): Likewise.
47598
47599 * Makefile.in (all-local): Added $(MKFILES).
47600
47601 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
47602
47603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
47604 (grub_emu_SOURCES): Likewise.
47605 (pkgdata_MODULES): Add `sun.mod'.
47606 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47608 `partmap/sun.c'.
47609 (pkgdata_MODULES): Add `sun.mod'.
47610 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47611 * include/grub/partition.h (grub_sun_partition_map_init): New
47612 prototype.
47613 (grub_sun_partition_map_fini): Likewise.
47614 * partmap/sun.c: New file.
47615 * util/grub-emu.c (main): Initialize and de-initialize the sun
47616 partitionmap support.
47617
47618 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
47619
47620 This implements an Emacs-like menu entry editor.
47621
47622 * normal/menu_entry.c: New file.
47623
47624 * util/console.c (grub_ncurses_putchar): Translate some Unicode
47625 characters to ASCII.
47626 (saved_char): New variable.
47627 (grub_ncurses_checkkey): Rewritten completely.
47628 (grub_ncurses_getkey): Likewise.
47629 (grub_ncurses_init): Call raw instead of cbreak.
47630
47631 * normal/menu.c (print_entry): Do not put a space.
47632 (init_page): Renamed to ...
47633 (grub_menu_init_page): ... this. All callers changed.
47634 (edit_menu_entry): Removed.
47635 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
47636
47637 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
47638
47639 * kern/misc.c (grub_vprintf): Call grub_refresh.
47640
47641 * normal/menu.c (DISP_LEFT): Renamed to ...
47642 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
47643 * normal/menu.c (DISP_UP): Renamed to ...
47644 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
47645 * normal/menu.c (DISP_RIGHT): Renamed to ...
47646 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
47647 * normal/menu.c (DISP_DOWN): Renamed to ...
47648 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
47649 * normal/menu.c (DISP_HLINE): Renamed to ...
47650 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
47651 * normal/menu.c (DISP_VLINE): Renamed to ...
47652 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
47653 * normal/menu.c (DISP_UL): Renamed to ...
47654 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
47655 * normal/menu.c (DISP_UR): Renamed to ...
47656 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
47657 * normal/menu.c (DISP_LL): Renamed to ...
47658 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
47659 * normal/menu.c (DISP_LR): Renamed to ...
47660 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
47661 * normal/menu.c (TERM_WIDTH): Renamed to ...
47662 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
47663 * normal/menu.c (TERM_HEIGHT): Renamed to ...
47664 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
47665 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
47666 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
47667 * normal/menu.c (TERM_MARGIN): Renamed to ...
47668 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
47669 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
47670 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
47671 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
47672 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
47673 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
47674 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
47675 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
47676 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
47677 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
47678 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
47679 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
47680 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
47681 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
47682 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
47683 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
47684 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
47685 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
47686 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
47687 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
47688 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
47689 All callers changed.
47690
47691 * include/grub/normal.h: New prototype.
47692
47693 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47694 normal/menu_entry.c.
47695 (normal_mod_SOURCES): Likewise.
47696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47697 (normal_mod_SOURCES): Likewise.
47698
47699 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
47700
47701 * include/grub/normal.h (grub_halt_init): New prototype.
47702 (grub_halt_fini): Likewise.
47703 (grub_reboot_init): Likewise.
47704 (grub_reboot_fini): Likewise.
47705
47706 * util/grub-emu.c: Include signal.h.
47707 (main_env): New global variable.
47708 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
47709 catch C-c.
47710 (grub_machine_fini): New function.
47711 (main): Call grub_halt_init and grub_reboot_init before
47712 grub_main, and grub_reboot_fini and grub_halt_fini after it.
47713 Call setjmp with MAIN_ENV to go back afterwards.
47714 Call grub_machine_fini right before return.
47715
47716 * include/grub/util/misc.h: Include setjmp.h.
47717 (main_env): New prototype.
47718
47719 * include/grub/kernel.h (grub_machine_fini): New prototype.
47720 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
47721 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
47722
47723 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
47724 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
47725 * term/i386/pc/console.c (grub_console_fini): Likewise.
47726
47727 * util/i386/pc/misc.c: New file.
47728
47729 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47730 util/i386/pc/misc.c, commands/i386/pc/halt.c and
47731 commands/i386/pc/reboot.c.
47732
47733 2005-02-14 Guillem Jover <guillem@hadrons.org>
47734
47735 * include/grub/dl.h (grub_dl_check_header): New prototype.
47736 (grub_arch_dl_check_header): Change return type to grub_err_t,
47737 remove size parameter and export function. Update all callers.
47738 * kern/dl.c (grub_dl_check_header): New function.
47739 (grub_dl_load_core): Use `grub_dl_check_header' instead of
47740 `grub_arch_dl_check_header'. Check ELF type. Check if sections
47741 are inside the core.
47742 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
47743 independent ELF header checks.
47744 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47745 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
47746 `grub_dl_check_header' instead of explicit checks. Check for the
47747 ELF type.
47748 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
47749 `grub_dl_check_header' instead of explicit checks. Remove arch
47750 specific ELF header checks.
47751
47752 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
47753 argument SIZE.
47754
47755 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
47756
47757 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
47758 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
47759
47760 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
47761
47762 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
47763 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
47764 (part_map_iterate): Clear `grub_errno' and return 0 if
47765 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
47766 * partmap/amiga.c (amiga_partition_map_iterate): Return
47767 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
47768 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47769
47770 2005-02-01 Guillem Jover <guillem@hadrons.org>
47771
47772 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
47773 help info.
47774
47775 2005-01-31 Marco Gerards <metgerards@student.han.nl>
47776
47777 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
47778 Removed prototype.
47779 (grub_rescue_cmd_linux): New prototype.
47780 (grub_rescue_cmd_initrd): Likewise.
47781 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
47782 `bi_rec'.
47783 (grub_linux_release_mem): Release the memory for the initrd.
47784 (grub_load_linux): Renamed from this...
47785 (grub_rescue_cmd_linux): ...To this. Changed all callers.
47786 Changed `entry' not to be static. Loop over memory regions to
47787 find another one when the default fails.
47788 (grub_rescue_cmd_initrd): New function.
47789 (grub_linux_init): Remove function.
47790 (grub_linux_fini): Likewise.
47791 (GRUB_MOD_INIT): Register `initrd'.
47792 (GRUB_MOD_FINI): Unregister `initrd'.
47793 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
47794 Function removed.
47795 (grub_linux_normal_fini): Likewise.
47796 (GRUB_MOD_INIT): Register `initrd'.
47797 (GRUB_MOD_FINI): Unregister `initrd'.
47798
47799 2005-01-31 Marco Gerards <metgerards@student.han.nl>
47800
47801 * commands/help.c: New file.
47802 * normal/arg.c (show_help): Renamed to...
47803 (grub_arg_show_help): ... this.
47804 * commands/i386/pc/halt.c: New file.
47805 * commands/i386/pc/reboot.c: Likewise.
47806 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
47807 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
47808 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
47809 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
47810 variables.
47811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47812 `commands/help.c'.
47813 (pkgdata_MODULES): Add `help.mod'.
47814 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
47815 * grub/i386/pc/init.h (grub_reboot): New prototype.
47816 (grub_halt): Likewise.
47817 * include/grub/normal.h (grub_arg_show_help): New prototype.
47818 (grub_help_init): Likewise.
47819 (grub_help_fini): Likewise.
47820 * util/grub-emu.c (main): Initialize and deinitialize the help
47821 command.
47822
47823 * normal/cmdline.c (grub_cmdline_get): Doc fix.
47824
47825 * normal/command.c (grub_command_init): Fixed the description of
47826 the `set' and `unset' commands.
47827
47828 2005-01-31 Marco Gerards <metgerards@student.han.nl>
47829
47830 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
47831 function.
47832 * commands/ieee1275/halt.c: New file.
47833 * commands/ieee1275/reboot.c: Likewise.
47834 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
47835 `__attribute__ ((unused))'. Some GCS related fixed.
47836 (grub_suspend_init) [GRUB_UTIL]: Function removed.
47837 (grub_suspend_fini): Likewise.
47838 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
47839 and `halt.mod'.
47840 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
47841 (halt_mod_CFLAGS): New variables.
47842 * include/grub/powerpc/ieee1275/ieee1275.h
47843 (grub_ieee1275_interpret): New prototype.
47844
47845 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
47846
47847 * include/grub/misc.h (memmove): New prototype.
47848 (memcpy): Likewise.
47849
47850 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
47851
47852 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
47853 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
47854
47855 2005-01-22 Marco Gerards <metgerards@student.han.nl>
47856
47857 * kern/misc.c (grub_strndup): Function rewritten.
47858
47859 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
47860
47861 * normal/menu.c (TERM_WIDTH): Macro redefined.
47862 (TERM_TOP_BORDER_Y): Likewise.
47863 (draw_border): Replaced while-loop by a for-loop. Make the number
47864 of lines consistent with the number of lines displayed in
47865 print_entries. Added a margin below the rectangle.
47866 (print_entry): Make the entry fit in the rectangle.
47867 (print_entries): Display the scroll arrows next to the right
47868 border.
47869
47870 2005-01-21 Marco Gerards <metgerards@student.han.nl>
47871
47872 * fs/minix.c (grub_minix_find_file): Reserve more space for
47873 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
47874 `grub_strncpy' to copy `path' into it.
47875
47876 2005-01-21 Marco Gerards <metgerards@student.han.nl>
47877
47878 Add the loopback device, a device via which files can be accessed
47879 as devices.
47880
47881 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
47882 (pkgdata_MODULES): Add loopback.mod.
47883 (loopback_mod_SOURCES): New variable.
47884 (loopback_mod_CFLAGS): Likewise.
47885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47886 `disk/loopback.c'.
47887 (pkgdata_MODULES): Add loopback.mod.
47888 (loopback_mod_SOURCES): New variable.
47889 (loopback_mod_CFLAGS): Likewise.
47890 * disk/loopback.c: new file.
47891 * include/grub/normal.h (grub_loop_init): New prototype.
47892 (grub_loop_fini): New prototype.
47893 * util/grub-emu.c (main): Initialize and de-initialize loopback
47894 support.
47895 * include/grub/disk.h (grub_disk_dev_id): Add
47896 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
47897
47898 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
47899
47900 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
47901 function.
47902 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
47903 (suspend_mod_SOURCES): New variable.
47904 (suspend_mod_CFLAGS): Likewise.
47905 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
47906 New prototype.
47907 * commands/ieee1275/suspend.c: New file.
47908
47909 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47910
47911 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
47912 ((unused))' to `__attribute__ ((used))'.
47913 (GRUB_MOD_FINI): Likewise.
47914 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
47915 * genmk.rb (PModule): Assign space to common symbols when linking
47916 modules.
47917
47918 2005-01-20 Marco Gerards <metgerards@student.han.nl>
47919
47920 * include/grub/mm.h (grub_mm_init_region): Change the type of the
47921 `unsigned' arguments to `grub_size_t'.
47922 (grub_malloc): Likewise.
47923 (grub_realloc): Likewise.
47924 (grub_memalign): Likewise.
47925 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
47926 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47927 * util/misc.c (grub_malloc): Likewise.
47928 (grub_realloc): Likewise.
47929 * kern/mm.c (get_header_from_pointer): Change the casts to
47930 `unsigned' into a cast to `grub_size_t'.
47931
47932 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
47933 point to `currnode' when `currnode' is changed.
47934
47935 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
47936 Schottelius <nico-linux@schottelius.org>.
47937
47938 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
47939
47940 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
47941 (note_path): Remove variable.
47942 (GRUB_IEEE1275_NOTE_NAME): New macro.
47943 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
47944 (grub_ieee1275_note_hdr): New structure.
47945 (grub_ieee1275_note_desc): Likewise.
47946 (grub_ieee1275_note): Likewise.
47947 (load_note): Remove `dir' argument. All callers updated. Remove
47948 `note_img' and `path'. Do not load a file from `note_path'.
47949 Initialize a struct grub_ieee1275_note and write that to `out'.
47950 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
47951
47952 2005-01-05 Marco Gerards <metgerards@student.han.nl>
47953
47954 * util/misc.c (grub_util_read_image): Revert last change. It
47955 called `grub_util_read_at', which seeks from the beginning of the
47956 file.
47957
47958 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
47959
47960 * TODO: Add note about endianness in grub-mkimage.
47961 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
47962 section.
47963 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
47964 (grub_mkimage_SOURCES): New target.
47965 * include/grub/kernel.h (grub_start_addr): Remove variable.
47966 (grub_end_addr): Likewise.
47967 (grub_total_module_size): Likewise.
47968 (grub_kernel_image_size): Likewise.
47969 (GRUB_MODULE_MAGIC): New constant.
47970 (grub_module_info): New structure.
47971 (grub_arch_modules_addr): New prototype.
47972 (grub_get_end_addr): Remove prototype.
47973 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
47974 * include/grub/powerpc/ieee1275/kernel.h: New file.
47975 * include/grub/util/misc.h (grub_util_get_fp_size): New
47976 prototype.
47977 (grub_util_read_at): Likewise.
47978 (grub_util_write_image_at): Likewise.
47979 * kern/main.c (grub_get_end_addr): Remove function.
47980 (grub_load_modules): Call grub_arch_modules_addr instead of using
47981 grub_end_addr. Look for a grub_module_info struct in memory. Use
47982 the grub_module_info fields instead of calling grub_get_end_addr
47983 as loop conditions. Move grub_add_unused_region code here.
47984 (grub_add_unused_region): Remove function.
47985 * kern/i386/pc/init.c: Include grub/cache.h.
47986 (grub_machine_init): Remove call to grub_get_end_addr. Remove
47987 one call to add_mem_region.
47988 (grub_arch_modules_addr): New function.
47989 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
47990 (grub_total_module_size): Likewise.
47991 Include grub/machine/kernel.h.
47992 (grub_arch_modules_addr): New function.
47993 * util/grub-emu.c (grub_end_addr): Remove variable.
47994 (grub_total_module_size): Likewise.
47995 (grub_arch_modules_addr): New function.
47996 * util/misc.c: Include unistd.h.
47997 (grub_util_get_fp_size): New function.
47998 (grub_util_read_at): Likewise.
47999 (grub_util_write_image_at): Likewise.
48000 (grub_util_read_image): Call grub_util_read_at.
48001 (grub_util_write_image): Call grub_util_write_image_at.
48002 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48003 additional memory in kernel_img for a struct grub_module_info.
48004 Fill in that grub_module_info.
48005 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48006
48007 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48008
48009 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48010 New function.
48011 * include/grub/powerpc/ieee1275/ieee1275.h
48012 (grub_ieee1275_milliseconds): New prototype.
48013 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48014 Change to 1000.
48015 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48016 grub_ieee1275_milliseconds.
48017
48018 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48019
48020 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48021 variable.
48022 (find_options): New function.
48023 (cmain): Call find_options.
48024 * include/grub/powerpc/ieee1275/ieee1275.h
48025 (grub_ieee1275_realmode): New extern variable.
48026 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48027 grub_map if grub_ieee1275_realmode is false.
48028
48029 2004-12-29 Marco Gerards <metgerards@student.han.nl>
48030
48031 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48032 lines are inserted and make it work like readline. Reported by
48033 Vincent Pelletier <subdino2004@yahoo.fr>.
48034
48035 2004-12-28 Marco Gerards <metgerards@student.han.nl>
48036
48037 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48038
48039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48040 `kern/powerpc/cache.S'.
48041
48042 2004-12-27 Marco Gerards <metgerards@student.han.nl>
48043
48044 * genmk.rb: Handle the `Program' class in the main loop. Written
48045 by Johan Rydberg <jrydberg@gnu.org>.
48046 (Program): New class.
48047 (programs): New variable.
48048 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48049 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48050 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48051 (help_arch): Function removed.
48052 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48053 `powerpc/libgcc.h' and `loader.h'.
48054 (pkgdata_PROGRAMS): New variable.
48055 (sbin_UTILITIES): Variable removed.
48056 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48057 (grubof_SOURCES): Variable re-defined so it only includes the
48058 core functionality.
48059 (grubof_CFLAGS): Remove `-DGRUBOF'.
48060 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48061 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48062 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48063 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48064 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48065 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48066 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48067 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48068 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48069 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48070 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48071 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48072 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48073 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48074 (pc_mod_CFLAGS): New variables.
48075 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48076 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48077 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48078 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48079 Moved from here...
48080 * include/grub/i386/pc/init.h (grub_os_area_addr)
48081 (rub_os_area_size): ... to here.
48082 * include/grub/powerpc/ieee1275/ieee1275.h
48083 (grub_ieee1275_entry_fn): Export symbol.
48084 * include/grub/powerpc/ieee1275/init.h: New file.
48085 * include/grub/powerpc/libgcc.h: Likewise.
48086 * include/grub/cache.h: Likewise.
48087 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48088 <hollis@penguinppc.org>.
48089 * kern/dl.c: Include <grub/cache.h>.
48090 (grub_dl_flush_cache): New function.
48091 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48092 for this module.
48093 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48094 (grub_console_init): Removed prototypes.
48095 (grub_machine_init): Don't initialize the modules anymore.
48096 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48097 static.
48098 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48099 Macro undef removed.
48100 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48101 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48102 relocation `R_PPC_REL32'. Return an error when the relocation is
48103 unknown.
48104 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48105 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48106 * util/misc.c (grub_arch_sync_caches): Likewise.
48107
48108 2004-12-19 Marco Gerards <metgerards@student.han.nl>
48109
48110 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48111 `symlist.c', add `grubof_symlist.c'.
48112 (symlist.c): Variable removed.
48113 (grubof_HEADERS): Variable added.
48114 (grubof_symlist.c): New target.
48115 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48116 `kernel_img_HEADERS'.
48117 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48118 * kern/powerpc/dl.c: New file.
48119 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48120 Function removed.
48121 (grub_arch_dl_relocate_symbols): Likewise.
48122 (grub_register_exported_symbols): Likewise.
48123
48124 2004-12-13 Marco Gerards <metgerards@student.han.nl>
48125
48126 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48127 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48128 to fail instead. Reported by Vincent Pelletier
48129 <subdino2004@yahoo.fr>.
48130
48131 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48132 it is not allocated. Reported by Vincent Pelletier
48133 <subdino2004@yahoo.fr>.
48134
48135 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48136 output so the output looks better.
48137
48138 2004-12-04 Marco Gerards <metgerards@student.han.nl>
48139
48140 Modulize the partition map support and add support for the amiga
48141 partition map.
48142
48143 * commands/ls.c: Include <grub/partition.h> instead of
48144 <grub/machine/partition.h>.
48145 * kern/disk.c: Likewise.
48146 * kern/rescue.c: Likewise.
48147 * loader/i386/pc/chainloader.c: Likewise.
48148 * normal/cmdline.c: Likewise.
48149 * kern/powerpc/ieee1275/init.c: Likewise.
48150 (grub_machine_init): Call `grub_pc_partition_map_init',
48151 `grub_amiga_partition_map_init' and
48152 `grub_apple_partition_map_init'.
48153 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48154 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48155 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48156 `partition.h' and `pc_partition.h'.
48157 (grub_setup_SOURCES): Remove
48158 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48159 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48160 (grub_emu_SOURCES): Likewise.
48161 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48162 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48163 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48165 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48166 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48167 (grubof_SOURCES): Likewise.
48168 * disk/i386/pc/partition.c: File removed.
48169 * disk/powerpc/ieee1275/partition.c: Likewise.
48170 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48171 * include/grub/i386/pc/partition.h: Likewise.
48172 * kern/partition.c: New file.
48173 * partmap/amiga.c: Likewise.
48174 * partmap/apple.c: Likewise.
48175 * partmap/pc.c: Likewise.
48176 * include/grub/partition.h: Likewise..
48177 * include/grub/pc_partition.h: Likewise.
48178 * util/grub-emu.c: Include <grub/partition.h> instead of
48179 <grub/machine/partition.h>.
48180 (main): Call `grub_pc_partition_map_init',
48181 `grub_amiga_partition_map_init' and
48182 `grub_apple_partition_map_init' and deinitialize afterwards.
48183 * util/i386/pc/biosdisk.c: Include `#include
48184 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48185 `<grub/machine/partition.h>'.
48186 * util/i386/pc/grub-setup.c: Likewise.
48187 * util/i386/pc/biosdisk.c: Likewise.
48188 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48189 partition information in case of a PC partition.
48190 * util/i386/pc/grub-setup.c: Include `#include
48191 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48192 `<grub/machine/partition.h>'.
48193 (setup): Only access the PC specific partition information in case
48194 of a PC partition.
48195
48196 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
48197
48198 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48199 (grub_longjmp): Likewise.
48200 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48201 20.
48202 * normal/powerpc/setjmp.S: New file.
48203 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48204 `normal/powerpc/setjmp.S'.
48205 (grubof_CFLAGS): Add `-DGRUBOF'.
48206 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48207 [GRUB_UTIL && !GRUBOF].
48208
48209 2004-11-16 Marco Gerards <metgerards@student.han.nl>
48210
48211 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48212 property named `name'. Correctly handle the error returned by
48213 `grub_ieee1275_finddevice' if a device can not be opened.
48214
48215 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48216
48217 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48218 `actual' for negativity.
48219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48220 kern/fshelp.c.
48221
48222 2004-11-01 Marco Gerards <metgerards@student.han.nl>
48223
48224 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48225 (PAGE_OFFSET): New macro.
48226 (CRTC_ADDR_PORT): Likewise.
48227 (CRTC_DATA_PORT): Likewise.
48228 (START_ADDR_HIGH_REGISTER): Likewise.
48229 (START_ADDR_LOW_REGISTER): Likewise.
48230 (GRAPHICS_ADDR_PORT): Likewise.
48231 (GRAPHICS_DATA_PORT): Likewise.
48232 (READ_MAP_REGISTER): Likewise.
48233 (INPUT_STATUS1_REGISTER): Likewise.
48234 (INPUT_STATUS1_VERTR_BIT): Likewise.
48235 (page): New variable.
48236 (wait_vretrace): New function.
48237 (set_read_map): Likewise.
48238 (set_start_address): Likewise.
48239 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48240 the right page.
48241 (check_vga_mem): Take the page into account.
48242 (write_char): Likewise.
48243 (write_cursor): Likewise.
48244 (scroll_up): Likewise. Copy the page to the page that is not
48245 shown and switch between both pages.
48246 (grub_vga_putchar): Fix off by one error.
48247 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48248 account.
48249
48250 2004-11-01 Marco Gerards <metgerards@student.han.nl>
48251
48252 Add support for iso9660 (including rockridge).
48253
48254 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48255 (iso9660_mod_SOURCES): New variable.
48256 (iso9660_mod_CFLAGS): Likewise.
48257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48258 * include/grub/fs.h (grub_iso9660_init): New prototype.
48259 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48260 * fs/iso9660.c: New file.
48261
48262 * include/grub/misc.h (grub_strncat): New prototype.
48263 * kern/misc.c (grub_strncat): New function.
48264
48265 * fs/hfs.c (grub_hfs_mount): Translate the error
48266 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48267 * fs/jfs.c (grub_jfs_mount): Likewise.
48268 * fs/ufs.c (grub_ufs_mount): Likewise.
48269
48270 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48271
48272 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48273 which initialized BAT registers.
48274 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48275 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48276 Move from here...
48277 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48278 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48279 ... to here.
48280 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48281 (grub_mapclaim): Likewise.
48282 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48283 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48284 hand.
48285
48286 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48287
48288 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48289 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48290 -ffreestanding and -msoft-float.
48291
48292 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48293
48294 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48295 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48296 set in grub_ieee1275_flags.
48297
48298 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48299
48300 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48301 prototype.
48302 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48303 grub_console_init first.
48304 Change the memory range used for grub_ieee1275_claim and
48305 grub_mm_init_region.
48306 Print an error message if the claim fails.
48307 Include <grub/misc.h>.
48308
48309 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48310
48311 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48312 Call grub_children_iterate for device nodes of type `scsi',
48313 `ide', or `ata'.
48314 (grub_ofdisk_open): Remove manual device alias resolution.
48315 Fix memory leak when device cannot be opened.
48316 * include/grub/powerpc/ieee1275/ieee1275.h
48317 (grub_children_iterate): New prototype.
48318 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48319 New function.
48320 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48321 Return -1 if args.size was -1.
48322
48323 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48324
48325 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48326 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48327 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48328 Open Firmware's memory for it; claim memory from _start to _end.
48329 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48330 (_end): New extern.
48331 (_start): Zero BSS from __bss_start to _end.
48332 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48333 New extern.
48334 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48335
48336 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48337
48338 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48339 -1 if args.base was -1.
48340
48341 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48342
48343 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48344 escape sequence instead of a literal ^L. Also call
48345 grub_ofconsole_gotoxy.
48346
48347 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48348
48349 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48350 void * arguments to grub_addr_t. All callers updated. Also make
48351 the `result' argument optional.
48352 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48353 All callers updated.
48354
48355 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48356
48357 * commands/ls.c (grub_ls_list_files): Use the string following the
48358 initial ')', if present, as the filesystem path.
48359 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48360
48361 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48362
48363 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48364
48365 Make the source code of the menu interface more readable.
48366
48367 * normal/menu.c: Include grub/mm.h.
48368 (TERM_WIDTH): New macro.
48369 (TERM_HEIGHT): Likewise.
48370 (TERM_INFO_HEIGHT): Likewise.
48371 (TERM_MARGIN): Likewise.
48372 (TERM_SCROLL_WIDTH): Likewise.
48373 (TERM_TOP_BORDER_Y): Likewise.
48374 (TERM_LEFT_BORDER_X): Likewise.
48375 (TERM_BORDER_WIDTH): Likewise.
48376 (TERM_MESSAGE_HEIGHT): Likewise.
48377 (TERM_BORDER_HEIGHT): Likewise.
48378 (TERM_NUM_ENTRIES): Likewise.
48379 (TERM_FIRST_ENTRY_Y): Likewise.
48380 (TERM_ENTRY_WIDTH): Likewise.
48381 (TERM_CURSOR_X): Likewise.
48382 (draw_border): Use macros instead of magic numbers.
48383 (print_entry): Likewise.
48384 (print_entries): Likewise.
48385 (run_menu): Likewise. Also, handle the key 'e'.
48386 (run_menu_entry): Ignore empty command lines.
48387 (print_message): Added a new argument EDIT. If EDIT is true,
48388 print a different message.
48389 (init_page): Likewise.
48390 (edit_menu_entry): New function. Not implemented yet.
48391
48392 2004-09-17 Marco Gerards <metgerards@student.han.nl>
48393
48394 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48395 can be loaded from normal mode.
48396
48397 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48398 `multiboot.mod'.
48399 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48400 (multiboot_mod_CFLAGS): New variables.
48401 * loader/i386/pc/linux_normal.c: New file.
48402 * loader/i386/pc/multiboot_normal.c: Likewise.
48403
48404 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48405 attribute `unused'.
48406
48407 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48408 `fdiro' to read the mode information from instead of `diro'.
48409
48410 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48411 looking up a symlink.
48412
48413 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48414 macro.
48415 * normal/command.c (grub_command_execute): Don't parse the
48416 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48417 flags of the command.
48418
48419 * normal/menu.c (grub_menu_run): Fix typo.
48420
48421 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48422
48423 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48424
48425 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48426 `y + 1' instead of `y - 1'.
48427
48428 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
48429
48430 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48431
48432 From Hollis Blanchard <hollis@penguinppc.org>:
48433 * kern/misc.c (memmove): New alias for grub_memmove.
48434 (memcmp): New alias for grub_memcmp.
48435 (memset): New alias for grub_memset.
48436 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48437 Change "int handle" to "grub_ieee1275_phandle_t handle".
48438 * include/grub/powerpc/ieee1275/ieee1275.h
48439 (grub_ieee1275_get_property): Likewise.
48440
48441 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48442
48443 Added normal mode command `chainloader' as module chain.mod, which
48444 depends on normal.mod and _chain.mod.
48445
48446 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48447 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48448 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48449 Deleted prototype.
48450 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48451 but arguments parsing moved to ...
48452 (grub_chainloader_cmd): ... here. New function.
48453 * include/grub/i386/pc/chainloader.h: New file.
48454 * loader/i386/pc/chainloader_normal.c: Likewise.
48455
48456 2004-09-11 Marco Gerards <metgerards@student.han.nl>
48457
48458 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48459 (grub_mkimage_LDFLAGS): Likewise.
48460 (grub_emu_SOURCES): Likewise.
48461 (kernel_img_HEADERS): Added fshelp.h.
48462 * fs/ext2.c: Include <grub/fshelp.h>.
48463 (FILETYPE_REG): New macro.
48464 (FILETYPE_INO_REG): Likewise.
48465 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48466 Changed all users.
48467 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48468 all users.
48469 (grub_fshelp_node): New struct.
48470 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48471 to a pointer.
48472 (grub_ext2_get_file_block): Removed function.
48473 (grub_ext2_read_block): New function.
48474 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48475 This function was written.
48476 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48477 (grub_ext2_find_file): Removed function.
48478 (grub_ext2_read_symlink): New function.
48479 (grub_ext2_iterate_dir): Likewise.
48480 (grub_ext2_open): Rewritten.
48481 (grub_ext2_dir): Rewritten.
48482 * include/grub/fshelp.h: New file.
48483 * fs/fshelp.c: Likewise.
48484
48485 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48486
48487 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48488 (print_message): Add a missing newline.
48489 (run_menu): Added timeout support.
48490 (run_menu_entry): New local function.
48491 (grub_menu_run): Added support for booting.
48492
48493 * kern/loader.c (grub_loader_is_loaded): New function.
48494
48495 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48496 (grub_get_rtc): Exported.
48497
48498 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48499 (grub_get_rtc): Exported.
48500
48501 * include/grub/normal.h (struct grub_command_list): Remove
48502 constant from the member `command'.
48503
48504 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48505
48506 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48507
48508 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48509
48510 2004-08-28 Marco Gerards <metgerards@student.han.nl>
48511
48512 Add support for the JFS filesystem.
48513
48514 * fs/jfs.c: New file.
48515 * include/grub/fs.h (grub_jfs_init): New prototype.
48516 (grub_jfs_fini): New prototype.
48517 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48518 (grub_emu_SOURCES): Likewise.
48519 (pkgdata_MODULES): Add jfs.mod.
48520 (jfs_mod_SOURCES): New variable.
48521 (jfs_mod_CFLAGS): Likewise.
48522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48523 (grubof_SOURCES): Likewise.
48524 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48525
48526 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48527 endian to the host endian.
48528 (grub_fat_utf16_to_utf8): Move function from there...
48529 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
48530 the endianness of the source string anymore.
48531 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48532
48533 2004-08-24 Marco Gerards <metgerards@student.han.nl>
48534
48535 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48536 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48537 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48538 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
48539
48540 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48541 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48542 for `node_found' and `it_dir'.
48543 (grub_hfs_dir): Add prototype for `dir_hook'.
48544
48545 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48546 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48547 and `indir32' to silence a gcc warning.
48548
48549 * include/grub/fs.h (grub_hfs_init): New prototype.
48550 (grub_hfs_fini): Likewise.
48551
48552
48553 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48554
48555 Each disk device has its own id now. This is useful to make use
48556 of multiple disk devices.
48557
48558 * include/grub/disk.h (grub_disk_dev_id): New enum.
48559 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48560 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48561
48562 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48563 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48564
48565 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48566 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48567
48568 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48569 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48570
48571 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48572 "id" which is used by the cache manager.
48573
48574 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48575 of just "GRUB".
48576
48577 2004-08-18 Marco Gerards <metgerards@student.han.nl>
48578
48579 * fs/hfs.c: New file.
48580 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48581 (grub_emu_SOURCES): Likewise.
48582 (pkgdata_MODULES): Add hfs.mod.
48583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48584 (grubof_SOURCES): Likewise.
48585 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48586
48587 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48588 * kern/misc.c (grub_strncasecmp): Add function.
48589
48590 2004-08-14 Marco Gerards <metgerards@student.han.nl>
48591
48592 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48593 with parentheses.
48594
48595 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48596 (grub_ext2_dir): In case the directory entry type is unknown, read
48597 it from the inode.
48598
48599 2004-08-02 Peter Bruin <pjbruin@dds.nl>
48600
48601 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
48602 grub_load_linux instead of grub_rescue_cmd_linux as second
48603 argument of grub_rescue_register_command.
48604
48605 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
48606
48607 2004-07-27 Marco Gerards <metgerards@student.han.nl>
48608
48609 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
48610 function.
48611 * commands/boot.c: Remove the check for `GRUB_UTIL'.
48612 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48613 `loader/powerpc/ieee1275/linux.c',
48614 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
48615 * include/grub/powerpc/ieee1275/ieee1275.h
48616 (grub_ieee1275_release): New prototype.
48617 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
48618 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
48619 normal, boot, linux and linux_normal.
48620 * loader/powerpc/ieee1275/linux.c: New file.
48621 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48622
48623 2004-07-12 Marco Gerards <metgerards@student.han.nl>
48624
48625 * normal/arg.c (grub_arg_parse): Correct error handling after
48626 reallocating the argumentlist (check if `argl' is not null instead
48627 of checking if `args' is not null).
48628 * kern/mm.c (grub_realloc): Return the same pointer when using the
48629 same region, instead of returning the header address.
48630
48631 2004-07-11 Marco Gerards <metgerards@student.han.nl>
48632
48633 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
48634 one block instead of two when looking for the initial partition.
48635 (grub_partition_probe): Initialize the local variable `p' with 0.
48636 Use base 10 for the grub_strtoul call.
48637 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
48638 need for one local variable.
48639 (grub_strtoul): Don't add the new value to `num', instead of that
48640 just assign it.
48641
48642 2004-07-11 Marco Gerards <metgerards@student.han.nl>
48643
48644 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
48645 (pxeboot_img_SOURCES): New variable.
48646 (pxeboot_img_ASFLAGS): Likewise.
48647 (pxeboot_img_LDFLAGS): Likewise.
48648 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
48649 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
48650 <lode_leroy@hotmail.com>.
48651
48652 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48653
48654 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
48655 there was no input.
48656
48657 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48658
48659 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
48660 the history buffer logic.
48661
48662 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48663
48664 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
48665 (FILETYPE_INO_SYMLINK): New macros.
48666 (grub_ext2_find_file): Check if the node is a directory using the
48667 inode stat information instead of using the filetype in the
48668 dirent. Exclude the first character of an absolute symlink.
48669 (grub_ext2_dir): Mask out the filetype part of the mode member of
48670 the inode.
48671
48672 2004-05-24 Marco Gerards <metgerards@student.han.nl>
48673
48674 Add support for UFS version 1 and 2. Add support for the minix
48675 filesystem version 1 and 2, both the variants with 14 and 30 long
48676 filenames.
48677
48678 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
48679 fs/minix.c.
48680 (grub_emu_SOURCES): Likewise.
48681 (pkgdata_MODULES): Add ufs.mod and minix.mod.
48682 (ufs_mod_SOURCES): New variable.
48683 (ufs_mod_CFLAGS): Likewise.
48684 (minix_mod_SOURCES): Likewise.
48685 (minix_mod_CFLAGS): Likewise.
48686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
48687 fs/minix.c.
48688 (grubof_SOURCES): Likewise.
48689 * fs/ufs.c: New file.
48690 * fs/minix.c: New file.
48691 * include/grub/fs.h (grub_ufs_init): New prototype.
48692 (grub_ufs_fini): Likewise.
48693 (grub_minix_init): Likewise.
48694 (grub_minix_fini): Likewise.
48695 * util/grub-emu.c (main): Initialize and deinitialize UFS and
48696 minix fs.
48697
48698 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
48699
48700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
48701 commands/ls.c, commands/terminal.c, commands/boot.c,
48702 commands/cmp.c and commands/cat.c.
48703 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
48704
48705 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
48706 "env.h"
48707
48708 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48709
48710 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
48711 and grub_, respectively. Because the conversion is trivial and
48712 mechanical, I omit the details here. Please refer to the CVS
48713 if you need more information.
48714
48715 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48716
48717 * include/pupa: Renamed to ...
48718 * include/grub: ... this.
48719 * util/i386/pc/pupa-mkimage.c: Renamed to ...
48720 * util/i386/pc/grub-mkimage.c: ... this.
48721 * util/i386/pc/pupa-setup.c: Renamed to ...
48722 * util/i386/pc/grub-setup.c: ... this.
48723 * util/pupa-emu.c: Renamed to ...
48724 * util/grub-emu.c: ... this.
48725
48726 2004-03-29 Marco Gerards <metgerards@student.han.nl>
48727
48728 Add support for the newworld apple macintosh (PPC). This has been
48729 tested on the powerbook 2000 only. It only adds support for
48730 generic ieee1275 functions, console and disk support. This should
48731 be easy to port to other architectures with support for Open
48732 Firmware.
48733
48734 * configure.ac: Accept the powerpc as host_cpu. In the case of
48735 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
48736 specific tests are only executed while building for the i386.
48737 Inverse test for crosscompile.
48738 * genmk.rb (Utility): Allow assembler files.
48739 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
48740 * conf/powerpc-ieee1275.rmk: New file.
48741 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
48742 * disk/powerpc/ieee1275/partition.c: Likewise.
48743 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
48744 * include/pupa/powerpc/ieee1275/console.h: Likewise.
48745 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
48746 * include/pupa/powerpc/ieee1275/time.h: Likewise.
48747 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
48748 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
48749 * include/pupa/powerpc/ieee1275/loader.h
48750 * include/pupa/powerpc/setjmp.h: Likewise.
48751 * include/pupa/powerpc/types.h: Likewise.
48752 * kern/powerpc/ieee1275/init.c: Likewise.
48753 * kern/powerpc/ieee1275/openfw.c: Likewise.
48754 * term/powerpc/ieee1275/ofconsole.c: Likewise.
48755
48756 These files were written by Johan Rydberg
48757 (jrydberg@night.trouble.net) and I only modified them slightly.
48758
48759 * boot/powerpc/ieee1275/cmain.c: New file.
48760 * boot/powerpc/ieee1275/crt0.S: Likewise.
48761 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
48762 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
48763
48764 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
48765
48766 * Makefile.in: Update copyright.
48767 * genmodsrc.sh: Likewise.
48768 * gensymlist.sh: Likewise.
48769 * term/i386/pc/vga.c: Indent correctly.
48770
48771 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
48772 bugreporting address.
48773 * util/i386/pc/pupa-setup.c (usage): Likewise,
48774 (main): Call pupa_ext2_init and pupa_ext2_fini.
48775
48776 * fs/fat.c (log2): Renamed to ...
48777 (fat_log2): ... this.
48778 All callers changed.
48779 * kern/misc.c (memcpy): Alias to pupa_memmove.
48780 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
48781 lvalue cast.
48782 * util/console.c (pupa_ncurses_fini): Return 0.
48783
48784 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
48785 Move fail label here.
48786 [__GNU__]: Don't warn when using stat.
48787 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
48788 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
48789 long int. Use strtol instead of strtoul.
48790
48791 2004-03-14 Marco Gerards <metgerards@student.han.nl>
48792
48793 * commands/boot.c: New file.
48794 * commands/cat.c: Likewise.
48795 * commands/cmp.c: Likewise.
48796 * commands/ls.c: Likewise.
48797 * commands/terminal.c: Likewise.
48798 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
48799 (pupa_register_command): Changed interface to match the new
48800 argument parser.
48801 (pupa_command_execute): Changed (almost rewritten) so it uses
48802 pupa_split_command. Added support for setting variables using the
48803 syntax `foo=bar'.
48804 (rescue_command): Changed to work with the new argument parser.
48805 (terminal_command): Moved from here to commands/terminal.c.
48806 (set_command): New function.
48807 (unset_command): New function.
48808 (insmod_command): New function.
48809 (rmmod_command): New function.
48810 (lsmod_command): New function.
48811 (pupa_command_init): Don't initialize the command terminal
48812 anymore. Initialize the commands set, unset, insmod, rmmod and
48813 lsmod.
48814 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
48815 (kernel_img_HEADERS): Add arg.h and env.h.
48816 (pupa_mkimage_LDFLAGS): Add kern/env.c.
48817 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
48818 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
48819 normal/arg.c.
48820 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
48821 terminal.mod.
48822 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
48823 (boot_mod_SOURCES): New variable.
48824 (terminal_mod_SOURCES): Likewise.
48825 (ls_mod_SOURCES): Likewise.
48826 (cmp_mod_SOURCES): Likewise.
48827 (cat_mod_SOURCES): Likewise.
48828
48829 * normal/arg.c: New file.
48830 * kern/env.c: Likewise.
48831 * include/pupa/arg.h: Likewise.
48832 * include/pupa/env.h: Likewise.
48833 * font/manager.c (font_command): Changed to match argument parsing
48834 interface changes.
48835 (PUPA_MOD_INIT): Likewise.
48836 * hello/hello.c (pupa_cmd_hello): Likewise.
48837 (PUPA_MOD_INIT): Likewise.
48838 * include/pupa/disk.h: Include <pupa/device.h>.
48839 (pupa_print_partinfo): New prototype.
48840 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
48841 (pupa_dl_get_prefix): Likewise.
48842 * include/pupa/misc.h: Include <pupa/err.h>.
48843 (pupa_isgraph): New prototype.
48844 (pupa_isdigit): Likewise.
48845 (pupa_split_cmdline): Likewise.
48846 * include/pupa/normal.h: Include <pupa/arg.h>.
48847 (pupa_command): Changed the prototype of the member `func' to
48848 match the argument parsing interface. Added member `options'.
48849 (pupa_register_command): Updated to match function.
48850 (pupa_arg_parse): New prototype.
48851 (pupa_hello_init) [PUPA_UTIL]: New prototype.
48852 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
48853 (pupa_ls_init) [PUPA_UTIL]: Likewise.
48854 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
48855 (pupa_cat_init) [PUPA_UTIL]: Likewise.
48856 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
48857 (pupa_boot_init) [PUPA_UTIL]: Likewise.
48858 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
48859 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
48860 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
48861 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
48862 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
48863 * kern/disk.c: Include <pupa/file.h>.
48864 (pupa_print_partinfo): New function.
48865 * kern/dl.c: Include <pupa/env.h>.
48866 (pupa_dl_dir): Variable removed.
48867 (pupa_dl_load): Use the environment variable `prefix' instead of
48868 the variable pupa_dl_dir.
48869 (pupa_dl_set_prefix): Function removed.
48870 (pupa_dl_get_prefix): Likewise.
48871 * kern/i386/pc/init.c: Include <pupa/env.h>.
48872 (pupa_machine_init): Use the environment variable `prefix' instead of
48873 using pupa_dl_set_prefix to set the prefix.
48874 * kern/main.c: Include <pupa/env.h>.
48875 (pupa_set_root_dev): Use the environment variable `prefix' instead of
48876 using pupa_dl_get_prefix to get the prefix.
48877 * kern/misc.c: Include <pupa/env.h>.
48878 (pupa_isdigit): New function.
48879 (pupa_isgraph): Likewise.
48880 (pupa_ftoa): Likewise.
48881 (pupa_vsprintf): Added support for printing values of the type
48882 `double'. Make it possible to format variable output when using
48883 formatting like `%1.2%f'.
48884 (pupa_split_cmdline): New function.
48885 * kern/rescue.c: Include <pupa/env.h>.
48886 (next_word): Removed function.
48887 (pupa_rescue_cmd_prefix): Likewise.
48888 (pupa_rescue_cmd_set): New function.
48889 (pupa_rescue_cmd_unset): New function.
48890 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
48891 split the command line instead of splitting it here. Added
48892 support for setting variables using the syntax `foo=bar'. Don't
48893 initialize the prefix command anymore. Initialized the set and
48894 unset commands.
48895 * normal/cmdline.c: Include <pupa/env.h>.
48896 (pupa_tab_complete): Added prototypes for print_simple_completion,
48897 print_partition_completion, add_completion, iterate_commands,
48898 iterate_dev, iterate_part and iterate_dir. Moved code to print
48899 partition information from here to kern/disk.c.
48900 (pupa_cmdline_run): Don't check if the function exists anymore.
48901 * normal/main.c: Include <pupa/env.h>.
48902 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
48903 instead of using pupa_dl_get_prefix to get the prefix.
48904 * term/i386/pc/vga.c: Include <pupa/arg.h>.
48905 (check_vga_mem): Cast pointers to `void *' to silence a gcc
48906 warning.
48907 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
48908 (pupa_vga_setcolor): Declare unused variables with `__attribute__
48909 ((unused))' to silence a gcc warning.
48910 (pupa_vga_setcolor): Likewise.
48911 (debug_command): Changed to match argument parsing
48912 interface changes.
48913 * util/pupa-emu.c: Include <pupa/env.h>.
48914 (options): Added 0's for unused fields to silence a gcc warning.
48915 (argp): Likewise.
48916 (main): Use the environment variable `prefix' instead of using
48917 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
48918 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
48919 and terminal.
48920
48921 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
48922 * util/misc.c: Include <malloc.h>.
48923 (pupa_malloc): Rewritten so errors are correctly reported.
48924 (pupa_realloc): Likewise.
48925 (pupa_memalign): Likewise.
48926 (pupa_mm_init_region): Declare unused variables with
48927 `__attribute__ ((unused))' to silence a gcc warning.
48928 * normal/i386/setjmp.S: Remove tab at the end of the file to
48929 silence a gcc warning.
48930 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
48931 variables with `__attribute__ ((unused))' to silence a gcc
48932 warning.
48933 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
48934 local variable i unsigned to silence a gcc warning.
48935
48936 * kern/term.c: Include <pupa/misc.h>.
48937 (pupa_more_lines): New variable.
48938 (pupa_more): Likewise.
48939 (pupa_putcode): When the pager is active pause at the end of every
48940 screen.
48941 (pupa_set_more): New function.
48942 * include/pupa/term.h (pupa_set_more): New prototype.
48943
48944
48945 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
48946
48947 Now this project is GRUB 2 rather than PUPA. The location of
48948 the CVS repository was moved to GRUB's.
48949
48950 * configure.ac: Use bug-grub as the reporting address.
48951 Use GRUB instead of PUPA.
48952 Change the version number to 1.90.
48953
48954 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
48955
48956 * genkernsyms.sh: Updated copyright information.
48957 * genmk.rb: Likewise.
48958 * genmodsrc.sh: Likewise.
48959 * gensymlist.sh: Likewise.
48960 * boot/i386/pc/boot.S: Likewise.
48961 * boot/i386/pc/diskboot.S: Likewise.
48962 * disk/i386/pc/biosdisk.c: Likewise.
48963 * disk/i386/pc/partition.c: Likewise.
48964 * font/manager.c: Likewise.
48965 * fs/ext2.c: Likewise.
48966 * fs/fat.c: Likewise.
48967 * include/pupa/boot.h: Likewise.
48968 * include/pupa/device.h: Likewise.
48969 * include/pupa/disk.h: Likewise.
48970 * include/pupa/dl.h: Likewise.
48971 * include/pupa/elf.h: Likewise.
48972 * include/pupa/err.h: Likewise.
48973 * include/pupa/file.h: Likewise.
48974 * include/pupa/font.h: Likewise.
48975 * include/pupa/fs.h: Likewise.
48976 * include/pupa/kernel.h: Likewise.
48977 * include/pupa/loader.h: Likewise.
48978 * include/pupa/misc.h: Likewise.
48979 * include/pupa/mm.h: Likewise.
48980 * include/pupa/net.h: Likewise.
48981 * include/pupa/normal.h: Likewise.
48982 * include/pupa/rescue.h: Likewise.
48983 * include/pupa/setjmp.h: Likewise.
48984 * include/pupa/symbol.h: Likewise.
48985 * include/pupa/term.h: Likewise.
48986 * include/pupa/types.h: Likewise.
48987 * include/pupa/i386/setjmp.h: Likewise.
48988 * include/pupa/i386/types.h: Likewise.
48989 * include/pupa/i386/pc/biosdisk.h: Likewise.
48990 * include/pupa/i386/pc/boot.h: Likewise.
48991 * include/pupa/i386/pc/console.h: Likewise.
48992 * include/pupa/i386/pc/init.h: Likewise.
48993 * include/pupa/i386/pc/kernel.h: Likewise.
48994 * include/pupa/i386/pc/linux.h: Likewise.
48995 * include/pupa/i386/pc/loader.h: Likewise.
48996 * include/pupa/i386/pc/memory.h: Likewise.
48997 * include/pupa/i386/pc/multiboot.h: Likewise.
48998 * include/pupa/i386/pc/partition.h: Likewise.
48999 * include/pupa/i386/pc/time.h: Likewise.
49000 * include/pupa/i386/pc/vga.h: Likewise.
49001 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49002 * include/pupa/util/getroot.h: Likewise.
49003 * include/pupa/util/misc.h: Likewise.
49004 * include/pupa/util/resolve.h: Likewise.
49005 * kern/device.c: Likewise.
49006 * kern/disk.c: Likewise.
49007 * kern/dl.c: Likewise.
49008 * kern/err.c: Likewise.
49009 * kern/file.c: Likewise.
49010 * kern/fs.c: Likewise.
49011 * kern/loader.c: Likewise.
49012 * kern/main.c: Likewise.
49013 * kern/misc.c: Likewise.
49014 * kern/mm.c: Likewise.
49015 * kern/rescue.c: Likewise.
49016 * kern/term.c: Likewise.
49017 * kern/i386/dl.c: Likewise.
49018 * kern/i386/pc/init.c: Likewise.
49019 * kern/i386/pc/lzo1x.S: Likewise.
49020 * kern/i386/pc/startup.S: Likewise.
49021 * loader/i386/pc/chainloader.c: Likewise.
49022 * loader/i386/pc/linux.c: Likewise.
49023 * loader/i386/pc/multiboot.c: Likewise.
49024 * normal/cmdline.c: Likewise.
49025 * normal/command.c: Likewise.
49026 * normal/main.c: Likewise.
49027 * normal/menu.c: Likewise.
49028 * normal/i386/setjmp.S: Likewise.
49029 * term/i386/pc/console.c: Likewise.
49030 * term/i386/pc/vga.c: Likewise.
49031 * util/console.c: Likewise.
49032 * util/genmoddep.c: Likewise.
49033 * util/misc.c: Likewise.
49034 * util/pupa-emu.c: Likewise.
49035 * util/resolve.c: Likewise.
49036 * util/unifont2pff.rb: Likewise.
49037 * util/i386/pc/biosdisk.c: Likewise.
49038 * util/i386/pc/getroot.c: Likewise.
49039 * util/i386/pc/pupa-mkimage.c: Likewise.
49040 * util/i386/pc/pupa-setup.c: Likewise.
49041
49042 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49043
49044 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49045 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49046 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49047 reading and reset it after reading.
49048 (pupa_ext2_close): Return PUPA_ERR_NONE.
49049
49050 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49051 Correct value.
49052 (struct linux_kernel_header): Add kernel_version and
49053 initrd_addr_max.
49054 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49055 pupa_file_read succeeds.
49056 (pupa_rescue_cmd_initrd): Implement.
49057
49058 2003-12-03 Marco Gerards <metgerards@student.han.nl>
49059
49060 * fs/ext2.c (pupa_ext2_label): New function.
49061 (pupa_ext2_fs): Added label.
49062 * fs/fat.c (pupa_fat_label): New function.
49063 (pupa_fat_fs): Added label.
49064 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49065
49066 * kern/misc.c (pupa_strndup): New function.
49067 * include/pupa/misc.h (pupa_strndup): New prototype.
49068
49069 * include/pupa/normal.h: Include <pupa/err.h>.
49070 (pupa_set_history): New prototype.
49071 (pupa_iterate_commands): New prototype.
49072 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49073 <pupa/disk.h>, <pupa/file.h>.
49074 (hist_size): New variable.
49075 (hist_lines): Likewise.
49076 (hist_end): Likewise.
49077 (hist_used): Likewise.
49078 (pupa_set_history): New function.
49079 (pupa_history_get): Likewise.
49080 (pupa_history_add): Likewise.
49081 (pupa_history_replace): Likewise.
49082 (pupa_tab_complete): Likewise.
49083 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49084 completion shows partitionnames while completing partitions, this
49085 feature was suggested by Jeff Bailey.
49086 * normal/command.c (pupa_iterate_commands): New function.
49087 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49088 (pupa_normal_init): Initialize history buffer.
49089 (PUPA_MOD_INIT): Likewise.
49090 (pupa_normal_fini): Free the history buffer.
49091 (PUPA_MOD_FINI): Likewise.
49092
49093 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49094 key.
49095
49096 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49097 * configure.ac [i386]: Check for regparam bug.
49098 (NESTED_FUNC_ATTR) [! i386]: Defined.
49099
49100 2003-11-17 Marco Gerards <metgerards@student.han.nl>
49101
49102 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49103 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49104 (pupa_emu_SOURCES): New variable.
49105 (pupa_emu_LDFLAGS): Likewise.
49106 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49107 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49108 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49109 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49110 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49111 (pupa_jmp_buf): New typedef.
49112 (pupa_setjmp) [PUPA_UTIL]: New macro.
49113 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49114 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49115 (pupa_refresh): New prototype.
49116 * include/pupa/util/getroot.h: New file.
49117 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49118 it.
49119 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49120 (pupa_rescue_cmd_cat): Likewise.
49121 (pupa_rescue_cmd_ls): Likewise.
49122 (pupa_rescue_cmd_testload): Likewise.
49123 (pupa_rescue_cmd_lsmod): Likewise.
49124 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49125 * normal/menu.c (run_menu): Likewise.
49126 * kern/term.c (pupa_cls): Likewise.
49127 (pupa_refresh): New function.
49128 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49129 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49130 * util/console.c: New file.
49131
49132 * util/i386/pc/getroot.c: New file.
49133 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49134 (pupa_putchar): New function.
49135 (pupa_refresh): Likewise.
49136 (xgetcwd): Function moved to ...
49137 (strip_extra_slashes): Likewise.
49138 (get_prefix): Likewise.
49139 * util/i386/pc/getroot.c: ... here.
49140 (find_root_device): Function moved and renamed to...
49141 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49142 Changed all callers.
49143 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49144 and renamed to...
49145 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49146 Changed all callers.
49147 * util/misc.c (pupa_memalign): New function.
49148 (pupa_mm_init_region): Likewise.
49149 (pupa_register_exported_symbols): Likewise.
49150 (pupa_putchar): Function removed.
49151 * util/pupa-emu.c: New file.
49152
49153 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49154
49155 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49156 (_multiboot_mod_SOURCES): New variable.
49157 (_multiboot_mod_CFLAGS): Likewise.
49158 * loader/i386/pc/multiboot.c: New file.
49159 * include/pupa/i386/pc/multiboot.h: Likewise.
49160 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49161 (pupa_multiboot_real_boot): New function.
49162 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49163 (pupa_multiboot_real_boot): New prototype.
49164 (pupa_rescue_cmd_multiboot): Likewise
49165 (pupa_rescue_cmd_module): Likewise.
49166
49167 * kern/loader.c (pupa_loader_set): Continue when
49168 pupa_loader_unload_func() fails.
49169 (pupa_loader_unset): New function.
49170 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49171
49172 * kern/misc.c (pupa_stpcpy): New function.
49173 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49174
49175 2003-11-12 Marco Gerards <metgerards@student.han.nl>
49176
49177 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49178 for available extensions.
49179
49180 * include/pupa/i386/pc/time.h: New file.
49181 * kern/disk.c: Include <pupa/machine/time.h>.
49182 (PUPA_CACHE_TIMEOUT): New macro.
49183 (pupa_last_time): New variable.
49184 (pupa_disk_open): Flush the cache when there was a timeout.
49185 (pupa_disk_close): Reset the timer.
49186 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49187 pupa_currticks.
49188 * util/misc.c: Include <sys/times.h>
49189 (pupa_get_rtc): New function.
49190
49191 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49192
49193 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49194 as blocks.
49195 (pupa_ext2_get_file_block): Use blocks member.
49196
49197 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49198 first block. Return -1 instead of pupa_errno on error.
49199
49200 2003-10-27 Marco Gerards <metgerards@student.han.nl>
49201
49202 * README: In the pupa-mkimage example use _chain instead of chain
49203 and ext2 instead of fat.
49204 * TODO: Replace ext2fs with jfs as an example. Add an item for
49205 adding journal playback for ext2fs.
49206 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49207 (pkgdata_MODULES): Added ext2.mod.
49208 (ext2_mod_SOURCES): New variable.
49209 (ext2_mod_CFLAGS): Likewise.
49210 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49211 * include/pupa/misc.h (pupa_strncpy): New prototype.
49212 (pupa_strcat): Likewise.
49213 (pupa_strncmp): Likewise.
49214 * kern/misc.c (pupa_strcat): Enable function.
49215 (pupa_strncpy): New function.
49216 (pupa_strncmp): Likewise.
49217 * fs/ext2.c: New file.
49218
49219 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49220 when the read failed before retrying.
49221 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49222 (_FILE_OFFSET_BITS): Likewise.
49223 * configure.ac: Added AC_SYS_LARGEFILE.
49224
49225 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49226
49227 * genmk.rb (PModule#rule): Make sure to get only symbol names
49228 from the output of nm.
49229 Reported by Robert Millan <rmh.grub@aybabtu.com>.
49230
49231 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49232
49233 I forgot to check in these changes for a long time. This adds
49234 incomplete support for VGA console, and this is still very
49235 buggy. Also, a lot of consideration is required for I18N,
49236 UNICODE, and VGA font issues. Therefore, assume that this is
49237 such that "better than nothing".
49238
49239 * font/manager.c: New file.
49240 * include/pupa/font.h: Likewise.
49241 * include/pupa/i386/pc/vga.h: Likewise.
49242 * term/i386/pc/vga.c: Likewise.
49243 * util/unifont2pff.rb: Likewise.
49244
49245 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49246 (pkgdata_MODULES): Added vga.mod and font.mod.
49247 (vga_mod_SOURCES): New variables.
49248 (vga_mod_CFLAGS): Likewise.
49249 (font_mod_SOURCES): Likewise.
49250 (font_mod_CFLAGS): Likewise.
49251
49252 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49253
49254 * include/pupa/term.h: Include pupa/err.h.
49255 (struct pupa_term): Added init and fini.
49256 Changed the argument of putchar to pupa_uint32_t.
49257
49258 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49259 (pupa_console_real_putchar): New prototype.
49260 (pupa_console_putchar): Removed.
49261 (pupa_console_checkkey): Exported.
49262 (pupa_console_getkey): Likewise.
49263
49264 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49265 characters.
49266
49267 * kern/term.c (pupa_term_set_current): Rewritten.
49268 (pupa_putchar): Likewise.
49269 (pupa_putcode): New function.
49270
49271 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49272 (pupa_console_real_putchar): ... this.
49273 (pupa_vga_set_mode): New function.
49274 (pupa_vga_get_font): Likewise.
49275
49276 * normal/command.c: Include pupa/term.h.
49277 (terminal_command): New function.
49278 (pupa_command_init): Register the command "terminal".
49279
49280 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49281 (DISP_UP): Likewise.
49282 (DISP_RIGHT): Likewise.
49283 (DISP_DOWN): Likewise.
49284 (DISP_HLINE): Likewise.
49285 (DISP_VLINE): Likewise.
49286 (DISP_UL): Likewise.
49287 (DISP_UR): Likewise.
49288 (DISP_LL): Likewise.
49289 (DISP_LR): Likewise.
49290
49291 * term/i386/pc/console.c (pupa_console_putchar): New function.
49292
49293 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49294
49295 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49296 FIX. Reverse the path_list.
49297
49298 * include/pupa/normal.h: Export pupa_register_command and
49299 pupa_unregister_command.
49300
49301 * hello/hello.c (pupa_cmd_hello): New module.
49302 * conf/i386-pc.rmk: Added hello.mod.
49303
49304 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49305
49306 * kern/i386/pc/lzo1x.S: New file.
49307
49308 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49309 (compress_kernel): New variable.
49310 (generate_image): Heavily modified to support compressing a
49311 large part of the core image.
49312
49313 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49314 leak.
49315 (pupa_util_load_image): New function.
49316
49317 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49318 (pupa_compressed_size): New variable.
49319 (codestart): Enable Gate A20 here.
49320 Decompress the compressed part of the core image.
49321 Rearrange the code to put functions and variables which are
49322 required for initialization in the non-compressed part.
49323 Include lzo1x.S.
49324
49325 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49326 here.
49327
49328 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49329
49330 * include/pupa/i386/pc/kernel.h
49331 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49332 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49333 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49334 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49335 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49336
49337 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49338
49339 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49340 (Utility#rule): Likewise.
49341
49342 * configure.ac: Check if LZO is available.
49343
49344 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49345
49346 * include/pupa/normal.h: New file.
49347 * include/pupa/setjmp.h: Likewise.
49348 * include/pupa/i386/setjmp.h: Likewise.
49349 * normal/cmdline.c: Likewise.
49350 * normal/command.c: Likewise.
49351 * normal/main.c: Likewise.
49352 * normal/menu.c: Likewise.
49353 * normal/i386/setjmp.S: Likewise.
49354
49355 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49356 (pupa_rescue_cmd_initrd): Likewise.
49357
49358 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49359 Likewise.
49360
49361 * kern/i386/pc/startup.S (translation_table): New variable.
49362 (translate_keycode): New function.
49363 (pupa_console_getkey): Call translate_keycode.
49364
49365 * kern/rescue.c (attempt_normal_mode): New function.
49366 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49367 it failed, print a message.
49368
49369 * kern/mm.c (pupa_real_malloc): Print more information when a
49370 free magic is broken.
49371 (pupa_free): If the first free header is not free actually, set
49372 it to P.
49373
49374 * kern/main.c (pupa_load_normal_mode): Just load the module
49375 "normal".
49376 (pupa_main): Don't print the message
49377 "Entering into rescue mode..." here.
49378
49379 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49380 Declared.
49381 (pupa_rescue_cmd_initrd): Likewise.
49382 (pupa_rescue_cmd_initrd): Likewise.
49383
49384 * include/pupa/symbol.h (FUNCTION): Specify the type.
49385 (VARIABLE): Likewise.
49386
49387 * include/pupa/err.h (pupa_err_t): Added
49388 PUPA_ERR_UNKNOWN_COMMAND.
49389
49390 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49391 (pupa_dl_get_prefix): Likewise.
49392
49393 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49394 Added _chain.mod and _linux.mod instead of chain.mod and
49395 linux.mod.
49396 (chain_mod_SOURCES): Renamed to ...
49397 (_chain_mod_SOURCES): ... this.
49398 (chain_mod_CFLAGS): Renamed to ...
49399 (_chain_mod_CFLAGS): ... this.
49400 (linux_mod_SOURCES): Renamed to ...
49401 (_linux_mod_SOURCES): ... this.
49402 (linux_mod_CFLAGS): Renamed to ...
49403 (_linux_mod_CFLAGS): ... this.
49404 (normal_mod_SOURCES): New variable.
49405 (normal_mod_CFLAGS): Likewise.
49406 (normal_mod_ASFLAGS): Likewise.
49407
49408 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49409
49410 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49411 possible.
49412
49413 * kern/dl.c (pupa_dl_ref): Refer depending modules
49414 recursively.
49415 (pupa_dl_unref): Unrefer depending modules recursively.
49416 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49417 a module is unloaded before one depending on that module is
49418 unloaded.
49419 (pupa_dl_unload): Unload depending modules explicitly,
49420 if possible.
49421
49422 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49423
49424 * include/pupa/i386/pc/linux.h: New file.
49425 * loader/i386/pc/linux.c: Likewise.
49426
49427 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49428 Removed.
49429 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49430 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49431 of PUPA_CHAINLOADER_BOOT_SECTOR.
49432
49433 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49434 (pupa_linux_prot_size): New variable.
49435 (pupa_linux_tmp_addr): Likewise.
49436 (pupa_linux_real_addr): Likewise.
49437 (pupa_linux_boot_zimage): New function.
49438 (pupa_linux_boot_bzimage): Likewise.
49439
49440 * kern/i386/pc/init.c (struct mem_region): New structure.
49441 (MAX_REGIONS): New macro.
49442 (mem_regions): New variable.
49443 (num_regions): Likewise.
49444 (pupa_os_area_addr): Likewise.
49445 (pupa_os_area_size): Likewise.
49446 (pupa_lower_mem): Likewise.
49447 (pupa_upper_mem): Likewise.
49448 (add_mem_region): New function.
49449 (compact_mem_regions): Likewise.
49450 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49451 the size of the conventional memory and that of so-called upper
49452 memory (before the first memory hole).
49453 Instead of adding each found region to free memory, use
49454 add_mem_region and add them after removing overlaps.
49455 Also, add only 1/4 of the upper memory to free memory. The rest
49456 is used for loading OS images. Maybe this is ad hoc, but this
49457 makes it much easier to relocate OS images when booting.
49458
49459 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49460 (pupa_enter_rescue_mode): Don't register initrd and module.
49461
49462 * kern/mm.c: Include pupa/dl.h.
49463
49464 * kern/main.c: Include pupa/file.h and pupa/device.h.
49465
49466 * kern/loader.c (pupa_loader_load_module_func): Removed.
49467 (pupa_loader_load_module): Likewise.
49468
49469 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49470 ``.o''.
49471
49472 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49473 (pupa_linux_tmp_addr): Likewise.
49474 (pupa_linux_real_addr): Likewise.
49475 (pupa_linux_boot_zimage): Likewise.
49476 (pupa_linux_boot_bzimage): Likewise.
49477
49478 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49479 (pupa_upper_mem): Likewise.
49480 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49481 module is too dangerous.
49482
49483 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49484 (pupa_os_area_size): Likewise.
49485 (pupa_loader_set): Remove the first argument. Loader doesn't
49486 manage modules or initrd any longer.
49487 (pupa_loader_load_module): Removed.
49488
49489 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49490 (linux_mod_SOURCES): New variable.
49491 (linux_mod_CFLAGS): Likewise.
49492
49493 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49494
49495 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49496 the length of a blocklist correctly.
49497
49498 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49499 Use ioctl only if the OS file is a block device.
49500 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49501 not very useful for normal files.
49502
49503 * kern/main.c (pupa_set_root_dev): New function.
49504 (pupa_load_normal_mode): Likewise.
49505 (pupa_main): Call those above.
49506
49507 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49508 pupa_uint16_t.
49509
49510 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49511
49512 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49513
49514 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49515 (setup): Configure the installed partition information and the
49516 dl prefix.
49517
49518 * loader/i386/pc/chainloader.c (my_mod): New variable.
49519 (pupa_chainloader_unload): New function.
49520 (pupa_rescue_cmd_chainloader): Refer itself.
49521 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49522
49523 * kern/i386/pc/startup.S (install_partition): Removed.
49524 (version_string): Likewise.
49525 (config_file): Likewise.
49526 (pupa_install_dos_part): New variable.
49527 (pupa_install_bsd_part): Likewise.
49528 (pupa_prefix): Likewise.
49529 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49530
49531 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49532 and pupa/misc.h.
49533 (make_install_device): New function.
49534 (pupa_machine_init): Set the dl prefix.
49535
49536 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49537 (buf): Renamed to ...
49538 (linebuf): ... this.
49539 (pupa_rescue_cmd_prefix): New function.
49540 (pupa_rescue_cmd_insmod): Likewise.
49541 (pupa_rescue_cmd_rmmod): Likewise.
49542 (pupa_rescue_cmd_lsmod): Likewise.
49543 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49544 rmmod and lsmod.
49545
49546 * kern/mm.c (pupa_memalign): If failed even after invalidating
49547 disk caches, unload unneeded modules and retry.
49548
49549 * kern/misc.c (pupa_memmove): New function.
49550 (pupa_memcpy): Removed.
49551 (pupa_strcpy): New function.
49552 (pupa_itoa): Made static.
49553
49554 * kern/dl.c (pupa_dl_iterate): New function.
49555 (pupa_dl_ref): Likewise.
49556 (pupa_dl_unref): Likewise.
49557 (pupa_dl_unload): Return if succeeded or not.
49558 (pupa_dl_unload_unneeded): New function.
49559 (pupa_dl_unload_all): Likewise.
49560 (pupa_dl_init): Renamed to ...
49561 (pupa_dl_set_prefix): ... this.
49562 (pupa_dl_get_prefix): New function.
49563
49564 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49565 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49566 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49567 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49568 (pupa_install_dos_part): Declared.
49569 (pupa_install_bsd_part): Likewise.
49570 (pupa_prefix): Likewise.
49571 (pupa_boot_drive): Likewise.
49572
49573 * include/pupa/types.h: Fix a typo.
49574
49575 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49576 pupa_memmove.
49577 (pupa_memmove): Declared.
49578 (pupa_strcpy): Likewise.
49579
49580 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49581 pupa_mod_init takes one argument, its own module.
49582 (pupa_dl_unload_unneeded): Declared.
49583 (pupa_dl_unload_all): Likewise.
49584 (pupa_dl_ref): Likewise.
49585 (pupa_dl_unref): Likewise.
49586 (pupa_dl_iterate): Likewise.
49587 (pupa_dl_init): Renamed to ...
49588 (pupa_dl_set_prefix): ... this.
49589 (pupa_dl_get_prefix): Declared.
49590
49591 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
49592 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
49593 unloaded.
49594 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49595 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49596
49597 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
49598 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
49599
49600 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49601
49602 * util/i386/pc/pupa-setup.c (setup): Define the internal
49603 function find_first_partition_start at the top level, because GCC
49604 3.0.x cannot compile internal functions in deeper scopes
49605 correctly.
49606 (find_root_device): Use lstat instead of stat.
49607 Don't follow symbolic links.
49608 Fix the path-constructing code.
49609
49610 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
49611 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
49612 by a BLKGETSIZE ioctl first, because block devices don't fill
49613 the member st_mode of the structure stat on Linux.
49614 [__linux__] (linux_find_partition): Use a temporary buffer
49615 REAL_DEV for the working space. Copy it to DEV before returning.
49616 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
49617 buffer cache consistent.
49618 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
49619 strncmp. The previous value was merely wrong.
49620 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
49621
49622 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
49623 FAT size is 12. The previous value was merely wrong.
49624
49625 * kern/main.c (pupa_main): Don't split the starting message from
49626 newlines.
49627
49628 * kern/term.c (pupa_putchar): Put CR after LF instead of before
49629 LF, because BIOS goes crazy about character attributes in this
49630 case.
49631
49632 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49633
49634 * include/i386/pc/util/biosdisk.h: New file.
49635 * util/i386/pc/biosdisk.c: Likewise.
49636 * util/i386/pc/pupa-setup.c: Likewise.
49637
49638 * Makefile.in (INCLUDE_DISTFILES): Added
49639 include/pupa/i386/pc/util/biosdisk.h.
49640 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
49641 directory util/i386/pc.
49642 (install-local): Added a rule for sbin_UTILITIES.
49643 (uninstall): Likewise.
49644
49645 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
49646
49647 * util/misc.c (xrealloc): New function.
49648 (pupa_malloc): Likewise.
49649 (pupa_free): Likewise.
49650 (pupa_realloc): Likewise.
49651 (pupa_stop): Likewise.
49652 (pupa_putchar): Likewise.
49653
49654 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
49655
49656 * include/pupa/util/misc.h (xrealloc): Declared.
49657
49658 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
49659 macro.
49660 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
49661 (PUPA_BOOT_MACHINE_BPB_END): ... this.
49662
49663 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
49664 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49665
49666 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
49667 way should be implemented.
49668 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49669
49670 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
49671 the size of NAME for safety.
49672 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
49673 0x88.
49674
49675 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
49676 (pupa_setup_SOURCES): Likewise.
49677
49678 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
49679
49680 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49681
49682 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
49683 bunch of pushl's from pusha, because this destroys the return
49684 value.
49685
49686 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49687
49688 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
49689 This means that any missing prototypes could be fatal. Also, you
49690 must take care when writing assembly code. See the comments at
49691 the beginning of startup.S, for more details.
49692
49693 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
49694 compilation mechanism.
49695 (pupa_chainloader_real_boot): Likewise.
49696 (pupa_biosdisk_rw_int13_extensions): Likewise.
49697 (pupa_biosdisk_rw_standard): Likewise.
49698 (pupa_biosdisk_check_int13_extensions): Likewise.
49699 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
49700 (pupa_biosdisk_get_diskinfo_standard): Likewise.
49701 (pupa_get_memsize): Likewise.
49702 (pupa_get_mmap_entry): Likewise.
49703 (pupa_console_putchar): Likewise.
49704 (pupa_console_setcursor): Likewise.
49705 (pupa_getrtsecs): Use pushl instead of push.
49706
49707 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
49708 memory instead of the stack for a mmap entry, because some
49709 BIOSes may ignore the maximum size and overflow.
49710
49711 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
49712
49713 * genmk.rb (PModule#rule): Compile automatically generated
49714 sources with module-specific CFLAGS as well as other sources.
49715
49716 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49717
49718 * configure.ac: Check ld.
49719 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
49720 respectively, before checking endianness and sizes.
49721
49722 * Makefile.in (LD): New variable.
49723
49724 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49725
49726 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
49727
49728 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49729
49730 * Changelog: New file.
49731